diff --git a/docs/changes.txt b/docs/changes.txt index ef8819ec15..be8019570b 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -91,6 +91,11 @@ Major new features in 2.8 release 2.8.7 ----- +wxMSW: + +- Correct (harmless) warnings given for forward-declared DLL-exported classes + by mingw32 4.2 (Tim Stahlhut) + wxGTK: - Added gtk.window.force-background-colour wxSystemOptions option to work around diff --git a/include/wx/accel.h b/include/wx/accel.h index 80f35ede71..102debf4c2 100644 --- a/include/wx/accel.h +++ b/include/wx/accel.h @@ -18,9 +18,9 @@ #include "wx/object.h" -class WXDLLEXPORT wxAcceleratorTable; -class WXDLLEXPORT wxMenuItem; -class WXDLLEXPORT wxKeyEvent; +class WXDLLIMPEXP_FWD_CORE wxAcceleratorTable; +class WXDLLIMPEXP_FWD_CORE wxMenuItem; +class WXDLLIMPEXP_FWD_CORE wxKeyEvent; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/animdecod.h b/include/wx/animdecod.h index 37655d549e..2194643578 100644 --- a/include/wx/animdecod.h +++ b/include/wx/animdecod.h @@ -17,8 +17,8 @@ #include "wx/colour.h" #include "wx/gdicmn.h" -class WXDLLIMPEXP_BASE wxInputStream; -class WXDLLIMPEXP_CORE wxImage; +class WXDLLIMPEXP_FWD_BASE wxInputStream; +class WXDLLIMPEXP_FWD_CORE wxImage; /* diff --git a/include/wx/app.h b/include/wx/app.h index 058ac76b42..0fa75e03eb 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -22,15 +22,15 @@ #include "wx/init.h" // we must declare wxEntry() #include "wx/intl.h" // for wxLayoutDirection -class WXDLLIMPEXP_BASE wxAppConsole; -class WXDLLIMPEXP_BASE wxAppTraits; -class WXDLLIMPEXP_BASE wxCmdLineParser; -class WXDLLIMPEXP_BASE wxLog; -class WXDLLIMPEXP_BASE wxMessageOutput; +class WXDLLIMPEXP_FWD_BASE wxAppConsole; +class WXDLLIMPEXP_FWD_BASE wxAppTraits; +class WXDLLIMPEXP_FWD_BASE wxCmdLineParser; +class WXDLLIMPEXP_FWD_BASE wxLog; +class WXDLLIMPEXP_FWD_BASE wxMessageOutput; #if wxUSE_GUI class WXDLLEXPORT wxEventLoop; - struct WXDLLIMPEXP_CORE wxVideoMode; + struct WXDLLIMPEXP_FWD_CORE wxVideoMode; #endif // ---------------------------------------------------------------------------- diff --git a/include/wx/bitmap.h b/include/wx/bitmap.h index 4153de3a39..cbe474153d 100644 --- a/include/wx/bitmap.h +++ b/include/wx/bitmap.h @@ -20,12 +20,12 @@ #include "wx/gdicmn.h" // for wxBitmapType #include "wx/colour.h" -class WXDLLEXPORT wxBitmap; -class WXDLLEXPORT wxBitmapHandler; -class WXDLLEXPORT wxIcon; -class WXDLLEXPORT wxImage; -class WXDLLEXPORT wxMask; -class WXDLLEXPORT wxPalette; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxBitmapHandler; +class WXDLLIMPEXP_FWD_CORE wxIcon; +class WXDLLIMPEXP_FWD_CORE wxImage; +class WXDLLIMPEXP_FWD_CORE wxMask; +class WXDLLIMPEXP_FWD_CORE wxPalette; // ---------------------------------------------------------------------------- // wxVariant support diff --git a/include/wx/bookctrl.h b/include/wx/bookctrl.h index 9cb9472600..4c53bc36ff 100644 --- a/include/wx/bookctrl.h +++ b/include/wx/bookctrl.h @@ -25,8 +25,8 @@ WX_DEFINE_EXPORTED_ARRAY_PTR(wxWindow *, wxArrayPages); -class WXDLLEXPORT wxImageList; -class WXDLLEXPORT wxBookCtrlBaseEvent; +class WXDLLIMPEXP_FWD_CORE wxImageList; +class WXDLLIMPEXP_FWD_CORE wxBookCtrlBaseEvent; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/button.h b/include/wx/button.h index ee53cf704d..ffb711d555 100644 --- a/include/wx/button.h +++ b/include/wx/button.h @@ -45,7 +45,7 @@ #include "wx/control.h" -class WXDLLEXPORT wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxBitmap; extern WXDLLEXPORT_DATA(const wxChar) wxButtonNameStr[]; diff --git a/include/wx/clipbrd.h b/include/wx/clipbrd.h index 6c2d3ac5eb..69b0ae45aa 100644 --- a/include/wx/clipbrd.h +++ b/include/wx/clipbrd.h @@ -20,9 +20,9 @@ #include "wx/object.h" #include "wx/wxchar.h" -class WXDLLEXPORT wxDataFormat; -class WXDLLEXPORT wxDataObject; -class WXDLLEXPORT wxClipboard; +class WXDLLIMPEXP_FWD_CORE wxDataFormat; +class WXDLLIMPEXP_FWD_CORE wxDataObject; +class WXDLLIMPEXP_FWD_CORE wxClipboard; // ---------------------------------------------------------------------------- // wxClipboard represents the system clipboard. Normally, you should use diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h index dc1d4ee9da..b7001dfaed 100644 --- a/include/wx/cmdline.h +++ b/include/wx/cmdline.h @@ -20,7 +20,7 @@ #if wxUSE_CMDLINE_PARSER -class WXDLLIMPEXP_BASE wxDateTime; +class WXDLLIMPEXP_FWD_BASE wxDateTime; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/confbase.h b/include/wx/confbase.h index d764bbbd48..567150c8b6 100644 --- a/include/wx/confbase.h +++ b/include/wx/confbase.h @@ -17,7 +17,7 @@ #include "wx/defs.h" #include "wx/string.h" -class WXDLLIMPEXP_BASE wxArrayString; +class WXDLLIMPEXP_FWD_BASE wxArrayString; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/containr.h b/include/wx/containr.h index 1bf91cfef5..2b193dec5f 100644 --- a/include/wx/containr.h +++ b/include/wx/containr.h @@ -13,10 +13,10 @@ #ifndef _WX_CONTAINR_H_ #define _WX_CONTAINR_H_ -class WXDLLEXPORT wxFocusEvent; -class WXDLLEXPORT wxNavigationKeyEvent; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxWindowBase; +class WXDLLIMPEXP_FWD_CORE wxFocusEvent; +class WXDLLIMPEXP_FWD_CORE wxNavigationKeyEvent; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindowBase; /* Implementation note: wxControlContainer is not a real mix-in but rather diff --git a/include/wx/debugrpt.h b/include/wx/debugrpt.h index befd84d6f8..86ecdb5ab3 100644 --- a/include/wx/debugrpt.h +++ b/include/wx/debugrpt.h @@ -18,7 +18,7 @@ #include "wx/string.h" #include "wx/arrstr.h" -class WXDLLIMPEXP_XML wxXmlNode; +class WXDLLIMPEXP_FWD_XML wxXmlNode; // ---------------------------------------------------------------------------- // wxDebugReport: generate a debug report, processing is done in derived class diff --git a/include/wx/dir.h b/include/wx/dir.h index d41bca30c7..5e9023e670 100644 --- a/include/wx/dir.h +++ b/include/wx/dir.h @@ -15,7 +15,7 @@ #include "wx/longlong.h" #include "wx/string.h" -class WXDLLIMPEXP_BASE wxArrayString; +class WXDLLIMPEXP_FWD_BASE wxArrayString; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/dlimpexp.h b/include/wx/dlimpexp.h index c1ec8d3528..f615f8fd4f 100644 --- a/include/wx/dlimpexp.h +++ b/include/wx/dlimpexp.h @@ -234,22 +234,42 @@ #define WXDLLEXPORT_DATA WXDLLIMPEXP_DATA_CORE /* wx-2.9 introduces new macros for forward declarations, include them - * here for forward compatibility: */ -#define WXDLLIMPEXP_FWD_BASE WXDLLIMPEXP_BASE -#define WXDLLIMPEXP_FWD_NET WXDLLIMPEXP_NET -#define WXDLLIMPEXP_FWD_CORE WXDLLIMPEXP_CORE -#define WXDLLIMPEXP_FWD_ADV WXDLLIMPEXP_ADV -#define WXDLLIMPEXP_FWD_QA WXDLLIMPEXP_QA -#define WXDLLIMPEXP_FWD_ODBC WXDLLIMPEXP_ODBC -#define WXDLLIMPEXP_FWD_DBGRID WXDLLIMPEXP_DBGRID -#define WXDLLIMPEXP_FWD_HTML WXDLLIMPEXP_HTML -#define WXDLLIMPEXP_FWD_GL WXDLLIMPEXP_GL -#define WXDLLIMPEXP_FWD_XML WXDLLIMPEXP_XML -#define WXDLLIMPEXP_FWD_XRC WXDLLIMPEXP_XRC -#define WXDLLIMPEXP_FWD_AUI WXDLLIMPEXP_AUI -#define WXDLLIMPEXP_FWD_RICHTEXT WXDLLIMPEXP_RICHTEXT -#define WXDLLIMPEXP_FWD_MEDIA WXDLLIMPEXP_MEDIA -#define WXDLLIMPEXP_FWD_STC WXDLLIMPEXP_STC + * here for forward compatibility: + + GCC warns about using __attribute__ (and also __declspec in mingw32 case) on + forward declarations while MSVC complains about forward declarations without + __declspec for the classes later declared with it, so we need a separate set + of macros for forward declarations to hide this difference: + */ +#if defined(__WINDOWS__) && defined(__GNUC__) + #define WXDLLIMPEXP_FWD_BASE + #define WXDLLIMPEXP_FWD_NET + #define WXDLLIMPEXP_FWD_CORE + #define WXDLLIMPEXP_FWD_ADV + #define WXDLLIMPEXP_FWD_QA + #define WXDLLIMPEXP_FWD_HTML + #define WXDLLIMPEXP_FWD_GL + #define WXDLLIMPEXP_FWD_XML + #define WXDLLIMPEXP_FWD_XRC + #define WXDLLIMPEXP_FWD_AUI + #define WXDLLIMPEXP_FWD_RICHTEXT + #define WXDLLIMPEXP_FWD_MEDIA + #define WXDLLIMPEXP_FWD_STC +#else + #define WXDLLIMPEXP_FWD_BASE WXDLLIMPEXP_BASE + #define WXDLLIMPEXP_FWD_NET WXDLLIMPEXP_NET + #define WXDLLIMPEXP_FWD_CORE WXDLLIMPEXP_CORE + #define WXDLLIMPEXP_FWD_ADV WXDLLIMPEXP_ADV + #define WXDLLIMPEXP_FWD_QA WXDLLIMPEXP_QA + #define WXDLLIMPEXP_FWD_HTML WXDLLIMPEXP_HTML + #define WXDLLIMPEXP_FWD_GL WXDLLIMPEXP_GL + #define WXDLLIMPEXP_FWD_XML WXDLLIMPEXP_XML + #define WXDLLIMPEXP_FWD_XRC WXDLLIMPEXP_XRC + #define WXDLLIMPEXP_FWD_AUI WXDLLIMPEXP_AUI + #define WXDLLIMPEXP_FWD_RICHTEXT WXDLLIMPEXP_RICHTEXT + #define WXDLLIMPEXP_FWD_MEDIA WXDLLIMPEXP_MEDIA + #define WXDLLIMPEXP_FWD_STC WXDLLIMPEXP_STC +#endif #endif /* _WX_DLIMPEXP_H_ */ diff --git a/include/wx/docview.h b/include/wx/docview.h index 3a4d899eeb..b4d4e9f633 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -24,15 +24,15 @@ #include "wx/print.h" #endif -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxDocument; -class WXDLLEXPORT wxView; -class WXDLLEXPORT wxDocTemplate; -class WXDLLEXPORT wxDocManager; -class WXDLLEXPORT wxPrintInfo; -class WXDLLEXPORT wxCommandProcessor; -class WXDLLEXPORT wxFileHistory; -class WXDLLEXPORT wxConfigBase; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxDocument; +class WXDLLIMPEXP_FWD_CORE wxView; +class WXDLLIMPEXP_FWD_CORE wxDocTemplate; +class WXDLLIMPEXP_FWD_CORE wxDocManager; +class WXDLLIMPEXP_FWD_CORE wxPrintInfo; +class WXDLLIMPEXP_FWD_CORE wxCommandProcessor; +class WXDLLIMPEXP_FWD_CORE wxFileHistory; +class WXDLLIMPEXP_FWD_CORE wxConfigBase; #if wxUSE_STD_IOSTREAM #include "wx/iosfwrap.h" diff --git a/include/wx/event.h b/include/wx/event.h index cf72a1d80d..d4b0e9889c 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -30,13 +30,13 @@ // forward declarations // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxList; +class WXDLLIMPEXP_FWD_BASE wxList; #if wxUSE_GUI - class WXDLLIMPEXP_CORE wxDC; - class WXDLLIMPEXP_CORE wxMenu; - class WXDLLIMPEXP_CORE wxWindow; - class WXDLLIMPEXP_CORE wxWindowBase; + class WXDLLIMPEXP_FWD_CORE wxDC; + class WXDLLIMPEXP_FWD_CORE wxMenu; + class WXDLLIMPEXP_FWD_CORE wxWindow; + class WXDLLIMPEXP_FWD_CORE wxWindowBase; #endif // wxUSE_GUI class WXDLLIMPEXP_BASE wxEvtHandler; diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index 140b707157..a9c1b4fd7a 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -89,13 +89,13 @@ (it's on by default, the current status can be retrieved with IsExpandingEnvVars function). */ -class WXDLLIMPEXP_BASE wxFileConfigGroup; -class WXDLLIMPEXP_BASE wxFileConfigEntry; -class WXDLLIMPEXP_BASE wxFileConfigLineList; +class WXDLLIMPEXP_FWD_BASE wxFileConfigGroup; +class WXDLLIMPEXP_FWD_BASE wxFileConfigEntry; +class WXDLLIMPEXP_FWD_BASE wxFileConfigLineList; #if wxUSE_STREAMS -class WXDLLIMPEXP_BASE wxInputStream; -class WXDLLIMPEXP_BASE wxOutputStream; +class WXDLLIMPEXP_FWD_BASE wxInputStream; +class WXDLLIMPEXP_FWD_BASE wxOutputStream; #endif // wxUSE_STREAMS class WXDLLIMPEXP_BASE wxFileConfig : public wxConfigBase diff --git a/include/wx/filename.h b/include/wx/filename.h index 5d316c52b8..24b4447f16 100644 --- a/include/wx/filename.h +++ b/include/wx/filename.h @@ -29,11 +29,11 @@ #include "wx/intl.h" #if wxUSE_FILE -class WXDLLIMPEXP_BASE wxFile; +class WXDLLIMPEXP_FWD_BASE wxFile; #endif #if wxUSE_FFILE -class WXDLLIMPEXP_BASE wxFFile; +class WXDLLIMPEXP_FWD_BASE wxFFile; #endif // ---------------------------------------------------------------------------- diff --git a/include/wx/font.h b/include/wx/font.h index b8300fca36..1eaf4b54c3 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -24,10 +24,10 @@ // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFontData; -class WXDLLEXPORT wxFontBase; -class WXDLLEXPORT wxFont; -class WXDLLEXPORT wxSize; +class WXDLLIMPEXP_FWD_CORE wxFontData; +class WXDLLIMPEXP_FWD_CORE wxFontBase; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxSize; // ---------------------------------------------------------------------------- // font constants diff --git a/include/wx/fontmap.h b/include/wx/fontmap.h index d057c16bd6..fe4e25ed74 100644 --- a/include/wx/fontmap.h +++ b/include/wx/fontmap.h @@ -25,13 +25,13 @@ #endif // wxUSE_GUI #if wxUSE_CONFIG && wxUSE_FILECONFIG - class WXDLLIMPEXP_BASE wxConfigBase; + class WXDLLIMPEXP_FWD_BASE wxConfigBase; #endif // wxUSE_CONFIG -class WXDLLIMPEXP_CORE wxFontMapper; +class WXDLLIMPEXP_FWD_CORE wxFontMapper; #if wxUSE_GUI - class WXDLLIMPEXP_CORE wxWindow; + class WXDLLIMPEXP_FWD_CORE wxWindow; #endif // wxUSE_GUI // ============================================================================ diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h index 12798501f0..9cfb7d51f7 100644 --- a/include/wx/fontutil.h +++ b/include/wx/fontutil.h @@ -26,8 +26,8 @@ #include "wx/msw/wrapwin.h" #endif -class WXDLLIMPEXP_BASE wxArrayString; -struct WXDLLEXPORT wxNativeEncodingInfo; +class WXDLLIMPEXP_FWD_BASE wxArrayString; +struct WXDLLIMPEXP_FWD_CORE wxNativeEncodingInfo; #if defined(_WX_X_FONTLIKE) diff --git a/include/wx/fs_mem.h b/include/wx/fs_mem.h index 4d81398cfd..5c93134854 100644 --- a/include/wx/fs_mem.h +++ b/include/wx/fs_mem.h @@ -16,8 +16,8 @@ #include "wx/filesys.h" #if wxUSE_GUI - class WXDLLIMPEXP_CORE wxBitmap; - class WXDLLIMPEXP_CORE wxImage; + class WXDLLIMPEXP_FWD_CORE wxBitmap; + class WXDLLIMPEXP_FWD_CORE wxImage; #endif // wxUSE_GUI // ---------------------------------------------------------------------------- diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h index 18dce6cbfb..02386e3807 100644 --- a/include/wx/gdicmn.h +++ b/include/wx/gdicmn.h @@ -27,16 +27,16 @@ // forward declarations // --------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxBitmap; -class WXDLLIMPEXP_CORE wxBrush; -class WXDLLIMPEXP_CORE wxColour; -class WXDLLIMPEXP_CORE wxCursor; -class WXDLLIMPEXP_CORE wxFont; -class WXDLLIMPEXP_CORE wxIcon; -class WXDLLIMPEXP_CORE wxPalette; -class WXDLLIMPEXP_CORE wxPen; -class WXDLLIMPEXP_CORE wxRegion; -class WXDLLIMPEXP_BASE wxString; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxBrush; +class WXDLLIMPEXP_FWD_CORE wxColour; +class WXDLLIMPEXP_FWD_CORE wxCursor; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxIcon; +class WXDLLIMPEXP_FWD_CORE wxPalette; +class WXDLLIMPEXP_FWD_CORE wxPen; +class WXDLLIMPEXP_FWD_CORE wxRegion; +class WXDLLIMPEXP_FWD_BASE wxString; // --------------------------------------------------------------------------- // constants diff --git a/include/wx/generic/choicdgg.h b/include/wx/generic/choicdgg.h index 99b2367741..57fc94131f 100644 --- a/include/wx/generic/choicdgg.h +++ b/include/wx/generic/choicdgg.h @@ -15,7 +15,7 @@ #include "wx/dynarray.h" #include "wx/dialog.h" -class WXDLLEXPORT wxListBoxBase; +class WXDLLIMPEXP_FWD_CORE wxListBoxBase; // ---------------------------------------------------------------------------- // some (ugly...) constants diff --git a/include/wx/generic/laywin.h b/include/wx/generic/laywin.h index 5b355df4d1..a2336325a1 100644 --- a/include/wx/generic/laywin.h +++ b/include/wx/generic/laywin.h @@ -196,8 +196,8 @@ private: #endif // wxUSE_SASH -class WXDLLEXPORT wxMDIParentFrame; -class WXDLLEXPORT wxFrame; +class WXDLLIMPEXP_FWD_CORE wxMDIParentFrame; +class WXDLLIMPEXP_FWD_CORE wxFrame; // This class implements the layout algorithm class WXDLLIMPEXP_ADV wxLayoutAlgorithm: public wxObject diff --git a/include/wx/generic/numdlgg.h b/include/wx/generic/numdlgg.h index 2859462745..11d9cfb072 100644 --- a/include/wx/generic/numdlgg.h +++ b/include/wx/generic/numdlgg.h @@ -19,9 +19,9 @@ #include "wx/dialog.h" #if wxUSE_SPINCTRL - class WXDLLEXPORT wxSpinCtrl; + class WXDLLIMPEXP_FWD_CORE wxSpinCtrl; #else - class WXDLLEXPORT wxTextCtrl; + class WXDLLIMPEXP_FWD_CORE wxTextCtrl; #endif // wxUSE_SPINCTRL // ---------------------------------------------------------------------------- diff --git a/include/wx/generic/panelg.h b/include/wx/generic/panelg.h index be02bf70e2..ae5e74e829 100644 --- a/include/wx/generic/panelg.h +++ b/include/wx/generic/panelg.h @@ -19,7 +19,7 @@ #include "wx/window.h" #include "wx/containr.h" -class WXDLLEXPORT wxControlContainer; +class WXDLLIMPEXP_FWD_CORE wxControlContainer; extern WXDLLEXPORT_DATA(const wxChar) wxPanelNameStr[]; diff --git a/include/wx/generic/progdlgg.h b/include/wx/generic/progdlgg.h index 24f25446cc..85cbeedabd 100644 --- a/include/wx/generic/progdlgg.h +++ b/include/wx/generic/progdlgg.h @@ -19,9 +19,9 @@ #include "wx/dialog.h" -class WXDLLEXPORT wxButton; -class WXDLLEXPORT wxGauge; -class WXDLLEXPORT wxStaticText; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxGauge; +class WXDLLIMPEXP_FWD_CORE wxStaticText; /* Progress dialog which shows a moving progress bar. Taken from the Mahogany project.*/ @@ -161,7 +161,7 @@ private: #endif // __WXMSW__ // for wxPD_APP_MODAL case - class WXDLLEXPORT wxWindowDisabler *m_winDisabler; + class WXDLLIMPEXP_FWD_CORE wxWindowDisabler *m_winDisabler; DECLARE_EVENT_TABLE() DECLARE_NO_COPY_CLASS(wxProgressDialog) diff --git a/include/wx/generic/splitter.h b/include/wx/generic/splitter.h index 81b683af75..5e8aaccdc4 100644 --- a/include/wx/generic/splitter.h +++ b/include/wx/generic/splitter.h @@ -367,7 +367,7 @@ public: } private: - friend class WXDLLEXPORT wxSplitterWindow; + friend class WXDLLIMPEXP_FWD_CORE wxSplitterWindow; // data for the different types of event union diff --git a/include/wx/generic/textdlgg.h b/include/wx/generic/textdlgg.h index 88a65fbd9b..f27c49d5c5 100644 --- a/include/wx/generic/textdlgg.h +++ b/include/wx/generic/textdlgg.h @@ -22,7 +22,7 @@ #include "wx/valtext.h" #endif -class WXDLLEXPORT wxTextCtrl; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; extern WXDLLEXPORT_DATA(const wxChar) wxGetTextFromUserPromptStr[]; extern WXDLLEXPORT_DATA(const wxChar) wxGetPasswordFromUserPromptStr[]; diff --git a/include/wx/generic/wizard.h b/include/wx/generic/wizard.h index c09ec784f4..4301cd5195 100644 --- a/include/wx/generic/wizard.h +++ b/include/wx/generic/wizard.h @@ -16,11 +16,11 @@ // wxWizard // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxButton; -class WXDLLEXPORT wxStaticBitmap; -class WXDLLIMPEXP_ADV wxWizardEvent; -class WXDLLEXPORT wxBoxSizer; -class WXDLLIMPEXP_ADV wxWizardSizer; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxStaticBitmap; +class WXDLLIMPEXP_FWD_ADV wxWizardEvent; +class WXDLLIMPEXP_FWD_CORE wxBoxSizer; +class WXDLLIMPEXP_FWD_ADV wxWizardSizer; class WXDLLIMPEXP_ADV wxWizard : public wxWizardBase { diff --git a/include/wx/hash.h b/include/wx/hash.h index bf044c01da..fba0aa64c7 100644 --- a/include/wx/hash.h +++ b/include/wx/hash.h @@ -109,12 +109,12 @@ union wxHashKeyValue // for some compilers (AIX xlC), defining it as friend inside the class is not // enough, so provide a real forward declaration -class WXDLLIMPEXP_BASE wxHashTableBase; +class WXDLLIMPEXP_FWD_BASE wxHashTableBase; class WXDLLIMPEXP_BASE wxHashTableBase_Node { - friend class WXDLLIMPEXP_BASE wxHashTableBase; - typedef class WXDLLIMPEXP_BASE wxHashTableBase_Node _Node; + friend class WXDLLIMPEXP_FWD_BASE wxHashTableBase; + typedef class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node _Node; public: wxHashTableBase_Node( long key, void* value, wxHashTableBase* table ); @@ -154,7 +154,7 @@ class WXDLLIMPEXP_BASE wxHashTableBase : public wxObject #endif { - friend class WXDLLIMPEXP_BASE wxHashTableBase_Node; + friend class WXDLLIMPEXP_FWD_BASE wxHashTableBase_Node; public: typedef wxHashTableBase_Node Node; diff --git a/include/wx/html/helpctrl.h b/include/wx/html/helpctrl.h index 826fd20cf4..15328a0ad1 100644 --- a/include/wx/html/helpctrl.h +++ b/include/wx/html/helpctrl.h @@ -35,10 +35,10 @@ // Make the dialog modal when displaying help. #define wxHF_MODAL 0x00040000 -class WXDLLIMPEXP_HTML wxHtmlHelpDialog; -class WXDLLIMPEXP_HTML wxHtmlHelpWindow; -class WXDLLIMPEXP_HTML wxHtmlHelpFrame; -class WXDLLIMPEXP_HTML wxHtmlHelpDialog; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpDialog; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpWindow; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpFrame; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpDialog; class WXDLLIMPEXP_HTML wxHtmlHelpController : public wxHelpControllerBase // wxEvtHandler { diff --git a/include/wx/html/helpfrm.h b/include/wx/html/helpfrm.h index f3ff630171..6b9d6c39ac 100644 --- a/include/wx/html/helpfrm.h +++ b/include/wx/html/helpfrm.h @@ -32,10 +32,10 @@ #include "wx/html/helpwnd.h" #include "wx/html/htmprint.h" -class WXDLLIMPEXP_CORE wxButton; -class WXDLLIMPEXP_CORE wxTextCtrl; -class WXDLLIMPEXP_CORE wxTreeEvent; -class WXDLLIMPEXP_CORE wxTreeCtrl; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; +class WXDLLIMPEXP_FWD_CORE wxTreeEvent; +class WXDLLIMPEXP_FWD_CORE wxTreeCtrl; // style flags for the Help Frame @@ -62,9 +62,9 @@ class WXDLLIMPEXP_CORE wxTreeCtrl; struct wxHtmlHelpMergedIndexItem; class wxHtmlHelpMergedIndex; -class WXDLLIMPEXP_CORE wxHelpControllerBase; -class WXDLLIMPEXP_HTML wxHtmlHelpController; -class WXDLLIMPEXP_CORE wxHtmlHelpWindow; +class WXDLLIMPEXP_FWD_CORE wxHelpControllerBase; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpController; +class WXDLLIMPEXP_FWD_CORE wxHtmlHelpWindow; class WXDLLIMPEXP_HTML wxHtmlHelpFrame : public wxFrame { diff --git a/include/wx/html/helpwnd.h b/include/wx/html/helpwnd.h index 5e31933df5..cfe0bad1a6 100644 --- a/include/wx/html/helpwnd.h +++ b/include/wx/html/helpwnd.h @@ -31,10 +31,10 @@ #include "wx/html/htmlwin.h" #include "wx/html/htmprint.h" -class WXDLLIMPEXP_CORE wxButton; -class WXDLLIMPEXP_CORE wxTextCtrl; -class WXDLLIMPEXP_CORE wxTreeEvent; -class WXDLLIMPEXP_CORE wxTreeCtrl; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; +class WXDLLIMPEXP_FWD_CORE wxTreeEvent; +class WXDLLIMPEXP_FWD_CORE wxTreeCtrl; // style flags for the Help Frame #define wxHF_TOOLBAR 0x0001 @@ -67,8 +67,8 @@ struct wxHtmlHelpFrameCfg struct wxHtmlHelpMergedIndexItem; class wxHtmlHelpMergedIndex; -class WXDLLIMPEXP_CORE wxHelpControllerBase; -class WXDLLIMPEXP_HTML wxHtmlHelpController; +class WXDLLIMPEXP_FWD_CORE wxHelpControllerBase; +class WXDLLIMPEXP_FWD_HTML wxHtmlHelpController; /*! * Help window diff --git a/include/wx/html/htmlpars.h b/include/wx/html/htmlpars.h index 96c357639f..3bae4244ad 100644 --- a/include/wx/html/htmlpars.h +++ b/include/wx/html/htmlpars.h @@ -18,10 +18,10 @@ #include "wx/hash.h" #include "wx/fontenc.h" -class WXDLLIMPEXP_BASE wxMBConv; -class WXDLLIMPEXP_HTML wxHtmlParser; -class WXDLLIMPEXP_HTML wxHtmlTagHandler; -class WXDLLIMPEXP_HTML wxHtmlEntitiesParser; +class WXDLLIMPEXP_FWD_BASE wxMBConv; +class WXDLLIMPEXP_FWD_HTML wxHtmlParser; +class WXDLLIMPEXP_FWD_HTML wxHtmlTagHandler; +class WXDLLIMPEXP_FWD_HTML wxHtmlEntitiesParser; class wxHtmlTextPieces; class wxHtmlParserState; diff --git a/include/wx/html/htmltag.h b/include/wx/html/htmltag.h index b73ffc7441..79e6b22ab4 100644 --- a/include/wx/html/htmltag.h +++ b/include/wx/html/htmltag.h @@ -17,8 +17,8 @@ #include "wx/object.h" #include "wx/arrstr.h" -class WXDLLIMPEXP_CORE wxColour; -class WXDLLIMPEXP_HTML wxHtmlEntitiesParser; +class WXDLLIMPEXP_FWD_CORE wxColour; +class WXDLLIMPEXP_FWD_HTML wxHtmlEntitiesParser; //----------------------------------------------------------------------------- // wxHtmlTagsCache diff --git a/include/wx/iconbndl.h b/include/wx/iconbndl.h index 3749467240..c390b929e0 100644 --- a/include/wx/iconbndl.h +++ b/include/wx/iconbndl.h @@ -16,8 +16,8 @@ // for wxSize #include "wx/gdicmn.h" -class WXDLLIMPEXP_CORE wxIcon; -class WXDLLIMPEXP_BASE wxString; +class WXDLLIMPEXP_FWD_CORE wxIcon; +class WXDLLIMPEXP_FWD_BASE wxString; WX_DECLARE_EXPORTED_OBJARRAY( wxIcon, wxIconArray ); diff --git a/include/wx/image.h b/include/wx/image.h index b1d7eea62a..df7b056aa9 100644 --- a/include/wx/image.h +++ b/include/wx/image.h @@ -61,9 +61,9 @@ const unsigned char wxIMAGE_ALPHA_OPAQUE = 0xff; // classes //----------------------------------------------------------------------------- -class WXDLLEXPORT wxImageHandler; -class WXDLLEXPORT wxImage; -class WXDLLEXPORT wxPalette; +class WXDLLIMPEXP_FWD_CORE wxImageHandler; +class WXDLLIMPEXP_FWD_CORE wxImage; +class WXDLLIMPEXP_FWD_CORE wxPalette; //----------------------------------------------------------------------------- // wxVariant support @@ -423,7 +423,7 @@ protected: virtual wxObjectRefData* CloneRefData(const wxObjectRefData* data) const; private: - friend class WXDLLEXPORT wxImageHandler; + friend class WXDLLIMPEXP_FWD_CORE wxImageHandler; DECLARE_DYNAMIC_CLASS(wxImage) }; diff --git a/include/wx/layout.h b/include/wx/layout.h index 62655782b8..2691f5d0cd 100644 --- a/include/wx/layout.h +++ b/include/wx/layout.h @@ -32,8 +32,8 @@ // forward declrations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxWindowBase; -class WXDLLEXPORT wxLayoutConstraints; +class WXDLLIMPEXP_FWD_CORE wxWindowBase; +class WXDLLIMPEXP_FWD_CORE wxLayoutConstraints; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/list.h b/include/wx/list.h index 4a8541d372..ee39db8f14 100644 --- a/include/wx/list.h +++ b/include/wx/list.h @@ -503,7 +503,7 @@ class WXDLLIMPEXP_BASE wxList; class WXDLLIMPEXP_BASE wxListBase : public wxObject { -friend class WXDLLIMPEXP_BASE wxNodeBase; // should be able to call DetachNode() +friend class WXDLLIMPEXP_FWD_BASE wxNodeBase; // should be able to call DetachNode() friend class wxHashTableBase; // should be able to call untyped Find() public: diff --git a/include/wx/listbook.h b/include/wx/listbook.h index d6e110a219..13a2852866 100644 --- a/include/wx/listbook.h +++ b/include/wx/listbook.h @@ -18,8 +18,8 @@ #include "wx/bookctrl.h" -class WXDLLEXPORT wxListView; -class WXDLLEXPORT wxListEvent; +class WXDLLIMPEXP_FWD_CORE wxListView; +class WXDLLIMPEXP_FWD_CORE wxListEvent; extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED; extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING; diff --git a/include/wx/listbox.h b/include/wx/listbox.h index fb219e1ba5..0a73fab06f 100644 --- a/include/wx/listbox.h +++ b/include/wx/listbox.h @@ -23,8 +23,8 @@ #include "wx/ctrlsub.h" // base class // forward declarations are enough here -class WXDLLIMPEXP_BASE wxArrayInt; -class WXDLLIMPEXP_BASE wxArrayString; +class WXDLLIMPEXP_FWD_BASE wxArrayInt; +class WXDLLIMPEXP_FWD_BASE wxArrayString; // ---------------------------------------------------------------------------- // global data diff --git a/include/wx/log.h b/include/wx/log.h index 3b231dda2a..223a6f1498 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -69,10 +69,10 @@ typedef unsigned long wxLogLevel; // ---------------------------------------------------------------------------- #if wxUSE_GUI - class WXDLLIMPEXP_CORE wxTextCtrl; - class WXDLLIMPEXP_CORE wxLogFrame; - class WXDLLIMPEXP_CORE wxFrame; - class WXDLLIMPEXP_CORE wxWindow; + class WXDLLIMPEXP_FWD_CORE wxTextCtrl; + class WXDLLIMPEXP_FWD_CORE wxLogFrame; + class WXDLLIMPEXP_FWD_CORE wxFrame; + class WXDLLIMPEXP_FWD_CORE wxWindow; #endif // wxUSE_GUI // ---------------------------------------------------------------------------- diff --git a/include/wx/menu.h b/include/wx/menu.h index 9269597b02..f4e940b315 100644 --- a/include/wx/menu.h +++ b/include/wx/menu.h @@ -27,10 +27,10 @@ // included wx/menu.h #include "wx/menuitem.h" -class WXDLLEXPORT wxMenu; -class WXDLLEXPORT wxMenuBarBase; -class WXDLLEXPORT wxMenuBar; -class WXDLLEXPORT wxMenuItem; +class WXDLLIMPEXP_FWD_CORE wxMenu; +class WXDLLIMPEXP_FWD_CORE wxMenuBarBase; +class WXDLLIMPEXP_FWD_CORE wxMenuBar; +class WXDLLIMPEXP_FWD_CORE wxMenuItem; // pseudo template list classes WX_DECLARE_EXPORTED_LIST(wxMenu, wxMenuList); diff --git a/include/wx/menuitem.h b/include/wx/menuitem.h index 3425f1014a..a54c3c0190 100644 --- a/include/wx/menuitem.h +++ b/include/wx/menuitem.h @@ -26,9 +26,9 @@ // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxAcceleratorEntry; -class WXDLLEXPORT wxMenuItem; -class WXDLLEXPORT wxMenu; +class WXDLLIMPEXP_FWD_CORE wxAcceleratorEntry; +class WXDLLIMPEXP_FWD_CORE wxMenuItem; +class WXDLLIMPEXP_FWD_CORE wxMenu; // ---------------------------------------------------------------------------- // wxMenuItem is an item in the menu which may be either a normal item, a sub diff --git a/include/wx/mimetype.h b/include/wx/mimetype.h index 3c99c2c621..d4eb296233 100644 --- a/include/wx/mimetype.h +++ b/include/wx/mimetype.h @@ -27,9 +27,9 @@ #include "wx/arrstr.h" // fwd decls -class WXDLLIMPEXP_BASE wxIconLocation; -class WXDLLIMPEXP_BASE wxFileTypeImpl; -class WXDLLIMPEXP_BASE wxMimeTypesManagerImpl; +class WXDLLIMPEXP_FWD_BASE wxIconLocation; +class WXDLLIMPEXP_FWD_BASE wxFileTypeImpl; +class WXDLLIMPEXP_FWD_BASE wxMimeTypesManagerImpl; // these constants define the MIME informations source under UNIX and are used // by wxMimeTypesManager::Initialize() diff --git a/include/wx/msw/app.h b/include/wx/msw/app.h index 14a0192009..e4986770c6 100644 --- a/include/wx/msw/app.h +++ b/include/wx/msw/app.h @@ -15,11 +15,11 @@ #include "wx/event.h" #include "wx/icon.h" -class WXDLLIMPEXP_CORE wxFrame; -class WXDLLIMPEXP_CORE wxWindow; -class WXDLLIMPEXP_CORE wxApp; -class WXDLLIMPEXP_CORE wxKeyEvent; -class WXDLLIMPEXP_BASE wxLog; +class WXDLLIMPEXP_FWD_CORE wxFrame; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxApp; +class WXDLLIMPEXP_FWD_CORE wxKeyEvent; +class WXDLLIMPEXP_FWD_BASE wxLog; // Represents the application. Derive OnInit and declare // a new App object to start application diff --git a/include/wx/msw/bitmap.h b/include/wx/msw/bitmap.h index 0bfb06367e..5759dbd226 100644 --- a/include/wx/msw/bitmap.h +++ b/include/wx/msw/bitmap.h @@ -15,20 +15,20 @@ #include "wx/msw/gdiimage.h" #include "wx/palette.h" -class WXDLLEXPORT wxBitmap; -class WXDLLEXPORT wxBitmapHandler; -class WXDLLEXPORT wxBitmapRefData; -class WXDLLEXPORT wxControl; -class WXDLLEXPORT wxCursor; -class WXDLLEXPORT wxDC; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxBitmapHandler; +class WXDLLIMPEXP_FWD_CORE wxBitmapRefData; +class WXDLLIMPEXP_FWD_CORE wxControl; +class WXDLLIMPEXP_FWD_CORE wxCursor; +class WXDLLIMPEXP_FWD_CORE wxDC; #if wxUSE_WXDIB -class WXDLLEXPORT wxDIB; +class WXDLLIMPEXP_FWD_CORE wxDIB; #endif -class WXDLLEXPORT wxIcon; -class WXDLLEXPORT wxImage; -class WXDLLEXPORT wxMask; -class WXDLLEXPORT wxPalette; -class WXDLLEXPORT wxPixelDataBase; +class WXDLLIMPEXP_FWD_CORE wxIcon; +class WXDLLIMPEXP_FWD_CORE wxImage; +class WXDLLIMPEXP_FWD_CORE wxMask; +class WXDLLIMPEXP_FWD_CORE wxPalette; +class WXDLLIMPEXP_FWD_CORE wxPixelDataBase; // ---------------------------------------------------------------------------- // wxBitmap: a mono or colour bitmap diff --git a/include/wx/msw/checklst.h b/include/wx/msw/checklst.h index e347ba14fe..a632216403 100644 --- a/include/wx/msw/checklst.h +++ b/include/wx/msw/checklst.h @@ -16,8 +16,8 @@ #error "wxCheckListBox class requires owner-drawn functionality." #endif -class WXDLLEXPORT wxOwnerDrawn; -class WXDLLEXPORT wxCheckListBoxItem; // fwd decl, defined in checklst.cpp +class WXDLLIMPEXP_FWD_CORE wxOwnerDrawn; +class WXDLLIMPEXP_FWD_CORE wxCheckListBoxItem; // fwd decl, defined in checklst.cpp class WXDLLEXPORT wxCheckListBox : public wxCheckListBoxBase { diff --git a/include/wx/msw/clipbrd.h b/include/wx/msw/clipbrd.h index 3d0277004e..b5a1e62e15 100644 --- a/include/wx/msw/clipbrd.h +++ b/include/wx/msw/clipbrd.h @@ -47,7 +47,7 @@ WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, // wxClipboard //----------------------------------------------------------------------------- -class WXDLLEXPORT wxDataObject; +class WXDLLIMPEXP_FWD_CORE wxDataObject; class WXDLLEXPORT wxClipboard : public wxClipboardBase { DECLARE_DYNAMIC_CLASS(wxClipboard) diff --git a/include/wx/msw/listbox.h b/include/wx/msw/listbox.h index afe5f34d1e..d4eb27141c 100644 --- a/include/wx/msw/listbox.h +++ b/include/wx/msw/listbox.h @@ -19,7 +19,7 @@ // ---------------------------------------------------------------------------- #if wxUSE_OWNER_DRAWN - class WXDLLEXPORT wxOwnerDrawn; + class WXDLLIMPEXP_FWD_CORE wxOwnerDrawn; // define the array of list box items #include "wx/dynarray.h" @@ -28,7 +28,7 @@ #endif // wxUSE_OWNER_DRAWN // forward decl for GetSelections() -class WXDLLIMPEXP_BASE wxArrayInt; +class WXDLLIMPEXP_FWD_BASE wxArrayInt; // ---------------------------------------------------------------------------- // List box control diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index 1ddd207981..3f854eb479 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -14,7 +14,7 @@ #include "wx/textctrl.h" -class WXDLLEXPORT wxImageList; +class WXDLLIMPEXP_FWD_CORE wxImageList; /* The wxListCtrl can show lists of items in four different modes: diff --git a/include/wx/msw/menu.h b/include/wx/msw/menu.h index 99c6e7933a..50fd6fa9e9 100644 --- a/include/wx/msw/menu.h +++ b/include/wx/msw/menu.h @@ -19,10 +19,10 @@ WX_DEFINE_EXPORTED_ARRAY_PTR(wxAcceleratorEntry *, wxAcceleratorArray); #endif // wxUSE_ACCEL -class WXDLLEXPORT wxFrame; +class WXDLLIMPEXP_FWD_CORE wxFrame; #if defined(__WXWINCE__) && wxUSE_TOOLBAR -class WXDLLEXPORT wxToolBar; +class WXDLLIMPEXP_FWD_CORE wxToolBar; #endif diff --git a/include/wx/msw/ole/dropsrc.h b/include/wx/msw/ole/dropsrc.h index d92c31f7d8..9bdcb3584c 100644 --- a/include/wx/msw/ole/dropsrc.h +++ b/include/wx/msw/ole/dropsrc.h @@ -19,8 +19,8 @@ // ---------------------------------------------------------------------------- class wxIDropSource; -class WXDLLEXPORT wxDataObject; -class WXDLLEXPORT wxWindow; +class WXDLLIMPEXP_FWD_CORE wxDataObject; +class WXDLLIMPEXP_FWD_CORE wxWindow; // ---------------------------------------------------------------------------- // macros diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index b11c9c455a..a96d9d2183 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -23,9 +23,9 @@ #include "wx/log.h" -class WXDLLEXPORT wxFont; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxWindowBase; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindowBase; // --------------------------------------------------------------------------- // private constants diff --git a/include/wx/msw/registry.h b/include/wx/msw/registry.h index 45e48a72d6..ae3b7f8314 100644 --- a/include/wx/msw/registry.h +++ b/include/wx/msw/registry.h @@ -12,7 +12,7 @@ #ifndef _WX_MSW_REGISTRY_H_ #define _WX_MSW_REGISTRY_H_ -class WXDLLIMPEXP_BASE wxOutputStream; +class WXDLLIMPEXP_FWD_BASE wxOutputStream; // ---------------------------------------------------------------------------- // class wxRegKey encapsulates window HKEY handle diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index 8a3aed1844..d3cf88fc24 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -14,7 +14,7 @@ #include "wx/object.h" -class WXDLLIMPEXP_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLEXPORT wxToolTip : public wxObject { diff --git a/include/wx/msw/treectrl.h b/include/wx/msw/treectrl.h index fbed698472..04967431ae 100644 --- a/include/wx/msw/treectrl.h +++ b/include/wx/msw/treectrl.h @@ -30,9 +30,9 @@ #endif // Cygwin // fwd decl -class WXDLLEXPORT wxImageList; -class WXDLLEXPORT wxDragImage; -struct WXDLLEXPORT wxTreeViewItem; +class WXDLLIMPEXP_FWD_CORE wxImageList; +class WXDLLIMPEXP_FWD_CORE wxDragImage; +struct WXDLLIMPEXP_FWD_CORE wxTreeViewItem; #if WXWIN_COMPATIBILITY_2_6 // NB: all the following flags are for compatbility only and will be removed in the diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index d8eb3c27a1..fbeeca8090 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -23,21 +23,21 @@ #include "wx/dialog.h" #include "wx/frame.h" -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxButton; -class WXDLLEXPORT wxChoice; -class WXDLLEXPORT wxPrintout; -class WXDLLEXPORT wxPrinterBase; -class WXDLLEXPORT wxPrintDialogBase; -class WXDLLEXPORT wxPrintDialog; -class WXDLLEXPORT wxPageSetupDialogBase; -class WXDLLEXPORT wxPageSetupDialog; -class WXDLLEXPORT wxPrintPreviewBase; -class WXDLLEXPORT wxPreviewCanvas; -class WXDLLEXPORT wxPreviewControlBar; -class WXDLLEXPORT wxPreviewFrame; -class WXDLLEXPORT wxPrintFactory; -class WXDLLEXPORT wxPrintNativeDataBase; +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxChoice; +class WXDLLIMPEXP_FWD_CORE wxPrintout; +class WXDLLIMPEXP_FWD_CORE wxPrinterBase; +class WXDLLIMPEXP_FWD_CORE wxPrintDialogBase; +class WXDLLIMPEXP_FWD_CORE wxPrintDialog; +class WXDLLIMPEXP_FWD_CORE wxPageSetupDialogBase; +class WXDLLIMPEXP_FWD_CORE wxPageSetupDialog; +class WXDLLIMPEXP_FWD_CORE wxPrintPreviewBase; +class WXDLLIMPEXP_FWD_CORE wxPreviewCanvas; +class WXDLLIMPEXP_FWD_CORE wxPreviewControlBar; +class WXDLLIMPEXP_FWD_CORE wxPreviewFrame; +class WXDLLIMPEXP_FWD_CORE wxPrintFactory; +class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase; //---------------------------------------------------------------------------- // error consts diff --git a/include/wx/regex.h b/include/wx/regex.h index bda45030d2..6d88ac10ec 100644 --- a/include/wx/regex.h +++ b/include/wx/regex.h @@ -16,7 +16,7 @@ #if wxUSE_REGEX -class WXDLLIMPEXP_BASE wxString; +class WXDLLIMPEXP_FWD_BASE wxString; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/region.h b/include/wx/region.h index 1d038a6cbf..eede02e617 100644 --- a/include/wx/region.h +++ b/include/wx/region.h @@ -15,9 +15,9 @@ #include "wx/gdiobj.h" #include "wx/gdicmn.h" -class WXDLLIMPEXP_CORE wxBitmap; -class WXDLLEXPORT wxColour; -class WXDLLEXPORT wxRegion; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxColour; +class WXDLLIMPEXP_FWD_CORE wxRegion; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/renderer.h b/include/wx/renderer.h index a270f0848e..35b37e149c 100644 --- a/include/wx/renderer.h +++ b/include/wx/renderer.h @@ -25,8 +25,8 @@ #ifndef _WX_RENDERER_H_ #define _WX_RENDERER_H_ -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxWindow; +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxWindow; #include "wx/gdicmn.h" // for wxPoint #include "wx/colour.h" diff --git a/include/wx/scrolwin.h b/include/wx/scrolwin.h index 485195577d..e7660e93ea 100644 --- a/include/wx/scrolwin.h +++ b/include/wx/scrolwin.h @@ -14,8 +14,8 @@ #include "wx/panel.h" -class WXDLLEXPORT wxScrollHelperEvtHandler; -class WXDLLEXPORT wxTimer; +class WXDLLIMPEXP_FWD_CORE wxScrollHelperEvtHandler; +class WXDLLIMPEXP_FWD_CORE wxTimer; // default scrolled window style: scroll in both directions #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) diff --git a/include/wx/settings.h b/include/wx/settings.h index 556e932500..1adf37246a 100644 --- a/include/wx/settings.h +++ b/include/wx/settings.h @@ -15,7 +15,7 @@ #include "wx/colour.h" #include "wx/font.h" -class WXDLLEXPORT wxWindow; +class WXDLLIMPEXP_FWD_CORE wxWindow; // possible values for wxSystemSettings::GetFont() parameter // diff --git a/include/wx/sizer.h b/include/wx/sizer.h index aaa4b09461..77cc5887c5 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -20,10 +20,10 @@ // classes //--------------------------------------------------------------------------- -class WXDLLEXPORT wxButton; -class WXDLLEXPORT wxBoxSizer; -class WXDLLEXPORT wxSizerItem; -class WXDLLEXPORT wxSizer; +class WXDLLIMPEXP_FWD_CORE wxButton; +class WXDLLIMPEXP_FWD_CORE wxBoxSizer; +class WXDLLIMPEXP_FWD_CORE wxSizerItem; +class WXDLLIMPEXP_FWD_CORE wxSizer; #ifndef wxUSE_BORDER_BY_DEFAULT #ifdef __SMARTPHONE__ @@ -766,7 +766,7 @@ private: #if wxUSE_STATBOX -class WXDLLEXPORT wxStaticBox; +class WXDLLIMPEXP_FWD_CORE wxStaticBox; class WXDLLEXPORT wxStaticBoxSizer: public wxBoxSizer { diff --git a/include/wx/snglinst.h b/include/wx/snglinst.h index da34c90e5a..a060048360 100644 --- a/include/wx/snglinst.h +++ b/include/wx/snglinst.h @@ -55,7 +55,7 @@ private: void Init() { m_impl = NULL; } // the implementation details (platform specific) - class WXDLLIMPEXP_BASE wxSingleInstanceCheckerImpl *m_impl; + class WXDLLIMPEXP_FWD_BASE wxSingleInstanceCheckerImpl *m_impl; DECLARE_NO_COPY_CLASS(wxSingleInstanceChecker) }; diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index 677866a528..1f54ea3827 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -24,9 +24,9 @@ #include "wx/list.h" #include "wx/control.h" -class WXDLLEXPORT wxToolBarBase; -class WXDLLEXPORT wxToolBarToolBase; -class WXDLLEXPORT wxImage; +class WXDLLIMPEXP_FWD_CORE wxToolBarBase; +class WXDLLIMPEXP_FWD_CORE wxToolBarToolBase; +class WXDLLIMPEXP_FWD_CORE wxImage; // ---------------------------------------------------------------------------- // constants diff --git a/include/wx/treectrl.h b/include/wx/treectrl.h index a2c307834c..aa1fcdc505 100644 --- a/include/wx/treectrl.h +++ b/include/wx/treectrl.h @@ -24,7 +24,7 @@ #include "wx/treebase.h" #include "wx/textctrl.h" // wxTextCtrl::ms_classinfo used through CLASSINFO macro -class WXDLLEXPORT wxImageList; +class WXDLLIMPEXP_FWD_CORE wxImageList; // ---------------------------------------------------------------------------- // wxTreeCtrlBase diff --git a/include/wx/utils.h b/include/wx/utils.h index 91863a219a..1eac3a98ee 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -23,8 +23,8 @@ #include "wx/gdicmn.h" #endif -class WXDLLIMPEXP_BASE wxArrayString; -class WXDLLIMPEXP_BASE wxArrayInt; +class WXDLLIMPEXP_FWD_BASE wxArrayString; +class WXDLLIMPEXP_FWD_BASE wxArrayInt; // need this for wxGetDiskSpace() as we can't, unfortunately, forward declare // wxLongLong diff --git a/include/wx/window.h b/include/wx/window.h index ffbf0dc120..320dabe683 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -53,22 +53,22 @@ // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxCaret; -class WXDLLEXPORT wxControl; -class WXDLLEXPORT wxCursor; -class WXDLLEXPORT wxDC; -class WXDLLEXPORT wxDropTarget; -class WXDLLEXPORT wxItemResource; -class WXDLLEXPORT wxLayoutConstraints; -class WXDLLEXPORT wxResourceTable; -class WXDLLEXPORT wxSizer; -class WXDLLEXPORT wxToolTip; -class WXDLLEXPORT wxWindowBase; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxScrollHelper; +class WXDLLIMPEXP_FWD_CORE wxCaret; +class WXDLLIMPEXP_FWD_CORE wxControl; +class WXDLLIMPEXP_FWD_CORE wxCursor; +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_CORE wxDropTarget; +class WXDLLIMPEXP_FWD_CORE wxItemResource; +class WXDLLIMPEXP_FWD_CORE wxLayoutConstraints; +class WXDLLIMPEXP_FWD_CORE wxResourceTable; +class WXDLLIMPEXP_FWD_CORE wxSizer; +class WXDLLIMPEXP_FWD_CORE wxToolTip; +class WXDLLIMPEXP_FWD_CORE wxWindowBase; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxScrollHelper; #if wxUSE_ACCESSIBILITY -class WXDLLEXPORT wxAccessible; +class WXDLLIMPEXP_FWD_CORE wxAccessible; #endif // ---------------------------------------------------------------------------- @@ -1387,7 +1387,7 @@ private: static int ms_lastControlId; // the stack of windows which have captured the mouse - static struct WXDLLEXPORT wxWindowNext *ms_winCaptureNext; + static struct WXDLLIMPEXP_FWD_CORE wxWindowNext *ms_winCaptureNext; // the window that currently has mouse capture static wxWindow *ms_winCaptureCurrent; // indicates if execution is inside CaptureMouse/ReleaseMouse diff --git a/include/wx/xml/xml.h b/include/wx/xml/xml.h index 7c36f13b9e..4f41a29ea5 100644 --- a/include/wx/xml/xml.h +++ b/include/wx/xml/xml.h @@ -28,12 +28,12 @@ #define WXDLLIMPEXP_XML #endif -class WXDLLIMPEXP_XML wxXmlNode; -class WXDLLIMPEXP_XML wxXmlProperty; -class WXDLLIMPEXP_XML wxXmlDocument; -class WXDLLIMPEXP_XML wxXmlIOHandler; -class WXDLLIMPEXP_BASE wxInputStream; -class WXDLLIMPEXP_BASE wxOutputStream; +class WXDLLIMPEXP_FWD_XML wxXmlNode; +class WXDLLIMPEXP_FWD_XML wxXmlProperty; +class WXDLLIMPEXP_FWD_XML wxXmlDocument; +class WXDLLIMPEXP_FWD_XML wxXmlIOHandler; +class WXDLLIMPEXP_FWD_BASE wxInputStream; +class WXDLLIMPEXP_FWD_BASE wxOutputStream; // Represents XML node type. diff --git a/include/wx/xrc/xmlres.h b/include/wx/xrc/xmlres.h index a2758acef8..c6a4439892 100644 --- a/include/wx/xrc/xmlres.h +++ b/include/wx/xrc/xmlres.h @@ -29,17 +29,17 @@ #include "wx/xml/xml.h" -class WXDLLEXPORT wxMenu; -class WXDLLEXPORT wxMenuBar; -class WXDLLEXPORT wxDialog; -class WXDLLEXPORT wxPanel; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxFrame; -class WXDLLEXPORT wxToolBar; +class WXDLLIMPEXP_FWD_CORE wxMenu; +class WXDLLIMPEXP_FWD_CORE wxMenuBar; +class WXDLLIMPEXP_FWD_CORE wxDialog; +class WXDLLIMPEXP_FWD_CORE wxPanel; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxFrame; +class WXDLLIMPEXP_FWD_CORE wxToolBar; -class WXDLLIMPEXP_XRC wxXmlResourceHandler; -class WXDLLIMPEXP_XRC wxXmlSubclassFactory; -class WXDLLIMPEXP_XRC wxXmlSubclassFactoriesList; +class WXDLLIMPEXP_FWD_XRC wxXmlResourceHandler; +class WXDLLIMPEXP_FWD_XRC wxXmlSubclassFactory; +class WXDLLIMPEXP_FWD_XRC wxXmlSubclassFactoriesList; class wxXmlResourceModule; diff --git a/utils/wxrc/wxrc.cpp b/utils/wxrc/wxrc.cpp index c17c04b40d..260f6a6c61 100644 --- a/utils/wxrc/wxrc.cpp +++ b/utils/wxrc/wxrc.cpp @@ -559,7 +559,7 @@ static wxString FileToCppArray(wxString filename, int num) wxASSERT_MSG( offset >= 0 , wxT("Invalid file length") ); const size_t lng = wx_truncate_cast(size_t, offset); - wxASSERT_MSG( lng == offset, wxT("Huge file not supported") ); + wxASSERT_MSG( !(lng - offset), wxT("Huge file not supported") ); snum.Printf(_T("%i"), num); output.Printf(_T("static size_t xml_res_size_") + snum + _T(" = %i;\n"), lng); @@ -712,7 +712,7 @@ static wxString FileToPythonArray(wxString filename, int num) wxASSERT_MSG( offset >= 0 , wxT("Invalid file length") ); const size_t lng = wx_truncate_cast(size_t, offset); - wxASSERT_MSG( offset == lng, wxT("Huge file not supported") ); + wxASSERT_MSG( !(offset - lng), wxT("Huge file not supported") ); snum.Printf(_T("%i"), num); output = _T(" xml_res_file_") + snum + _T(" = '''\\\n");