X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38bb138f09688c1575766aafdbf296dfeeee0d7d..8d8e24dfd72727e2bc3f43a5b706ee2740ce7456:/include/wx/apptrait.h diff --git a/include/wx/apptrait.h b/include/wx/apptrait.h index f6750d2bc4..c36ffd1546 100644 --- a/include/wx/apptrait.h +++ b/include/wx/apptrait.h @@ -5,7 +5,7 @@ // Modified by: // Created: 19.06.2003 // RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin +// Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -24,7 +24,7 @@ class WXDLLIMPEXP_BASE wxMessageOutput; class WXDLLEXPORT wxRendererNative; class WXDLLIMPEXP_BASE wxString; -extern "C" struct GSocketGUIFunctionsTable; +class GSocketGUIFunctionsTable; // ---------------------------------------------------------------------------- // toolkit information @@ -108,7 +108,12 @@ public: virtual void RemoveFromPendingDelete(wxObject *object) = 0; #if wxUSE_SOCKETS - // return table of GUI callbacks for GSocket code or NULL in wxBase + // return table of GUI callbacks for GSocket code or NULL in wxBase. This + // is needed because networking classes are in their own library and so + // they can't directly call GUI functions (the same net library can be + // used in both GUI and base apps). To complicate it further, GUI library + // ("wxCore") doesn't depend on networking library and so only a functions + // table can be passed around virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0; #endif @@ -129,12 +134,16 @@ public: // NB: test for __UNIX__ before __WXMAC__ as under Darwin we want to use the // Unix code (and otherwise __UNIX__ wouldn't be defined) -#if defined(__WXMSW__) +#if defined(__PALMOS__) + #include "wx/palmos/apptbase.h" +#elif defined(__WXMSW__) #include "wx/msw/apptbase.h" -#elif defined(__UNIX__) +#elif defined(__UNIX__) && !defined(__EMX__) #include "wx/unix/apptbase.h" #elif defined(__WXMAC__) #include "wx/mac/apptbase.h" +#elif defined(__OS2__) + #include "wx/os2/apptbase.h" #else // no platform-specific methods to add to wxAppTraits // wxAppTraits must be a class because it was forward declared as class class WXDLLIMPEXP_BASE wxAppTraits : public wxAppTraitsBase @@ -210,17 +219,28 @@ public: // include the platform-specific version of the classes above // ---------------------------------------------------------------------------- -#if defined(__WXMSW__) +#if defined(__PALMOS__) + #include "wx/palmos/apptrait.h" +#elif defined(__WXMSW__) #include "wx/msw/apptrait.h" -#elif defined(__UNIX__) +#elif defined(__UNIX__) && !defined(__EMX__) #include "wx/unix/apptrait.h" #elif defined(__WXMAC__) #include "wx/mac/apptrait.h" -#else // no platform-specific methods to add to wxAppTraits +#elif defined(__WXPM__) + #include "wx/os2/apptrait.h" +#else + // at least, we need an implementation of GetToolkitInfo ! #if wxUSE_GUI - typedef wxGUIAppTraitsBase wxGUIAppTraits; + class wxGUIAppTraits : public wxGUIAppTraitsBase + { + virtual wxToolkitInfo& GetToolkitInfo(); + }; #endif // wxUSE_GUI - typedef wxConsoleAppTraitsBase wxConsoleAppTraits; + class wxConsoleAppTraits: public wxConsoleAppTraitsBase + { + virtual wxToolkitInfo& GetToolkitInfo(); + }; #endif // platform #endif // _WX_APPTRAIT_H_