Commit Graph

49 Commits

Author SHA1 Message Date
Vadim Zeitlin
04209e3a3e Remove GetStandardCmdLineOptions() from wxGTK
Unfortunately there is no reasonable way to implement this function for all
glibc versions as the information we need is stored in the private
_GOptionGroup struct whose layout has already changed once (in 2.44) and could
change again, so we can't rely on it.

We really need a g_option_group_get_entries() in glib itself, but the request
to add it at http://bugzilla.gnome.org/show_bug.cgi?id=431021 hasn't been
touched since 10 years, so it seems unlikely to happen.

See 99367a1530 (commitcomment-25789514)
2017-11-22 22:02:36 +01:00
Tobias Taschner
c17202c696 Remove extra handling of wxAppTraits::GetStandardPaths() on OS X.
Since the removal of carbon in 5ba67c67e4 there is no longer any special handling required.
2016-03-04 15:34:51 +01:00
Dimitri Schoolwerth
1e78bf639e Add micro version to toolkit version functions
Support micro versions in wxAppTraits::GetToolkitVersion and
wxPlatformInfo functions related to toolkit versions.
2016-02-29 10:05:43 +01:00
Hartwig
74a1ec3ead Addition of missing overrides to apptrait.h 2015-11-22 09:28:33 +01:00
Paul Cornett
27a8d28029 more use of wxOVERRIDE 2015-09-06 17:20:42 -07:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +00:00
Vadim Zeitlin
fb99672f62 Hopefully finish removing the old wxCocoa port.
Get rid of the rest of __WXCOCOA__ tests in the sources.

Drop configure option for using it.

Also remove the documentation for this port.

This should have also been part of r76735.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-03 22:03:21 +00:00
Paul Cornett
8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +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
821d856a61 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
2013-07-03 00:32:16 +00:00
Vadim Zeitlin
71e9885be0 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
2013-07-03 00:28:42 +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
Vadim Zeitlin
6bcc1145fe Cleanly separate GUI socket-related code from net library.
This fixes linking problems under Unix introduced by recent changes which
fixed previous problems which were due to files not being linked in at all.

In order to provide a clean separation between base, net and core libraries we
now use the same wxSocketManager (wxSocketFDBasedManager), defined in net
library for both console and GUI Unix applications and just use different FD
IO manager for them: the latter can be defined in base and core libraries as
it doesn't involve wxSocketImpl at all, only its base wxFDIOHandler class.

At more detailed level, these changes required:
 1. Adding the new wxFDIOManager class.
 2. Refactoring the old (and now removed) wxSocketFDIOManager to use the same
    code as wxSocketFDIOManager. This involved:
  a) Adding handler and direction parameter to RemoveInput().
  b) Storing the mask of registered events in wxFDIOHandler itself.
  c) Defining wxFDIOManagerUnix which works with wxFDIODispatcher.
 3. Changing the traits classes in Unix ports to define GetFDIOManager()
    instead of GetSocketManager().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-17 23:02:46 +00:00
Vadim Zeitlin
5815e95907 Use CF socket manager in GUI OS X applications.
wxSocketManagerMac was never created under OS X since wxSocket code
refactoring as wxGUIAppTraits::GetSocketManager() wasn't overridden.

Doing this required an extra nasty hack with a global variable in the base
library which is used just to pass the socket manager pointer from the net
library to the core one without creating a dependency between them but this
seems unfortunately unavoidable.

See #11030.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-16 23:13:55 +00:00
Vadim Zeitlin
25f49256ac return wxStandardPaths, not wxStandardPathsBase, from wxStandardPathsBase::Get() to allow calling platform-specific methods on it if necessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-06 23:34:05 +00:00
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Vadim Zeitlin
51fe4b60ab Streamline wxSocket code: wxSocketBase now uses wxSocketImpl (previously known
as GSocket) which is a base class with various wxSocketImplXXX implementations
provided by different wxSocketManagers.

Share more code between ports (still not finished).

