Commit Graph

46 Commits

Author SHA1 Message Date
Vadim Zeitlin
3bcec846a0 Provide wxApp::StoreCurrentException() implementation for C++11.
When using C++11 we can provide implementations of wxApp::StoreCurrentException()
and RethrowStoredException() ourselves and thus make catching exceptions outside
of the event loop work by default.

Do this and update the documentation and the sample to reflect it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:52 +00:00
Vadim Zeitlin
1cecee5bb7 Add wxApp::StoreCurrentException() and RethrowStoredException().
These methods can be used to ensure that the exceptions thrown from event
handlers are safely rethrown from the code dispatching the events once the
control flow gets back there.

This allows to work around the problem with not being able to propagate
exceptions through non-C++ code and can be used, for example, to catch
exceptions thrown by the handlers invoked from inside wxYield() by a try/catch
block around wxYield() -- something that didn't work before, update the except
sample to show that it does work now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:44 +00:00
Vadim Zeitlin
c779385a1a No changes, just document exception-related methods in their own group.
Extract wxApp::OnExceptionInMainLoop() and OnUnhandledException() in a
separate Doxygen group as there will be more functions defined in it soon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:31:40 +00:00
Vadim Zeitlin
8f11f7f6a2 Make OSXIsGUIApplication() documentation more clear for non Mac people.
Provide a more detailed explanation of what this function does and does not.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 13:29:40 +00:00
Stefan Csomor
a2eeaaf090 updating the version to the number that carries the functionality
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 14:44:59 +00:00
Stefan Csomor
ca01b84199 documenting fix for #15613
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-09 10:00:31 +00:00
Paul Cornett
2014950b1c spelling fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-26 18:51:16 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
0824e36969 Fix premature truncation of brief descriptions in Doxygen comments.
Don't end the brief description at the first period if it's a period which is
part of "i.e." or "e.g.": escape the space following it to prevent Doxygen
from recognizing it as an end of sentence.

See #14866.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-01 00:14:07 +00:00
Vadim Zeitlin
b51014176a Don't call setlocale("") on startup by default any longer.
This undoes the changes of r44773 because calling setlocale() resulted in C
locale being set differently from C++ locale which was confusing and led to
huge slowdowns in any code using std::stream with at least MinGW. And setting
the C++ locale to be the same, as r72719 tried to do, doesn't seem to be
practical as it results in immediate crashes under OS X and MinGW when used
under XP.

Do provide wxApp::SetCLocale() helper to explicitly do what was previously
done implicitly, even though currently it is a trivial wrapper for setlocale()
and we don't even need to call gtk_set_locale() as it has never done anything
else and is deprecated since GTK+ 2.24.

Closes #14780.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72951 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-14 13:46:50 +00:00
Robin Dunn
aef060ab6c remove some wxPython-only methods that were accidentally added to the interface file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-11 20:32:32 +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
58cc15871d Add wxEventFilter and related functionality.
Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-22 13:18:50 +00:00
Robin Dunn
6e350141f1 Fix missing or broken interface items for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-25 04:30:49 +00:00
Robin Dunn
86381d4297 Fix missing and broken interface items for Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-11 00:35:32 +00:00
Dimitri Schoolwerth
ee7553e935 Added NSApplicationDelegate's openFiles for wxOSX-Cocoa.
openFiles (available since OS X 10.3) replaces using the openFile method. It allows for more convenient handling of multiple drops and knowing in advance how much files/folders are dropped instead of openFile with which you only get to respond to a single file/folder drop at a time. By default openFiles calls the newly added MacOpenFiles which calls MacOpenFile multiple times, so ordinarily the behaviour is backwards compatible (both on wxOSX Cocoa and Carbon).

The openFile instance method has been removed because it doesn't seem to be called anymore: neither when dropping a single file on the application in the dock or Finder nor when passed as a command-line argument.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-09 22:17:12 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Paul Cornett
0c3e2a5baa Move SendIdleEvents() from wxApp to wxWindow.
Use it to properly implement idle events for
wxGTK menubar, toolbar and statusbar.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 06:42:41 +00:00
Robin Dunn
6a07405963 Move the Mac methods from wxAppConsole to wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-27 08:42:04 +00:00
Vadim Zeitlin
7dbd713731 Improve documentation about handling C++ exceptions in wx programs.
Try to explain the different exception handling strategies more clearly in the
overview and also update OnUnhandledException() documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-18 14:10:15 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Francesco Montorsi
e4431849b4 Implement wx-prefixed macros versions of DECLARE/IMPLEMENT_APP_* macros.
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 13:23:13 +00:00
Vadim Zeitlin
7d9550df50 Define wxDEBUG_LEVEL in both debug and release builds as 1.
By default include assertions and debug logging in both debug and release
builds but disable them in application release builds (when NDEBUG is
defined).

