]> git.saurik.com Git - wxWidgets.git/commitdiff
Now wxFrame derives from wxFrameMSW/GTK in non-wxUniv mode. Fixes RTTI problems.
authorJulian Smart <julian@anthemion.co.uk>
Wed, 27 Jun 2001 17:19:49 +0000 (17:19 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Wed, 27 Jun 2001 17:19:49 +0000 (17:19 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/frame.h
src/gtk/frame.cpp
src/gtk1/frame.cpp
src/msw/frame.cpp

index 039d1f258e435771e054c24fdb3696bd0f70d144..7277261c8361803ae819dc49ba7456aa70c761df 100644 (file)
@@ -239,19 +239,55 @@ protected:
 
 // include the real class declaration
 #if defined(__WXMSW__)
+    #include "wx/msw/frame.h"
     #ifndef __WXUNIVERSAL__
-        #define wxFrameMSW wxFrame
-        #define sm_classwxFrameMSW sm_classwxFrame
+
+    class WXDLLEXPORT wxFrame : public wxFrameMSW
+    {
+    public:
+        // construction
+        wxFrame() { Init(); }
+        wxFrame(wxWindow *parent,
+                   wxWindowID id,
+                   const wxString& title,
+                   const wxPoint& pos = wxDefaultPosition,
+                   const wxSize& size = wxDefaultSize,
+                   long style = wxDEFAULT_FRAME_STYLE,
+                   const wxString& name = wxFrameNameStr)
+        {
+            Init();
+            Create(parent, id, title, pos, size, style, name);
+        }
+        DECLARE_DYNAMIC_CLASS(wxFrame)
+    };
+
     #endif
-    #include "wx/msw/frame.h"
 #elif defined(__WXMOTIF__)
     #include "wx/motif/frame.h"
 #elif defined(__WXGTK__)
+    #include "wx/gtk/frame.h"
     #ifndef __WXUNIVERSAL__
-        #define wxFrameGTK wxFrame
-        #define sm_classwxFrameGTK sm_classwxFrame
+
+    class WXDLLEXPORT wxFrame : public wxFrameGTK
+    {
+    public:
+        // construction
+        wxFrame() { Init(); }
+        wxFrame(wxWindow *parent,
+                   wxWindowID id,
+                   const wxString& title,
+                   const wxPoint& pos = wxDefaultPosition,
+                   const wxSize& size = wxDefaultSize,
+                   long style = wxDEFAULT_FRAME_STYLE,
+                   const wxString& name = wxFrameNameStr)
+        {
+            Init();
+            Create(parent, id, title, pos, size, style, name);
+        }
+        DECLARE_DYNAMIC_CLASS(wxFrame)
+    };
+
     #endif
-    #include "wx/gtk/frame.h"
 #elif defined(__WXMGL__)
     #include "wx/mgl/frame.h"
 #elif defined(__WXQT__)
index 18d58ae61ef13b81cebf44ffb91ec529be567d93..81e73bdc1d7441464ac7933ae53391b0641a6a9e 100644 (file)
@@ -67,7 +67,8 @@ extern int g_openDialogs;
 #ifdef __WXUNIVERSAL__
     IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow)
 #else
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
+    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameGTK)
+    IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow)
 #endif
 
 // ----------------------------------------------------------------------------
index 18d58ae61ef13b81cebf44ffb91ec529be567d93..81e73bdc1d7441464ac7933ae53391b0641a6a9e 100644 (file)
@@ -67,7 +67,8 @@ extern int g_openDialogs;
 #ifdef __WXUNIVERSAL__
     IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow)
 #else
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
+    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameGTK)
+    IMPLEMENT_DYNAMIC_CLASS(wxFrameGTK, wxWindow)
 #endif
 
 // ----------------------------------------------------------------------------
index 6ff16e1ff835f2f19da9eab37ab23a50b5c1ed0f..2a738679e0be0ffdb75c72ed4c7bdde741c8fe98 100644 (file)
@@ -81,6 +81,7 @@ BEGIN_EVENT_TABLE(wxFrameMSW, wxFrameBase)
 END_EVENT_TABLE()
 
 IMPLEMENT_DYNAMIC_CLASS(wxFrameMSW, wxWindow)
+IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameMSW)
 
 // ============================================================================
 // implementation
@@ -403,7 +404,7 @@ void wxFrameMSW::SetIcon(const wxIcon& icon)
 }
 
 // generate an artificial resize event
-void wxFrame::SendSizeEvent()
+void wxFrameMSW::SendSizeEvent()
 {
     RECT r;
 #ifdef __WIN16__