Refactor some code inside wxSocketImpl itself to be less redundant and fixed a
couple of minor bugs in the process.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 12:47:07 +00:00
Vadim Zeitlin
2404ce8d8a argh, really, really fix Darwin build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 13:01:34 +00:00
Vadim Zeitlin
a0f4d36895 GetSocketManager() has no GUI-specific version under Darwin finally
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 12:59:22 +00:00
Vadim Zeitlin
b2915c82ca also use AddProcessCallback() and GetSocketManager() under Darwin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 12:51:51 +00:00
Vadim Zeitlin
f05114174f oops, added missing #endif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-10 10:45:47 +00:00
Vadim Zeitlin
13d4419b86 only declare AddProcessCallback for wxMotif and wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-10 10:44:06 +00:00
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06:00 +00:00
Vadim Zeitlin
a83ca5fbf5 use wxGUIAppTraits::WaitForChild() in wxMac too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 12:12:47 +00:00
Vadim Zeitlin
1d043598b7 replace wxAddProcessCallback() with wxAppTraits::AddProcessCallback() to fix linking problems in Unix ports; also reduce code duplication between GUI and base versions making src/unix/baseunix.cpp unnecessary any longer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 00:07:13 +00:00
Francesco Montorsi
1f5c66294a add to GetToolkitVersion() the = NULL default values for the two arguments: they were documented but not actually implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-21 14:21:52 +00:00
Vadim Zeitlin
9243700fb2 add support for asynchronous execution in wxBase (patch 1906889)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 16:46:38 +00:00
Vadim Zeitlin
2804f77d88 more socket cleanup to allow using wxSocket from both wxBase and wxCore (replaces patch 1756260)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 16:45:08 +00:00
Paul Cornett
d254213eb2 add MutexGuiEnter/Leave to wxAppTraits, integrate native GTK+ GUI locking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-17 05:37:00 +00:00
Vadim Zeitlin
163b3ad72c replace wrong WXDLLEXPORT declarations with correct WXDLLIMPEXP_BASE/ADV/GL (patch from Tim Stahlhut)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-12 01:35:53 +00:00
Vadim Zeitlin
a187327964 Added wxUSE_CONSOLE_EVENTLOOP and wxUSE_SELECT/EPOLLDISPATCHER guards;
put checks for them in the new Unix-specific wx/unix/chkconf.h file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 19:06:18 +00:00
Václav Slavík
6ae3ead6f0 always compile at least a minimal version of wxStandardPaths class, it's used too often
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-15 15:21:57 +00:00
Vadim Zeitlin
2ddff00c92 don't define wxEventLoop class differently in GUI and base, this breaks the
ODR and hence results in many problems in practice; instead use wxEventLoopBase
whenever possible and #define wxEventLoop differently in console applications


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:30:01 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Václav Slavík
c8b1fdc0b5 wxAppTraits::SetLocale() is wxUSE_INTL=1 only
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-02 20:32:44 +00:00
Vadim Zeitlin
d3a0a0eeab added wxAppTraits::GetStandardCmdLineOptions() allowing to add the description of the standard toolkit options to the usage message and implement it for wxGTK2 (patch 1703077)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-22 20:54:07 +00:00
Vadim Zeitlin
c2ca375c56 preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):
1. Changed wxTimer to use wxTimerImpl
2. Added Unix-specific generic timer implementation
3. Added wxAppTraits::CreateTimerImpl()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-20 01:29:16 +00:00
Vadim Zeitlin
d774f9161c added wxAppTraits::SetLocale() and call it during wxApp initialization in all ports, not just wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-12 01:46:14 +00:00
Robert Roebling
5807e60c2a Link fix for GTK 1.2 debug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-24 11:33:53 +00:00
Robert Roebling
db9febdf41 Actually use new GTK+ native assert dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-24 10:55:26 +00:00
Robert Roebling
88bbc3329b Test for KDE and GNOME using session manager vendor.
Use it in mime types initialization.
   Add wxUSE_DETECT_SM


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-18 21:55:54 +00:00
Vadim Zeitlin
8bb6b2c057 wxPlatformInfo (patch 1532064)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-13 21:00:32 +00:00
David Elliott
fc480dc16b Moved wxStandardPathsCF into base library when using CarbonLib or Darwin.
Make wxStandardPathsBase::Get() return a wxStandardPathsBase reference.
Implement it using wxAppTraits::GetStandardPaths() which is overridden by
wxMac and wxCocoa GUI libraries to return a reference to a wxStandardPathsCF.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-12 21:21:00 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Václav Slavík
324899f6c5 return wxToolkitInfo by reference and not by pointer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 15:39:26 +00:00
Václav Slavík
a8eaaeb237 replaced wxAppTraits::GetOSVersion with GetToolkitInfo with richer information that is needed by wxDynamicLibrary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 15:14:17 +00:00
Vadim Zeitlin
46446cc2aa compilation fix for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-06-24 01:31:22 +00:00
Vadim Zeitlin
e2478fde62 wxBase/GUI separation: 1st step, wxMSW should build, all the rest is broken
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-06-24 00:56:19 +00:00