Also update (more accurately, replace) debugging overview.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-12 11:28:52 +00:00
Vadim Zeitlin
f432e6777d Tweak the default wxApp::GetAppDisplayName() logic.
Don't capitalize the app name if it had been explicitly set with SetAppName()
as this can result in unexpectedly wrong value. Do capitalize the program name
which is used as app name by default and don't store the program name in
m_appName to be able to distinguish between the two cases.

Closes #11165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-03 11:38:31 +00:00
Vadim Zeitlin
3185abc278 Support delayed destruction in console applications too.\n\nThis only works if there is a running event loop but if there is one, we can have the same kind of problems with non-GUI objects such as sockets in console applications as we have with windows in GUI ones, so we must support this (see #10989).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-21 14:16:44 +00:00
Kevin Ollivier
0f6c9085a5 Consider wxOSX the port name, and have wxOSX/Carbon and wxOSX/Cocoa as variations, so that linkages from function docs are left intact. Also, do a little cleanup and elaborate more in the docs for OS X Cocoa and OS X Carbon.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-15 01:19:09 +00:00
Francesco Montorsi
cae9e7b169 add wxAppConsoleBase::DeletePendingEvents and wxEvtHandler::DeletePendingEvents.
Fix wxAppConsoleBase::Suspend/ResumeProcessingOfPendingEvents: locking the mutex does not prevent wxAppConsoleBase::ProcessPendingEvents from running if the mutex was locked from the main thread!

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 12:58:24 +00:00
Francesco Montorsi
8e40ed8535 move pending event processing back to wxApp (these methods were moved into wxEventLoopBase during YieldFor() refactoring - see #10320): we need to be able to queue events even when there's no event loop running (e.g. wxApp::OnInit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 20:45:22 +00:00
Francesco Montorsi
4623dc32fc add references to OnEventLoopEnter/Exit callbacks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-27 14:49:00 +00:00
Francesco Montorsi
ec38d07d03 add wxAppConsoleBase::OnEventLoopEnter/Exit callbacks; add wxEventLoopBase::IsMain() and wxAppConsoleBase::GetMainLoop() helpers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59132 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-25 13:23:12 +00:00
Francesco Montorsi
1f2f732921 remove wxAppConsoleBase::OInitGui and leave it only in wxApp[Base] class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-22 14:42:35 +00:00
Francesco Montorsi
3051a44a73 make distinction between classes which send events (use @beginEventEmissionTable for them) from event classes (use @beginEventTable for them); add event tables for wxWindow, wxFrame, wxTopLevelWindow, wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-18 17:58:51 +00:00
Francesco Montorsi
dde19c2180 second part of #10320: move wxApp event handling functions to wxEventLoopBase (in particular move Yield() functions); add backward compatible redirections to wxApp; update docs; remove global lists wxPendingEvents and wxPendingEventsLocker
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 14:25:08 +00:00
Francesco Montorsi
d48b06bd90 check in the 'selective yield' patch (see ticket #10320):
- implements YieldFor() with event filtering for wxMSW and wxGTK,
  adds TODO markers in other ports;
- replaces wxYield() in GTK's clipboard code with a wxTheApp->YieldFor() call, thus fixing possible reentrancies 
(and modifies clipboard sample to test synchronous IsSupported calls)
- replaces wxYieldIfNeeded() calls in wxProgressDialog with wxTheApp->YieldFor() calls, so that it processes only 
UI/user-input events, thus fixing the race condition visible in the "thread" sample
- documents the new functions


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 17:42:28 +00:00
Francesco Montorsi
4b2214224f organize in groups wxAppConsole functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 17:11:13 +00:00
Bryan Petty
b21126db7a Replaced @ingroup with @addtogroup for all global func/macros for use with Doxygen 1.5.7+.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-05 20:48:06 +00:00
Francesco Montorsi
84094285c5 list also wxSystemOptions next to wxSystemSettings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:50:46 +00:00
Francesco Montorsi
d181e877b0 use a common m_isInsideYield flag instead of static booleans in all ports; add a IsYielding() test which can help to fix unwanted re-entrancies
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:03:39 +00:00
Francesco Montorsi
f045c7f52d done various @todo items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 14:14:39 +00:00
Francesco Montorsi
c933f8f85b formatting change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 13:48:36 +00:00
Francesco Montorsi
afc31d8ad8 clarify how top-level windows are used by wxApp (fixes #9448)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-22 13:12:32 +00:00
Vadim Zeitlin
fac938f8fd fix some typos and other minor problems (#9886)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 20:36:54 +00:00
Vadim Zeitlin
328fafa1db capitalize the application name in GetAppDisplayName() by default; this results in logging message appearance consistent with wx 2.8 and generally looks better
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 23:47:22 +00:00
Bryan Petty
12f5e1e78f Commit 3 of 3 for Doxygen path fixes, this one finally removes all 600+ unnecessary uses of @wxheader and @headerfile.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-27 18:00:03 +00:00
Bryan Petty
ae3c17b401 Moved all interface headers into a 'wx' subdirectory for proper use of Doxygen path settings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-27 16:22:58 +00:00