Commit Graph

8610 Commits

Author SHA1 Message Date
Vadim Zeitlin
9b42a9adc2 Check string length correctly in wxFileSystem::URLToFileName().
Check that the string is long enough before accessing its first and second
characters to fix a crash when an empty or one-character string was passed to
wxFileSystem::URLToFileName().

Closes #13920.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-03 17:27:21 +00:00
Vadim Zeitlin
406a0ab32c Fix speed regression in wxFileHistory::AddFileToHistory().
Avoid full normalization including wxPATH_NORM_LONG when adding files to
wxFileHistory as this can take a very long time when using network paths under
Windows.

Closes #13915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-03 17:27:13 +00:00
Vadim Zeitlin
d8b130867c Set the file name for temporary wxFFile objects.
Pass the name of the temporary file to wxFFile::Attach(). This allows to give
more useful error messages if any operation on this file fails later.

Closes #13903.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-31 19:38:45 +00:00
Vadim Zeitlin
c84ef5b9f7 Fix wxHTTP::SetPostBuffer() compilation in ANSI build.
wxString::mb_str() returns a raw pointer and not wxScopedCharBuffer when
wxUSE_UNICODE==0 so fix the code to do it differently in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-31 13:09:11 +00:00
Stefan Csomor
39cfb4b2ad fixing the routing of UpdateUI to the window by just passing NULL as source
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-30 16:05:03 +00:00
Vadim Zeitlin
2ba61518f4 Fix return value of wxMBConvUTF8::FromWChar().
Apply the same fix as was done in r68694 for ToWChar() to FromWChar(): it also
returned an off by 1 value when not using MAP_INVALID_UTF8_NOT.

Closes #13400.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-25 00:10:44 +00:00
Vadim Zeitlin
8c85eb7b47 Update wxCommandProcessor after saving wxDocument.
Surprisingly, wxCommandProcessor::MarkAsSaved() method was never called by
wxDocument so saving the document didn't update wxCommandProcessor dirty
status.

Do add a call to MarkAsSaved() now, this allows wxCommandProcessor to track
its status correctly (and actually more correctly than the dirty status of the
document which becomes "dirty" after doing and undoing an operation after
saving it, unlike wxCommandProcessor::IsDirty() which correctly returns false
in this case).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-25 00:05:15 +00:00
Vadim Zeitlin
812a21486d Fix wxCommandProcessor::IsDirty() result after undoing everything after save.
IsDirty() returned false when all commands were undone after saving even
though it clearly should have returned true in this case.

Fix this and add comments explaining what happens in this method.

Closes #2862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-25 00:05:12 +00:00
Vadim Zeitlin
ef20428e99 Don't compare invalid iterators in wxCommandProcessor::IsDirty().
Check that m_lastSavedCommand is valid before comparing it with
m_currentCommand as comparing invalid iterators results in an assert in STL
build (and probably should also result in an assert in non-STL build too for
consistency).

Also move IsDirty() implementation out of line to make it easier to modify it
further in the future and because there is no real reason to keep it inline.

Closes #13465.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-25 00:05:09 +00:00
Vadim Zeitlin
d928f01967 Fix setting frame icon when using non-standard icon sizes in wxMSW.
Set the closest (and larger, if possible) icon if the icon of exactly the
system icon size is not available. This fixes setting the icons when using
custom DPI settings under MSW as the standard icon size may be different from
the standard 32*32 in this case.

This also improves wxIconBundle::GetIcon() to make its behaviour when the icon
with exactly the given size is not found more flexible as a side effect.

Closes #13891.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-24 22:17:47 +00:00
Vadim Zeitlin
6e43a69f06 Fix wxTextAttr::m_fontStrikethrough initialization.
The code added in r70447 didn't initialize m_fontStrikethrough correctly.

This fixes unit test failures for wxRichTextCtrl that appeared since this
change.

See #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 12:33:03 +00:00
Vadim Zeitlin
c7a49742ec Add support for stricken-through fonts.
Support stricken-through fonts in wxMSW and wxGTK (including special support
in wxStaticText and wxTextCtrl).

Closes #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:28 +00:00
Vadim Zeitlin
0634700a96 Add wxFont ctor taking a single flags argument instead of style/weight/...
Currently this ctor just does the same thing as the existing ctors in a
different way but it will be extended to support wxFONTFLAG_STRIKETHROUGH in
the next commits.

See #9907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:21 +00:00
Vadim Zeitlin
5c7fe47762 Fix wxAffineMatrix2D::Translate() to multiply on the left.
The affine transform was previously multiplied by the translation matrix on
the right but this was incompatible with both the MSW version of the same
method and all the other methods of the generic version.

So multiply the transform by the translation on the left, as everywhere else.

Closes #13875.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:16 +00:00
Vadim Zeitlin
421388f204 Fix time zone in wxDateTime::UNow().
The internal wxDateTime representation is in the UTC, so use
wxGetUTCTimeMillis() in UNow(), using wxGetLocalTimeMillis() made it
inconsistent with Now() and wrong.

