Commit Graph

8636 Commits

Author SHA1 Message Date
Vadim Zeitlin
d361ea0db5 Pass the original format to wxDataObjectSimple in wxDataObjectComposite.
Some "simple" data objects, such as wxTextDataObject, are actually not simple
and support multiple formats so pass the real format to them so that they
could do the right thing.

Closes #14101.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-15 13:49:49 +00:00
Julian Smart
67d3242ada Don't scale 16x15 to 16x16 - fixes corruption of bookmark icons in help window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-13 17:23:58 +00:00
Paul Cornett
b2596741a2 remove unused parameter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-10 16:58:05 +00:00
Vadim Zeitlin
1f29ecb357 Check for iterator validity when parsing "%%" in wxDateTime::Format() too.
This is similar to the previous commit and adds another missed check for the
iterator not being at the end of string.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70847 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-09 01:09:25 +00:00
Vadim Zeitlin
649148f93e Check for end of string when parsing "%z" in wxDateTime::Format().
We could dereference an invalid iterator when parsing "%z", check for this in
the code and add a unit test for this case.

Closes #14075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-09 01:09:20 +00:00
Paul Cornett
be88fea9ea adjust Blit destination rect if source rect is clipped
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-08 17:06:06 +00:00
Vadim Zeitlin
e94f303173 Deprecate wxWindow::MakeModal().
Using this function was never the right way to show a modal window and it
didn't really work correctly. Instead of futilely trying to fix it, just
deprecate it.

Closes #1561.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-07 23:50:21 +00:00
Julian Smart
a74fd54602 Restored correct RTTI for wxNotebook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-05 18:00:34 +00:00
Vadim Zeitlin
bddea8d14f Override AdjustForParentClientOrigin() in wxNonOwnedWindow to do nothing.
No real changes, just replace an IsTopLevel() check in the base class
implementation of AdjustForParentClientOrigin() and override it for all top
level windows in wxNonOwnedWindow instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-05 13:00:55 +00:00
Vadim Zeitlin
bb5a951418 Use __WINDOWS__ for OS checks and __WXMSW__ for GUI checks (round 2).
This is continuation of r70796 and serves the same purpose.

Closes #14065, #14066.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 20:31:42 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
2e3407de5c Fix assert when editing an item in multi-selection wxTreeCtrl.
Don't use GetSelection() in wxTreeCtrl EVT_CHAR_HOOK handler as it can only be
used with single selection controls and results in an assert when used with
multi-selection ones. Simply use GetFocusedItem() instead.

Closes #14062.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:21 +00:00
Vadim Zeitlin
3285e9a347 Fix showing MDI child from wxDocManager::ActivateDocument().
This fix has 2 components: first, call Raise() instead of simple SetFocus()
from ActivateDocument() as this corresponds better to what we want to do here.
And second, override Raise() to call Activate() in wxMDIChildFrame to ensure
that it works as expected as raising an MDI child doesn't work otherwise in
most ports (with the exceptions for wxOSX which, on the contrary, needs a
small fix to preserve the existing working Raise() behaviour).

Closes #13946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:03 +00:00
Vadim Zeitlin
59859d3da1 Replace incorrect uses of wxString::empty() with the intended clear().
empty() doesn't empty the string but just checks for its emptiness, clear()
was supposed to be used here instead.

Thanks to PVS-Studio for finding these problems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-29 13:58:58 +00:00
Vadim Zeitlin
1b4bff8262 Add minimal support for building non-GUI parts of wxWidgets for Android.
Recognize __ANDROID__ in wx/platform.h and include the appropriate headers
from wx/android.

Also fix a couple of compilation errors (in filename.cpp) and warnings (in
event.h) which only appear when building for Android.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70703 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-26 20:24:25 +00:00
Vadim Zeitlin
4dfc0ca0c5 Suppress harmless MSVC warnings about int to bool conversions.
Convert int to bool explicitly to avoid MSVC warning C4800.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:53 +00:00
Vadim Zeitlin
0f4bf6ac80 Don't assert in wxLocale::IsAvailable() if language is not supported.
We can fail to find language information if we're called with
wxLANGUAGE_DEFAULT and we don't support the current system language.

Closes #14039.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:39 +00:00
Vadim Zeitlin
7c9b6c9111 Compare file inodes if possible in wxFileName::SameAs().
This allows to correctly return when the two files with different names
actually refer to the same file system object.

Closes #910.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-25 23:49:35 +00:00
Vadim Zeitlin
6bed673eb3 Don't crash in wxImage::SaveFile() if MIME type is not recognized.
Insert a missing "return false" whose lack resulted in a crash if the handler
for the given MIME type wasn't found.

Closes #14028.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-20 21:57:17 +00:00
Vadim Zeitlin
af46dd7bb8 Allow handling EVT_UPDATE_UI for wxID_UNDO/REDO at wxDocument level.
Don't require using wxCommandProcessor for this, only use it if it exists.

Closes #14011.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-20 21:56:55 +00:00
Vadim Zeitlin
996d3fe3f8 Added wxFileName::Exists().
This function checks for existence of anything with the given name, not
necessarily just a file or a directory.

Extend the unit test to verify that it returns true for /dev/null on Unix
systems.

Closes #953.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-15 15:39:46 +00:00
Vadim Zeitlin
901504c383 Refactor wxFileName existence checking code.
Merge FileExists() and DirExists() together in a single
wxFileSystemObjectExists() helper in preparation for adding a function
checking for the existence of any kind of file system object.

There should be no changes for MSW/Unix but OS/2 file detection was changed
slightly to always use DosQueryPathInfo() instead of using it only for the
directories and stat() for files. Not sure if this is the right thing to do
there but it seems like the code should work.

Also add a simple unit test for these functions.

See #953.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-15 15:39:41 +00:00
Vadim Zeitlin
1442168125 Implement wxBG_STYLE_TRANSPARENT support for wxGTK.
Use composited windows if supported by GTK+ for wxWindows with this background
style.

Also add wxWindow::IsTransparentBackgroundSupported() and show how to use it
in the sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-11 16:26:52 +00:00
Vadim Zeitlin
077c263a4c Fix compilation ofr ports without native font info, such as wxDFB.
Don't use wxString::ToLong() with short variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-10 23:34:45 +00:00
Vadim Zeitlin
8d9eee8320 Fix wxHash{Set,Map} compilation with g++ 4.7 in C++11 mode.
Fully qualify the hasher and comparator classes used with
WX_DECLARE_HASH_{SET,MAP} macros as they're used as base classes by the
standard library implementation in g++ 4.7 and using them without the scope
operator results in compilation errors because they're interpreted as being
(inaccessible) base classes and not the global ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-10 10:22:45 +00:00
Vadim Zeitlin
75717cb121 Fix handling of positional parameters in wxPrintf() and related.
Handle positional parameter specifications in wxFormatConverter to ensure that
e.g. "%N$s" are correctly transformed to "%N$S" if needed. This fixes the use
of positional parameters under OS X.

Closes #10965.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-06 13:28:34 +00:00
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