Vadim Zeitlin [Sun, 7 Jul 2013 12:47:34 +0000 (12:47 +0000)]
Add files necessary to run Expat configure.
This should have been part of the previous commit (r74436).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74437
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sun, 7 Jul 2013 12:45:30 +0000 (12:45 +0000)]
Update the version of Expat used to 2.1.0.
Merge with the latest version, mostly discarding our changes to 1.95.6 as they
seem to be unnecessary any longer, keep just bakefile-specific addition to
configure.
Also update our own makefile to define HAVE_EXPAT_CONFIG_H which is now needed
by Unix build.
Closes #11677.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74436
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Václav Slavík [Sun, 7 Jul 2013 11:47:17 +0000 (11:47 +0000)]
Use wxConvAuto() in wxStyledTextCtrl::DoLoadFile().
This is both more reasonable than the current runtime encoding (the
input file is from unknown source) and more robust (it can handle UTF-*
encoded files transparently).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74435
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Václav Slavík [Sun, 7 Jul 2013 11:46:53 +0000 (11:46 +0000)]
Use wxConvAuto in wxFile::Write().
For consistency with wxFFile.
No real change, as wxConvAuto will default to UTF-8 when writing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74434
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sun, 7 Jul 2013 00:39:05 +0000 (00:39 +0000)]
Don't pretend that wxAnyButton::SetBitmap() supports invalid bitmaps.
Because it doesn't under MSW.
See #13569.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74430
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sun, 7 Jul 2013 00:38:41 +0000 (00:38 +0000)]
Avoid using buffer of already deallocated string in wxHTMLDataObject.
Ensure that the temporary string inside which the pointer returned by
utf8_str() may point remains alive for long enough.
Closes #15279.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74429
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 23:14:21 +0000 (23:14 +0000)]
Forbid creation of wxStandardPaths object directly.
This happens to work under MSW and Unix where there is only one
wxStandardPaths class for both the console and the GUI applications but
doesn't return the correct result under OS X where the Core Foundation
version, returned by wxStandardPaths::Get(), has to be used for the GUI
programs. And historically this confused a lot of people, so just ensure that
they can't accidentally create an object of the wrong type any more.
Closes #13537.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74428
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 22:57:05 +0000 (22:57 +0000)]
Reuse wxMessageOutputStderr for wxLogStderr implementation.
In addition to avoiding (tiny) code duplication, this ensures that both places
use the stream in the same orientation, i.e. either both use the narrow
functions or the wide ones. Thus, it fixes a problem with output simply
disappearing if wxLogStderr and wxMessageOutputStderr were both used: the one
used first disabled any output by the other one.
Closes #14782.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74427
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 22:48:20 +0000 (22:48 +0000)]
Correctly restore the originally used C locale in wxLocale dtor.
Save the original locale used before we changed it instead of "restoring" the
same locate that this wxLocale object was using.
Add a unit test to verify that this does work as expected.
Closes #14873.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74426
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 19:14:59 +0000 (19:14 +0000)]
Only link with libwxscintilla if using Scintilla is enabled.
Correct the changes of r74408 to avoid using libwxscintilla if we don't build
it at all.
See #13837.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74425
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 19:14:20 +0000 (19:14 +0000)]
Disable test for setting the creation time under Unix.
Also document that this doesn't work there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74424
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 18:21:10 +0000 (18:21 +0000)]
Fix FILETIME <-> wxDateTime conversions while DST is in effect in wxMSW.
The result was (consistently, so the tests still passed) off by an hour when
the program was ran while DST was in effect. Fix this by avoiding the use of
FileTimeToLocalFileTime() and LocalFileTimeToFileTime() and just directly
converting FILETIME values to wxDateTime. Not only this is more correct but
it's also simpler and more efficient as well.
Also add a unit test for wxFileName::SetTimes() too.
Closes #13098.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74423
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 18:20:45 +0000 (18:20 +0000)]
Explicitly mention that wxDateTime ticks origin is in UTC.
Make it clear that the number of ticks is counted since the same moment in all
time zones.
See #13098.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74422
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 17:27:53 +0000 (17:27 +0000)]
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+, should have been part of r74420
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74421
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 16:35:40 +0000 (16:35 +0000)]
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74420
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 16:04:28 +0000 (16:04 +0000)]
remove symbol exports, this code is private to the library
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74419
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 15:58:42 +0000 (15:58 +0000)]
remove empty GtkTreeEntryClass
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74418
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 15:50:57 +0000 (15:50 +0000)]
remove instance init function, memory is already zeroed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74417
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 15:44:21 +0000 (15:44 +0000)]
move treeentry_gtk.h to include/wx/gtk/private/
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74416
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 6 Jul 2013 15:34:59 +0000 (15:34 +0000)]
create collate_key on demand
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74415
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 14:46:26 +0000 (14:46 +0000)]
Exclude expat files from pre commit hook checks too.
All the other 3rd party libraries were already excluded but not this one, for
some reason -- do exclude it now as upcoming Expat 2.1.0 sources contain some
files with TABs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74414
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 14:46:03 +0000 (14:46 +0000)]
Update announcement and readme files for 2.9.5 release.
Fill in the release date and update the changes description in the
announcement.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74413
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 12:41:02 +0000 (12:41 +0000)]
Always add libwxscintilla in monolithic mode.
The library was already present in the makefiles but came before the
monolithic library itself, which broke the linking of the samples when using
GNU ld as the dependent libraries must come after the libraries using them.
Closes #13837.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74408
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 12:32:23 +0000 (12:32 +0000)]
Rebake the rest of the files after TOOLKIT change in MSW bakefile.
This should have been part of r74406 but I only rebaked wxWidgets make/project
files themselves and not the samples/utils/demos files in it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74407
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 11:59:35 +0000 (11:59 +0000)]
Make TOOLKIT variable constant in MSW makefiles.
This fixes duplicate lines defining rules for generic files for more than one
port in the makefiles.
Closes #14979.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74406
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 00:28:13 +0000 (00:28 +0000)]
Fix potential buffer overflow in wxSTC DefaultFont() function.
Use safe(r) wxStrlcpy() instead of strcpy() to copy the font name.
Closes #15296.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74405
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 6 Jul 2013 00:27:50 +0000 (00:27 +0000)]
Fix test for Windows in the new wxExecute() unit test.
TestOverlappedSyncExecute() doesn't currently pass under Windows and was
supposed to not be executed there but was, in console test, as __WXMSW__ is
not defined in this case, only __WINDOWS__ is (as there is no GUI toolkit in
the console applications).
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74404
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Fri, 5 Jul 2013 17:11:15 +0000 (17:11 +0000)]
Caret blink time and blink on/off are now also reflected in GTK+ widgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74362
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Fri, 5 Jul 2013 16:26:37 +0000 (16:26 +0000)]
Use wxRTC text colour if possible for caret
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74361
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Fri, 5 Jul 2013 13:33:30 +0000 (13:33 +0000)]
Don't flash wxRTC caret if blink time is zero, and also take colour from window text colour to avoid invisibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74359
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 22:18:42 +0000 (22:18 +0000)]
Prevent duplicate menu event processing in MDI windows.
Record the object propagating the given event upwards in the event object
itself and use it in wxMDIParentFrame to determine whether the event being
handled is already coming from wxMDIChildFrame and avoid sending it back for
processing it there again in this case.
This is ugly and makes wx event processing even more complex but this is the
only way I could find to ensure that
(a) Both the child and the parent frames get the events from the toolbar
(even though the toolbar parent is the parent frame and hence normally
the child wouldn't get notified about them at all and so the forwarding
at wxMDIParentFrame level is required to make this work).
(b) The child gets the event only once, whether it comes from a toolbar (and
hence indirectly via the parent frame) or from the child menu (and hence
directly to the child, at least in wxMSW).
This commit fixes the event propagation unit test case, at least under MSW and
GTK.
See #14314.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74357
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 22:18:18 +0000 (22:18 +0000)]
Test handling of events from the toolbar in an MDI parent frame.
These events must be received by the currently active child.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74356
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 22:17:55 +0000 (22:17 +0000)]
Ensure that the MDI child is active in event propagation test.
Call wxMDIChildFrame::Activate() explicitly as the behaviour was different
under MSW (where the activation happened too late for the test) and GTK where
the child did become active because of the hacks in place to ensure it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74355
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 11:03:09 +0000 (11:03 +0000)]
Make AsyncExecLoopExitEnum enum in the wxExecute() test public.
This fixes VC6 build as the nested class couldn't access a private enum inside
the enclosing class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74354
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Wed, 3 Jul 2013 03:12:44 +0000 (03:12 +0000)]
fix wxCHECK_MSG() return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74353
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:33:04 +0000 (00:33 +0000)]
Don't ignore child process output if it exits with -1 exit code.
While this code is used by us if the program couldn't be launched at all, it
doesn't mean that it didn't run as -1 could also be returned by the child
process to indicate an error after outputting something, so we should still
read its output in this case.
Closes #15205.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74352
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:32:40 +0000 (00:32 +0000)]
Run wxExecute() unit test in the GUI test suite too.
The same code works differently in console and GUI applications, so build this
test case as part of both of them.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74351
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:32:16 +0000 (00:32 +0000)]
Rewrite wxExecute() implementation under Unix.
This commit changes wxExecute() to handle SIGCHLD to be notified about the
child process termination instead of detecting when the file descriptor
corresponding to the other end of a pipe opened in the parent process was
closed in the child as this was not reliable and could (and did) result in not
detecting the termination of the child processes that closed all their file
descriptors before exiting.
This commit also removes a lot of platform-specific code duplicating the
generic event loop sources support and reuses it for wxExecute() purposes too.
Final big change is that wxEndProcessData was merged into wxExecuteData and we
don't have two similar but quite different classes any more but just one,
which is used both to pass the information from wxExecute() to wxAppTraits
methods and to store this information until the child termination.
Closes #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74350
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:49 +0000 (00:31 +0000)]
Add a helper wxApp::GetValidTraits() method.
This method always returns some valid traits, even if we don't have wxTheApp
(which is possible in the console applications) or if its GetTraits() was
overridden to return NULL (which shouldn't be, but still guard against this).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74349
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:26 +0000 (00:31 +0000)]
Treat G_IO_HUP as read, not error, event because EOF is not exceptional.
When EOF is reached on a file descriptor, call the handler OnReadWaiting()
because this is not really different from getting to the EOF while reading
data in the same function. Only call OnExceptionWaiting() for the real errors.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74348
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:03 +0000 (00:31 +0000)]
Make Unix wxAppConsole signal handling more flexible.
Instead of hardcoding the call to WakeUpIdle() in the signal handler itself,
just wake up the event loop when we catch a signal. This will still result in
WakeUpIdle() being called, before the next event loop iteration, but it will
also allow us to do other things on wakeup from signal as it will be done in
the upcoming wxExecute() changes to support wxEXEC_NOEVENTS in console
applications.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74347
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:30:39 +0000 (00:30 +0000)]
Change wxWakeUpPipe to be a wxEventLoopSourceHandler.
No real changes but use wxEventLoopSource::AddSourceForFD() instead of
wxFDIODispatcher::RegisterFD() for this pipe because this is the preferred way
and because it will allow reusing this class for wxExecute() purposes later.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74346
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:30:16 +0000 (00:30 +0000)]
Include wx/evtloop.h from wx/evtloopsrc.h.
This is necessary to ensure that wxUSE_EVENTLOOP_SOURCE which wraps the entire
contents of this header is defined if it's included directly and not after
already including wx/evtloop.h.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74345
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:53 +0000 (00:29 +0000)]
Include <fcntl.h> from a header using fcntl().
No real changes, just make the header self-containing instead of relying on
the file including it to include <fcntl.h> itself.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74344
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:29 +0000 (00:29 +0000)]
Add wxStreamTempInputBuffer::ReadAll() helper.
This just reads everything remaining in the stream in a blocking way and will
be used to get the data remaining in the stream buffers after the child
process had been already closed (and hence can't write any more to it and
there is no risk of deadlock).
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74343
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:05 +0000 (00:29 +0000)]
Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.
Use OS X socket APIs for monitoring file descriptors. They are more flexible
than CFFileDescriptor functions and can be used with any descriptors, not
necessarily the socket ones.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74342
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:28:42 +0000 (00:28 +0000)]
Make wxEventLoop::AddSourceForFD() static.
Any event sources should be registered with all the event loops, including the
ones that will be started in the future, and not only the current (and
potentially not even existing yet) one. So make AddSourceForFD() method static.
To still allow it to do different things in console and GUI applications, as
it must, virtualize it via the new wxEventLoopSourcesManager class which has
different implementations in the two cases, returned via wxAppTraits as usual.
Notice that this required moving the implementation of this method from
src/osx/core/evtloop_cf.cpp to src/osx/core/utilsexc_cf.cpp as the former file
is base-only and didn't have access to wxGUIAppTraits.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74341
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:28:16 +0000 (00:28 +0000)]
Extract wxFDIOEventLoopSourceHandler in its own header.
No real changes, this is just in preparation for the further refactoring.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74340
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:53 +0000 (00:27 +0000)]
Split wxWakeUpPipe class in MT-unsafe and MT-safe parts.
This class can also be useful when it's used in the main thread only, so
leave the lock-less part of the code in wxWakeUpPipe and derive a separate
wxWakeUpPipeMT from it for the use in wxConsoleEventLoop where it can be used
by multiple threads.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74339
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:28 +0000 (00:27 +0000)]
Extract PipeIOHandler class into a header and rename to wxWakeUpPipe.
No real changes to the class, just make it possible to reuse it outside of
Unix wxEventLoop code.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74338
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:02 +0000 (00:27 +0000)]
No changes, move wxStreamTempInputBuffer to a header file.
Get rid of the surprising src/common/execcmn.cpp which had a .cpp extension
but was supposed to be used as an included file only and move its contents to
a new private header to make using wxStreamTempInputBuffer class simpler.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74337
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:26:38 +0000 (00:26 +0000)]
Extract wxPipeInputStream and wxPipeOutputStream in a header.
No real changes, just put these classes in a private header. They're still not
part of the public API but at least it will be easier to reuse them inside the
library itself in the upcoming commits.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74336
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:26:13 +0000 (00:26 +0000)]
Add wxEventLoop::ScheduleExit().
This method allows to request exiting from the given event loop even if it's
not the currently active one, unlike Exit() which would assert in this case.
With it, it becomes possible to ask the loop to terminate as soon as possible
even if a nested loop is currently running.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74335
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:25:46 +0000 (00:25 +0000)]
Use normal event loop in GUI test program.
Don't create an event loop manually, let the port-specific code do it and run
it as usual in the GUI unit tests.
This has several advantages:
- No need to manage the event loop manually in the test.
- No need for Mac-specific code in the test itself.
- Code being tested runs in the same context as in a normal GUI program,
which is especially important for event-loop related tests under wxOSX as
the main event loop is special there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74334
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:25:23 +0000 (00:25 +0000)]
Add wxEventLoopBase::DoRun().
Call it from public Run() after setting the loop as active and resetting
m_shouldExit flag.
No real changes, just cut down on the code duplication among the ports and
make it easier to implement the upcoming changes. see #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74333
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:58 +0000 (00:24 +0000)]
Move wxEventLoopManual::m_shouldExit to wxEventLoopBase.
No real changes, just make this flag available to the other event loop
implementations as they will need it soon.
See #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74332
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:34 +0000 (00:24 +0000)]
Add "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods.
Just rename these methods to avoid clashes with DoRun() that will be added to
the base class soon, no real changes.
This is done in preparation for improving nested event loops support, see #10258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74331
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:10 +0000 (00:24 +0000)]
Add wxTimer::StartOnce().
This is a simple wrapper for wxTimer::Start(timeout, wxTIMER_ONE_SHOT) but is
often more readable and is definitely better than Start(timeout, true) which
many people still use in spite of wxTIMER_ONE_SHOT existence.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74330
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 2 Jul 2013 20:24:22 +0000 (20:24 +0000)]
Better fix for duplicate wxContextMenuEvent generation under MSW.
Fix the bug with multiple wxContextMenuEvent being generated for a single
WM_CONTEXTMENU without breaking context menus for wxTextCtrl (and all the
other native controls). Do this by ensuring that WM_CONTEXTMENU is still
passed to DefWindowProc() if we don't process it instead of just being eaten
completely in any case.
Also add a unit test checking for this bug to ensure it stays fixed.
See #13683.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74329
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Tue, 2 Jul 2013 20:23:58 +0000 (20:23 +0000)]
Avoid forcing wxYield() after wxUIActionSimulator::MouseMove() in wxGTK.
Yield (for input events only) inside this function itself instead of forcing
all the code using this function to call wxYield() after it as otherwise the
mouse position change is not taken into account by the subsequent simulated
events.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74328
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Tue, 2 Jul 2013 17:15:27 +0000 (17:15 +0000)]
chain up to parent in dispose handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74327
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Tue, 2 Jul 2013 17:09:55 +0000 (17:09 +0000)]
use correct signature for class init function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74326
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Tue, 2 Jul 2013 16:56:42 +0000 (16:56 +0000)]
use existing helper to remove inconvenient additional reference added by gtk_tree_model_get()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74325
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Tue, 2 Jul 2013 16:35:43 +0000 (16:35 +0000)]
remove unused function GTKSetItem()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74324
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Tue, 2 Jul 2013 16:29:49 +0000 (16:29 +0000)]
preserve checkbox status in SetString()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74323
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 14:58:27 +0000 (14:58 +0000)]
Don't append extension if it contains wildcards in wxGTK wxFileDialog.
Restore the test for wildcards erroneously removed in r74307.
Closes #15285.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74322
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 14:48:24 +0000 (14:48 +0000)]
Optimize wxImage::Scale() by pre-calculating the values used.
Precompute the values used by various resampling algorithms once instead of
doing it for each pixel. This dramatically speeds them up: more than 3 times
faster in wxImage benchmark with the small images and up to 5 times faster
with larger images.
Closes #15281.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74321
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 14:48:01 +0000 (14:48 +0000)]
Add wxImage::Scale() benchmarks.
Measure the time taken to rescale the image to a bigger or smaller size using
normal or high quality.
See #15281.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74320
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 14:47:38 +0000 (14:47 +0000)]
Add benchmarks for wxImage methods.
Build a GUI version of the benchmark program too and use it to benchmark
wxImage loading methods for now (more will be added later).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74319
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 14:47:12 +0000 (14:47 +0000)]
Add a unit test for wxImage::Scale() method.
Check that resizing the test horse image produces the same results in the
future as it does now, by saving the current results in files and verifying
that images resized directly and loaded from these files are the same.
See #15281.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74318
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Mon, 1 Jul 2013 05:10:22 +0000 (05:10 +0000)]
Use gtk_list_store_insert_with_values() to set entry at same time item is inserted.
This should ensure that the entry is always valid, removing the need for r74315.
Also simplify DoInsertItems() by using DoInsertItemsInLoop().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74317
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Mon, 1 Jul 2013 00:49:46 +0000 (00:49 +0000)]
Fix missing documentation for several GDI functions.
The documentation for wxGetClientDisplayRect(), wxGetDisplayPPI(),
wxGetDisplaySize() and wxGetDisplaySizeMM() didn't appear in the output
because they were documented as "overloads" of the corresponding functions
without "Get" prefix inside an @addtogroup Doxygen macro and apparently this
is not supported.
Simply document them separately to fix this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74316
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Paul Cornett [Sat, 29 Jun 2013 17:16:49 +0000 (17:16 +0000)]
fix assertion failure when string transform is requested before entry is set
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74315
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:53:44 +0000 (12:53 +0000)]
Forward events to active child in wxMDIParentFrameBase, not only wxMSW.
Menu, toolbar and update UI events should be forwarded to the active child
under all platforms in MDI applications and not only MSW, so move TryBefore()
overload from wxMSW wxMDIParentFrame to wxMDIParentFrameBase.
This should make things more consistent in general and notably fixes the lack
of toolbar events in wxDocChildFrame since the changes of r73928.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74314
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:53:21 +0000 (12:53 +0000)]
Fix VC6 compilation of wxRichTextTable code.
In addition to breaking VC6 build, the code also rather strangely declared
"row" inside a for loop first and then declared it in the function scope.
Leave just the second declaration.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74313
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:52:58 +0000 (12:52 +0000)]
Add support for horizontal mouse wheel scrolling in wxSTC.
Handle horizontal mouse wheel scrolling events in a similar (but simpler, as
they always scroll and never change the font size) way to the vertical ones in
wxStyledTextCtrl.
Closes #15266.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74312
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:52:34 +0000 (12:52 +0000)]
Use more readable wxListCtrl::AppendColumn() in the samples.
Call this function instead of InsertColumn() with incrementing indices.
See #15265.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74311
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:52:11 +0000 (12:52 +0000)]
Use wxListColumnFormat for wxListCtrl::AppendColumn() format argument.
This is safer than using just an untyped int.
Closes #15265.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74310
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:51:47 +0000 (12:51 +0000)]
Fix wxIMAGE_QUALITY_HIGH definition.
Embarrassingly, wxIMAGE_QUALITY_HIGH was never used as it had the same value
as wxIMAGE_QUALITY_BILINEAR due to the changes to these constants in r67203.
After fixing its value in the enum, also change the switch on this enum
elements to avoid g++ warnings about unhandled enum values.
See #12845, #15281.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74309
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:51:24 +0000 (12:51 +0000)]
Fix dnd events in generic wxDataViewCtrl when moving out of the window.
The wxEVT_DATAVIEW_ITEM_BEGIN_DRAG event wasn't triggered if the mouse moved
below the last item or beyond the last column of a control or left the window
completely.
Fix this by checking for the beginning of the drag before checking for the
mouse being out of items area and also force the drag to start if the mouse is
leaving the window as we would never do it otherwise.
Closes #15258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74308
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:51:01 +0000 (12:51 +0000)]
Don't append just a dot in wxGTK wxFileDialog if no default extension.
We always appended the default extension (for the currently selected pattern)
to the file name but this was the wrong thing to do if there was no extension
at all as this resulted in appending just a dot to the filename. So only do it
if there is an extension to append.
Closes #15285.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74307
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 12:50:37 +0000 (12:50 +0000)]
Allow resetting background colour of wxHtmlContainerCell.
Don't use m_UseBkColour flag which remained always set once
SetBackgroundColour() had been called, but just rely on m_BkColour itself
being valid to determine whether we should use it. This allows to reset the
background colour after setting it.
Closes #15287.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74306
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Vadim Zeitlin [Sat, 29 Jun 2013 11:00:13 +0000 (11:00 +0000)]
Italian translations update from Roberto Boriotti.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74305
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Sat, 29 Jun 2013 10:06:15 +0000 (10:06 +0000)]
Applied patch #15286: documentation and col/rowspan demo by dghart
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74304
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Fri, 28 Jun 2013 13:24:27 +0000 (13:24 +0000)]
support getting device resolution on all osx ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74303
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Fri, 28 Jun 2013 10:41:20 +0000 (10:41 +0000)]
new method for contentScaleFactor on main screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74302
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Thu, 27 Jun 2013 12:48:46 +0000 (12:48 +0000)]
new method for contentScaleFactor on main screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74301
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Thu, 27 Jun 2013 07:24:15 +0000 (07:24 +0000)]
native bitmap scaling codes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74300
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Thu, 27 Jun 2013 05:54:51 +0000 (05:54 +0000)]
use correct scale when drawing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74299
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 17:37:17 +0000 (17:37 +0000)]
adding impls to wxBitmap on msw as this doesn't inherit from base - Thanks Vaclav!
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74298
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 17:15:10 +0000 (17:15 +0000)]
adding default for Create with dc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74297
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 16:28:25 +0000 (16:28 +0000)]
incomplete paste error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74296
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 16:25:32 +0000 (16:25 +0000)]
adding default impl for CreateScaled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74295
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 15:41:23 +0000 (15:41 +0000)]
virtual method hiding in GTK, so add direct implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74294
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Tue, 25 Jun 2013 15:38:46 +0000 (15:38 +0000)]
Applied rowspan patch #15276 (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74293
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Tue, 25 Jun 2013 15:30:55 +0000 (15:30 +0000)]
Applied colspan corrections, #15274 and #15275 (dghart)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74292
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 15:11:18 +0000 (15:11 +0000)]
support retina display
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74291
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 14:57:14 +0000 (14:57 +0000)]
using dc Create for bitmap, for retina support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74290
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Julian Smart [Tue, 25 Jun 2013 14:55:48 +0000 (14:55 +0000)]
Allow for older GTK+ versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74289
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Stefan Csomor [Tue, 25 Jun 2013 14:19:41 +0000 (14:19 +0000)]
support for scaled bitmaps in wxMemoryDC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74288
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775