Really closes #13862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 22:11:55 +00:00
Dimitri Schoolwerth
2d143b6689 Removed ellipsis from "About..." occurrences.
MS and Apple guidelines mention ellipses should generally be used when a command needs additional information from the user before the operation can execute. This is not the case for showing an about dialog so the ellipses have been removed.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 16:51:09 +00:00
Vadim Zeitlin
ab9d6a4c8b Add SetPostBuffer(wxMemoryBuffer) and SetPostText() to wxHTTP.
This allows to post binary data or text data in e.g. UTF-8 encoding (which is
by far the most common case) easily.

Deprecate the existing SetPostBuffer(wxString) as it didn't explicitly specify
the encoding to use for the data to be posted.

Closes #13870.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 12:22:25 +00:00
Vadim Zeitlin
e1db4c1290 Avoid needless second string conversion when adding files to memory FS.
Create the buffer holding the result of conversion instead of converting
twice, once to only get the length of the result and the second time to get
the data.

Closes #13877.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-18 19:42:58 +00:00
Václav Slavík
907f09f44b Replace wxDataViewCtrl::StartEditor() with EditItem().
This is more consistent with other wxDVC methods (taking column pointer
as its argument) and other DVC-like classes where the name EditLabel()
is used for similar purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-17 14:05:17 +00:00
Vadim Zeitlin
0e1f8ea4a3 Remove wxMGL port.
The company behind MGL toolkit (SciTech) doesn't exist since several years and
this port is not used by anybody, so remove it to ease maintenance burden.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 14:46:41 +00:00
Vadim Zeitlin
bd362275b8 Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 01:05:28 +00:00
Václav Slavík
5313727812 Make column width calculations in wxDataViewCtrl and wxHeaderCtrl consistent.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-14 16:51:57 +00:00
Vadim Zeitlin
8c7114c227 Call tzset() for all compilers before using time zone variable.
Changes of r66245 shouldn't have been specific to MSVC, we must call tzset()
when using any other compiler as well, otherwise time zone information can be
initially incorrect.

Closes #13862.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-13 11:36:33 +00:00
Vadim Zeitlin
d58c7af849 Use wxAbort() instead of abort() to fix Windows CE build.
abort() is not defined under CE.

Closes #13847.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-10 17:01:17 +00:00
Vadim Zeitlin
975dc6910e Added wxAbort() which can also be used under Windows CE.
Windows CE doesn't have abort() so provide a wrapper which can be used even
there (see #13847).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-10 17:01:13 +00:00
Vadim Zeitlin
ebd98179c5 Use wxT() instead of _T() in XTI code.
_T() is deprecated and doesn't work with Solaris compiler, use wxT() instead.

Also change one occurrence of _T() inside a comment in wx/debug.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 18:48:39 +00:00
Dimitri Schoolwerth
d9384bfb6d no code changes, fixed some typos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 14:04:25 +00:00
Vadim Zeitlin
0fb731b8bf Add support for wxLIST_AUTOSIZE_USEHEADER to InsertColumn().
Use the fixed default width in InsertColumn() by default for compatibility but
allow more useful behaviour in it by supporting wxLIST_AUTOSIZE_USEHEADER as
well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:51 +00:00
Vadim Zeitlin
c23edb1b71 Add convenient wxListCtrl::AppendColumn() wrapper.
In the vast majority of cases, columns are just appended to the end and not
inserted at arbitrary positions in wxListCtrl so provide a convenient wrapper
to do this, especially as it's really trivial to do it now when it can be done
only once at wxListCtrlBase level.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:47 +00:00
Vadim Zeitlin
94248d2ed1 Implement best size calculation for report mode wxListCtrl.
Use the column labels to determine the minimal width required by the control
to show them all in full.

Also declare all image list and column-related wxListCtrl methods in
wxListCtrlBase now as we need some of them in DoGetBestClientSize()
implementation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-07 15:09:43 +00:00
Vadim Zeitlin
444bc2b24d Implement support for "%z" in wxDateTime::Format() and Parse().
"%z" specifier can now be used when printing the dates out to specify the time
zone and is also recognized when parsing dates.

Closes #1215.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-05 00:47:10 +00:00
Vadim Zeitlin
8709d9472b Allow using '(' and ')' in wxFileConfig entry names unescaped.
There is no real reason to escape the parentheses in the key entries, they're
not special.

Closes #13584.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:11:11 +00:00
Vadim Zeitlin
9df70d797b Don't send idle events to the windows about to be destroyed.
This is useless and can apparently result in some problems as of r25877 and
r25877 (from 8 years ago) added explicit checks preventing processing such
events in wxToolBar and wxMenu. Instead, simply don't generate these events in
the first place and also remove the now unnecessary checks for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-29 22:05:31 +00:00
Vadim Zeitlin
0d68cd1359 Add standard art providers at the bottom of the art providers stack.
This ensures that any user-defined art providers will be in front of them,
even when they are added at module-initialization time i.e. possibly before
the standard ones.

Closes #12519.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:29 +00:00
Vadim Zeitlin
91452726c2 Use best controller size in wxBookCtrl best size calculation.
Don't use GetControllerSize() which returns the actual, not the best, size of
the controller.

Closes #11793.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:25 +00:00
Vadim Zeitlin
c2cd367f7d Use memmove() instead of memcpy() in wxString::AssignCopy().
This at least allows the code like "s = s.c_str()" to work correctly when
using our own wxString implementation, even it doesn't fix all
self-assignment-related bugs (again, when using our own implementation only,
there is no bug when using std::basic_string as underlying implementation).

This is a cherry pick of r63008 from 2.8 branch.

See #11245.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:13 +00:00
Vadim Zeitlin
7716a165ef Don't use deprecated wxArtProvider::Insert().
Ironically, it was 2.6 compatibility code that was using the function
deprecated after 2.8. In any case, just use the newest name for it.

Closes #13393.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:36 +00:00
Vadim Zeitlin
e718eb9840 Fix wxLogFormatter compilation under MSW.
Fix wxMSW compilation after the changes of r70086.

Closes #13792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 16:36:47 +00:00
Vadim Zeitlin
4ffdb64018 Add wxLogFormatter to allow easier wxLog output customization.
Delegate the log string creation to wxLogFormatter. This allows defining a
custom object of a class derived from it to customize the log output instead
of having to override DoLogRecord() in wxLog itself.

Closes #13792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-22 13:35:01 +00:00
Vadim Zeitlin
1c959a62ce Add possibility to set item background in generic wxDataViewCtrl.
Added wxDataViewItemAttr::SetBackgroundColour() and code to honour it in the
generic implementation of wxDataViewCtrl.

Closes #12621.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-19 12:54:38 +00:00
Dimitri Schoolwerth
a57ea0102f Fixed unreferenced parameter warning.
Parameter xmpData was unused in wxImage::Create when compiling with wxUSE_XPM set to 0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-17 01:13:22 +00:00
Vadim Zeitlin
0c717dd16b Compilation fix for wxStopWatch with wxUSE_THREADS==0.
Use wxCRIT_SECT_DECLARE_MEMBER/wxCRIT_SECT_LOCKER macros which expand to
nothing in wxUSE_THREADS==0 case instead of using wxCriticalSection[Locker]
classes which are not defined then.

Also explicitly include wx/thread.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-15 21:13:03 +00:00
Václav Slavík
c9d3d00cdf Remove unnecessary m_editorCtrl assignment.
m_editorCtrl is WeakRef<>, so doing it is pointless, and it breaks VC6
compilation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-14 17:38:19 +00:00
Václav Slavík
a85b4023d1 Close wxDataViewCtrl inline editor when destroying the control.
If the wxDataViewCtrl control was destroyed while an inline editor
control was still active, it wouldn't get destroyed in the right order
and the ~wxWindow assert about unpopped event handlers would be
triggered.

Fix this by popping the handler as one of the first things in
wxDataViewRendererBase destructor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-14 16:00:30 +00:00
Vadim Zeitlin
d4cf50c8b2 Remove the item before notifying about it in wxDataViewIndexListModel.
Remove the item from the internal representation of the model before calling
ItemDeleted() callback so that the callback sees the model in a consistent
state.

This is more consistent with the other callbacks (e.g. ItemAdded()) and other
models (e.g. wxDataViewVirtualListModel) and should fix crashes in wxOSX
version of the control.

Closes #13753.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-12 13:08:46 +00:00
Vadim Zeitlin
46e9b34a60 Always give error message when file-related functions fail.
Some failures in the file functions that usually did give error messages were
not reported, do log these errors too now.

Closes #13576.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-12 13:08:43 +00:00
Paul Cornett
91614f1aa3 don't include files which may not exist in source release for a specific platform, fixes #13746
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-11 05:36:52 +00:00
Stefan Csomor
9c17ca3fe6 avoid accepting an invalid color, ignore it, as other ports do, fixes #13720
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-09 15:23:37 +00:00
Vadim Zeitlin
25fe875df6 Restore mouse capturing/releasing in wxPopupTransientWindow under MSW.
Partially revert the changes of r69350 to restore EVT_IDLE handling of
wxPopupTransientWindow under MSW. It turns out that we must release the mouse
for the embedded controls to work.

It would be better to solve the problem differently, e.g. perhaps maybe only
releasing mouse capture when mouse is clicked as the current code is fragile
but for now at least restore the functionality that used to work.

Closes #13740.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-09 15:20:55 +00:00
Vadim Zeitlin
1863484b08 Use '1'..'9' to simulate digits instead of WXK_NUMPADn.
Using WXK_NUMPADn with wxUIActionSimulator doesn't work under Unix, the
resulting GDK events have wrong keyval for some reason.

It would, of course, be nice to fix this but in the meanwhile use ASCII codes
to simulate the digits to at least allow doing this at all.

Also extend uiaction sample to allow testing text simulation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-08 15:55:40 +00:00