]> git.saurik.com Git - wxWidgets.git/commitdiff
wxUniv compilation fixes
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 Jul 2001 12:25:46 +0000 (12:25 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 10 Jul 2001 12:25:46 +0000 (12:25 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

37 files changed:
distrib/msw/tmake/filelist.txt
include/wx/frame.h
include/wx/gtk/frame.h
include/wx/gtk/popupwin.h
include/wx/gtk/window.h
include/wx/gtk1/frame.h
include/wx/gtk1/popupwin.h
include/wx/gtk1/window.h
include/wx/msw/frame.h
include/wx/msw/window.h
include/wx/popupwin.h
include/wx/univ/menu.h
include/wx/window.h
src/common/framecmn.cpp
src/common/popupcmn.cpp
src/files.lst
src/generic/listctrl.cpp
src/gtk/frame.cpp
src/gtk/popupwin.cpp
src/gtk/window.cpp
src/gtk1/frame.cpp
src/gtk1/popupwin.cpp
src/gtk1/window.cpp
src/motif/files.lst
src/msw/files.lst
src/msw/frame.cpp
src/msw/makefile.b32
src/msw/makefile.bcc
src/msw/makefile.dos
src/msw/makefile.g95
src/msw/makefile.sc
src/msw/makefile.vc
src/msw/makefile.wat
src/univ/combobox.cpp
src/univ/files.lst
src/univ/framuniv.cpp
src/univ/menu.cpp

index 86fdcf17f8e9c233d24021e9e364b7b5d849e6c5..7679fa055590e9ae7018719522b4f0c77d9a0861 100644 (file)
@@ -256,6 +256,7 @@ dragimag.cpp        MSW
 dropsrc.cpp    MSW     OLE
 droptgt.cpp    MSW     OLE
 enhmeta.cpp    MSW     Win32Only
+evtloop.cpp    MSW     LowLevel
 filedlg.cpp    MSW
 font.cpp       MSW
 fontdlg.cpp    MSW
@@ -390,6 +391,7 @@ dcmemory.cpp        GTK     LowLevel
 dcscreen.cpp   GTK     LowLevel
 dialog.cpp     GTK     LowLevel
 dnd.cpp        GTK     LowLevel
+evtloop.cpp    GTK     LowLevel
 font.cpp       GTK     LowLevel
 fontdlg.cpp    GTK
 frame.cpp      GTK     LowLevel
index 066701948285dcf492a1ae4372b1f6b4f844b949..5e5d7aabe551c12cefcdd46788102f0ca240d3c9 100644 (file)
@@ -105,7 +105,7 @@ public:
     // ------------------
 
 #if wxUSE_MENUS
-    virtual void SetMenuBar(wxMenuBar *menubar) = 0;
+    virtual void SetMenuBar(wxMenuBar *menubar);
     virtual wxMenuBar *GetMenuBar() const { return m_frameMenuBar; }
 #endif // wxUSE_MENUS
 
@@ -200,6 +200,14 @@ protected:
     // override to update menu bar position when the frame size changes
     virtual void PositionMenuBar() { }
 
+    // override to do something special when the menu bar is being removed
+    // from the frame
+    virtual void DetachMenuBar();
+
+    // override to do something special when the menu bar is attached to the
+    // frame
+    virtual void AttachMenuBar(wxMenuBar *menubar);
+
     wxMenuBar *m_frameMenuBar;
 #endif // wxUSE_MENUS
 
index fd7e72f4d36ce68eeece9b9a82887d413c84cbf2..8d3764474078b79680132c77cf3fe9b033d83434 100644 (file)
@@ -70,10 +70,6 @@ public:
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
     virtual bool IsFullScreen() const { return m_fsIsShowing; };
 
-#if wxUSE_MENUS
-    virtual void SetMenuBar( wxMenuBar *menuBar );
-#endif // wxUSE_MENUS
-
 #if wxUSE_STATUSBAR
     virtual void PositionStatusBar();
 
@@ -134,8 +130,13 @@ protected:
     virtual void DoSetClientSize(int width, int height);
     virtual void DoGetClientSize( int *width, int *height ) const;
 
+#if wxUSE_MENUS_NATIVE
+    virtual void DetachMenuBar();
+    virtual void AttachMenuBar(wxMenuBar *menubar);
+#endif // wxUSE_MENUS_NATIVE
+
     // is the frame currently iconized?
-    bool          m_isIconized;
+    bool m_isIconized;
 };
 
 #endif // __GTKFRAMEH__
index 4d161eafdebf5312e4c0d6aaac3d97c4fe29c744..ef0b43b49ff7f7026bd265d36517ec971e1e7e84 100644 (file)
@@ -4,15 +4,15 @@
 // Author:      Robert Roebling
 // Created:
 // Id:          $Id$
-// Copyright:   (c) 1998 Robert Roebling
-// Licence:           wxWindows licence
+// Copyright:   (c) 2001 Robert Roebling
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __GTKPOPUPWINH__
 #define __GTKPOPUPWINH__
 
 #ifdef __GNUG__
-#pragma interface
+    #pragma interface "popupwin.h"
 #endif
 
 #include "wx/defs.h"
index cff540d0fd51d981f3630f16f09a2ae2fd630fb5..8fafeca033dd800510c1325c7ccecdc593f17aff 100644 (file)
@@ -85,9 +85,9 @@ public:
                                const wxFont *theFont = (const wxFont *) NULL)
                                const;
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
     virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
     virtual void SetScrollbar( int orient, int pos, int thumbVisible,
                                int range, bool refresh = TRUE );
index fd7e72f4d36ce68eeece9b9a82887d413c84cbf2..8d3764474078b79680132c77cf3fe9b033d83434 100644 (file)
@@ -70,10 +70,6 @@ public:
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
     virtual bool IsFullScreen() const { return m_fsIsShowing; };
 
-#if wxUSE_MENUS
-    virtual void SetMenuBar( wxMenuBar *menuBar );
-#endif // wxUSE_MENUS
-
 #if wxUSE_STATUSBAR
     virtual void PositionStatusBar();
 
@@ -134,8 +130,13 @@ protected:
     virtual void DoSetClientSize(int width, int height);
     virtual void DoGetClientSize( int *width, int *height ) const;
 
+#if wxUSE_MENUS_NATIVE
+    virtual void DetachMenuBar();
+    virtual void AttachMenuBar(wxMenuBar *menubar);
+#endif // wxUSE_MENUS_NATIVE
+
     // is the frame currently iconized?
-    bool          m_isIconized;
+    bool m_isIconized;
 };
 
 #endif // __GTKFRAMEH__
index 4d161eafdebf5312e4c0d6aaac3d97c4fe29c744..ef0b43b49ff7f7026bd265d36517ec971e1e7e84 100644 (file)
@@ -4,15 +4,15 @@
 // Author:      Robert Roebling
 // Created:
 // Id:          $Id$
-// Copyright:   (c) 1998 Robert Roebling
-// Licence:           wxWindows licence
+// Copyright:   (c) 2001 Robert Roebling
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __GTKPOPUPWINH__
 #define __GTKPOPUPWINH__
 
 #ifdef __GNUG__
-#pragma interface
+    #pragma interface "popupwin.h"
 #endif
 
 #include "wx/defs.h"
index cff540d0fd51d981f3630f16f09a2ae2fd630fb5..8fafeca033dd800510c1325c7ccecdc593f17aff 100644 (file)
@@ -85,9 +85,9 @@ public:
                                const wxFont *theFont = (const wxFont *) NULL)
                                const;
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
     virtual bool DoPopupMenu( wxMenu *menu, int x, int y );
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
     virtual void SetScrollbar( int orient, int pos, int thumbVisible,
                                int range, bool refresh = TRUE );
index 9b76f8b8c0d4ab4596e6dc50e7cad78c138d74b2..22509da92084c554c1400ef5ea989e4bf64bac04 100644 (file)
@@ -50,7 +50,6 @@ public:
     virtual void Iconize(bool iconize = TRUE);
     virtual bool IsIconized() const;
     virtual void Restore();
-    virtual void SetMenuBar(wxMenuBar *menubar);
     virtual void SetIcon(const wxIcon& icon);
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
     virtual bool IsFullScreen() const { return m_fsIsShowing; };
@@ -134,10 +133,10 @@ protected:
 
     virtual void DoSetClientSize(int width, int height);
 
-    // helper
-    void DetachMenuBar();
-
 #if wxUSE_MENUS_NATIVE
+    // perform MSW-specific action when menubar is changed
+    virtual void AttachMenuBar(wxMenuBar *menubar);
+
     // a plug in for MDI frame classes which need to do something special when
     // the menubar is set
     virtual void InternalSetMenuBar();
index ccd6f259c4138c20537a0619bdaf5764b16202db..6bdc49db2a8e757ec7f91ac8fdfda909272281e7 100644 (file)
 // a better solution should be found later...
 #define wxUSE_MOUSEEVENT_HACK 0
 
-// when building wxUniv/MSW we don't want the code for native menu use to be
-// compiled in - it should only be used when building real wxMSW
-#ifdef __WXUNIVERSAL__
-    #define wxUSE_MENUS_NATIVE 0
-#else // __WXMSW__
-    #define wxUSE_MENUS_NATIVE wxUSE_MENUS
-#endif // __WXUNIVERSAL__/__WXMSW__
-
 // ---------------------------------------------------------------------------
 // constants
 // ---------------------------------------------------------------------------
index 4c00cc1ed99684412d97ce6e29f466a48fe49c39..9774f8e23b247d44b7d5c0b7e43a2a2137db6af0 100644 (file)
@@ -13,7 +13,7 @@
 #define _WX_POPUPWIN_H_BASE_
 
 #ifdef __GNUG__
-    #pragma interface "popupwin.h"
+    #pragma interface "popupwinbase.h"
 #endif
 
 #include "wx/window.h"
index c8f14231eb37c7fd2cc766f6185de09e230ba83e..1e75af07633c65345c5b499b3b5837735b32b26b 100644 (file)
@@ -278,11 +278,7 @@ private:
     bool m_shouldShowMenu;
 
     // it calls out ProcessMouseEvent()
-#ifdef __WXMAC__
     friend class wxPopupMenuWindow;
-#else
-    friend wxPopupMenuWindow;
-#endif
 
     DECLARE_EVENT_TABLE()
     DECLARE_DYNAMIC_CLASS(wxMenuBar)
index 5cef6812a18163f6a0fea62f79344d72d22bceca..f425041036a237e2feaf5e210b42d3774bc62195 100644 (file)
     #include "wx/accel.h"
 #endif // wxUSE_ACCEL
 
+// when building wxUniv/Foo we don't want the code for native menu use to be
+// compiled in - it should only be used when building real wxFoo
+#ifdef __WXUNIVERSAL__
+    #define wxUSE_MENUS_NATIVE 0
+#else // __WXMSW__
+    #define wxUSE_MENUS_NATIVE wxUSE_MENUS
+#endif // __WXUNIVERSAL__/__WXMSW__
+
 // ----------------------------------------------------------------------------
 // forward declarations
 // ----------------------------------------------------------------------------
index 9ec8339d2f591c1320bfcd71b24e8c693b92ce97..318b662f28f77703de453322573db475a7c858d4 100644 (file)
@@ -321,6 +321,13 @@ bool wxFrameBase::SendIconizeEvent(bool iconized)
     return GetEventHandler()->ProcessEvent(event);
 }
 
+void wxFrameBase::OnIdle(wxIdleEvent& WXUNUSED(event) )
+{
+#if wxUSE_MENUS
+    DoMenuUpdates();
+#endif // wxUSE_MENUS
+}
+
 // ----------------------------------------------------------------------------
 // status bar stuff
 // ----------------------------------------------------------------------------
@@ -449,16 +456,9 @@ wxToolBar* wxFrameBase::OnCreateToolBar(long style,
 #endif // wxUSE_TOOLBAR
 
 // ----------------------------------------------------------------------------
-// Menu UI updating
+// menus
 // ----------------------------------------------------------------------------
 
-void wxFrameBase::OnIdle(wxIdleEvent& WXUNUSED(event) )
-{
-#if wxUSE_MENUS
-    DoMenuUpdates();
-#endif // wxUSE_MENUS
-}
-
 #if wxUSE_MENUS
 
 // update all menus
@@ -510,4 +510,35 @@ void wxFrameBase::DoMenuUpdates(wxMenu* menu, wxWindow* focusWin)
     }
 }
 
+void wxFrameBase::DetachMenuBar()
+{
+    if ( m_frameMenuBar )
+    {
+        m_frameMenuBar->Detach();
+        m_frameMenuBar = NULL;
+    }
+}
+
+void wxFrameBase::AttachMenuBar(wxMenuBar *menubar)
+{
+    if ( menubar )
+    {
+        m_frameMenuBar = menubar;
+        menubar->Attach((wxFrame *)this);
+    }
+}
+
+void wxFrameBase::SetMenuBar(wxMenuBar *menubar)
+{
+    if ( menubar == GetMenuBar() )
+    {
+        // nothing to do
+        return;
+    }
+
+    DetachMenuBar();
+
+    AttachMenuBar(menubar);
+}
+
 #endif // wxUSE_MENUS
index b0309296cc452ac85a8b98e7d9e3637be0a3247c..d6319df90405c9389ae4b9883b47b4f6efb22653 100644 (file)
@@ -18,7 +18,7 @@
 // ----------------------------------------------------------------------------
 
 #ifdef __GNUG__
-    #pragma implementation "popupwin.h"
+    #pragma implementation "popupwinbase.h"
 #endif
 
 // For compilers that support precompilation, includes "wx.h".
index 090f343ea8108c4b6a3b628b33ad48448077b4a8..909c57198eaae7afddb9bab87e0a4e4728c350bf 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BASE.T!
 ALL_SOURCES = \
                common/init.cpp \
index a2c0f37a5c176ad6c3702ec6e53a6366c4acc81f..aa69f008cee3f6781302648bfa9d461d0a02eaa0 100644 (file)
@@ -4027,17 +4027,24 @@ void wxListMainWindow::GetVisibleLinesRange(size_t *from, size_t *to)
 
     if ( m_lineFrom == (size_t)-1 )
     {
-        m_lineFrom = GetScrollPos(wxVERTICAL);
-
         size_t count = GetItemCount();
+        if ( count )
+        {
+            m_lineFrom = GetScrollPos(wxVERTICAL);
 
-        wxASSERT_MSG( m_lineFrom < count, _T("invalid scroll position?") );
+            wxASSERT_MSG( m_lineFrom < count, _T("invalid scroll position?") );
 
-        // we redraw one extra line but this is needed to make the redrawing
-        // logic work when there is a fractional number of lines on screen
-        m_lineTo = m_lineFrom + m_linesPerPage;
-        if ( m_lineTo >= count )
-            m_lineTo = count - 1;
+            // we redraw one extra line but this is needed to make the redrawing
+            // logic work when there is a fractional number of lines on screen
+            m_lineTo = m_lineFrom + m_linesPerPage;
+            if ( m_lineTo >= count )
+                m_lineTo = count - 1;
+        }
+        else // empty control
+        {
+            m_lineFrom = 0;
+            m_lineTo = (size_t)-1;
+        }
     }
 
     wxASSERT_MSG( m_lineFrom <= m_lineTo && m_lineTo < GetItemCount(),
index 9bd428174f078c5062d729709e17d544c4ef07b3..fb364d258e6130ab0898cac62a7e347015a1c104 100644 (file)
@@ -153,7 +153,8 @@ static gint gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WX
     return TRUE;
 }
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
+
 //-----------------------------------------------------------------------------
 // "child_attached" of menu bar
 //-----------------------------------------------------------------------------
@@ -177,7 +178,8 @@ static void gtk_menu_detached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *
     win->m_menuBarDetached = TRUE;
     win->GtkUpdateSize();
 }
-#endif // wxUSE_MENUS
+
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_TOOLBAR
 //-----------------------------------------------------------------------------
@@ -1050,17 +1052,14 @@ void wxFrameGTK::OnInternalIdle()
 // menu/tool/status bar stuff
 // ----------------------------------------------------------------------------
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
 
-void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
+void wxFrameGTK::DetachMenuBar()
 {
     wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
     wxASSERT_MSG( (m_wxwindow != NULL), wxT("invalid frame") );
 
-    if (menuBar == m_frameMenuBar)
-        return;
-
-    if (m_frameMenuBar)
+    if ( m_frameMenuBar )
     {
         m_frameMenuBar->UnsetInvokingWindow( this );
 
@@ -1078,7 +1077,12 @@ void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
         gtk_widget_unparent( m_frameMenuBar->m_widget );
     }
 
-    m_frameMenuBar = menuBar;
+    wxFrameBase::DetachMenuBar();
+}
+
+void wxFrameGTK::AttachMenuBar( wxMenuBar *menuBar )
+{
+    wxFrameBase::AttachMenuBar(menuBar);
 
     if (m_frameMenuBar)
     {
@@ -1108,7 +1112,7 @@ void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
     m_sizeSet = FALSE;
 }
 
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_TOOLBAR
 
index 36ef2e7b624968f6408fe0105b0acade33b62dd9..1bda6c9850bd9c677d1bca4476ec723f5bf006fa 100644 (file)
@@ -141,11 +141,11 @@ static void wxInsertChildInDialog( wxPopupWindow* parent, wxWindow* child )
 // wxPopupWindow
 //-----------------------------------------------------------------------------
 
-BEGIN_EVENT_TABLE(wxPopupWindow,wxPopupWindowBase)
-    EVT_SIZE    (wxPopupWindow::OnSize)
+BEGIN_EVENT_TABLE(wxPopupWindow, wxPopupWindowBase)
+    EVT_SIZE(wxPopupWindow::OnSize)
 END_EVENT_TABLE()
 
-IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow,wxPopupWindowBase)
+IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow)
 
 bool wxPopupWindow::Create( wxWindow *parent, int style )
 {
index 292de55f0df749f57e990355d83b9c29e5c212cf..15b54ffc16f9773d70d4959560877edfd85c1fa0 100644 (file)
@@ -2260,11 +2260,13 @@ wxWindow *wxGetActiveWindow()
 // wxWindowGTK
 //-----------------------------------------------------------------------------
 
+// in wxUniv/MSW this class is abstract because it doesn't have DoPopupMenu()
+// method
 #ifdef __WXUNIVERSAL__
-    IMPLEMENT_DYNAMIC_CLASS(wxWindowGTK, wxWindowBase)
-#else
+    IMPLEMENT_ABSTRACT_CLASS(wxWindowGTK, wxWindowBase)
+#else // __WXGTK__
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowBase)
-#endif
+#endif // __WXUNIVERSAL__/__WXGTK__
 
 void wxWindowGTK::Init()
 {
@@ -3605,7 +3607,7 @@ void wxWindowGTK::ApplyWidgetStyle()
 // Pop-up menu stuff
 //-----------------------------------------------------------------------------
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
 
 static void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting  )
 {
@@ -3677,7 +3679,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
     return TRUE;
 }
 
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_DRAG_AND_DROP
 
index 9bd428174f078c5062d729709e17d544c4ef07b3..fb364d258e6130ab0898cac62a7e347015a1c104 100644 (file)
@@ -153,7 +153,8 @@ static gint gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WX
     return TRUE;
 }
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
+
 //-----------------------------------------------------------------------------
 // "child_attached" of menu bar
 //-----------------------------------------------------------------------------
@@ -177,7 +178,8 @@ static void gtk_menu_detached_callback( GtkWidget *WXUNUSED(widget), GtkWidget *
     win->m_menuBarDetached = TRUE;
     win->GtkUpdateSize();
 }
-#endif // wxUSE_MENUS
+
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_TOOLBAR
 //-----------------------------------------------------------------------------
@@ -1050,17 +1052,14 @@ void wxFrameGTK::OnInternalIdle()
 // menu/tool/status bar stuff
 // ----------------------------------------------------------------------------
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
 
-void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
+void wxFrameGTK::DetachMenuBar()
 {
     wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
     wxASSERT_MSG( (m_wxwindow != NULL), wxT("invalid frame") );
 
-    if (menuBar == m_frameMenuBar)
-        return;
-
-    if (m_frameMenuBar)
+    if ( m_frameMenuBar )
     {
         m_frameMenuBar->UnsetInvokingWindow( this );
 
@@ -1078,7 +1077,12 @@ void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
         gtk_widget_unparent( m_frameMenuBar->m_widget );
     }
 
-    m_frameMenuBar = menuBar;
+    wxFrameBase::DetachMenuBar();
+}
+
+void wxFrameGTK::AttachMenuBar( wxMenuBar *menuBar )
+{
+    wxFrameBase::AttachMenuBar(menuBar);
 
     if (m_frameMenuBar)
     {
@@ -1108,7 +1112,7 @@ void wxFrameGTK::SetMenuBar( wxMenuBar *menuBar )
     m_sizeSet = FALSE;
 }
 
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_TOOLBAR
 
index 36ef2e7b624968f6408fe0105b0acade33b62dd9..1bda6c9850bd9c677d1bca4476ec723f5bf006fa 100644 (file)
@@ -141,11 +141,11 @@ static void wxInsertChildInDialog( wxPopupWindow* parent, wxWindow* child )
 // wxPopupWindow
 //-----------------------------------------------------------------------------
 
-BEGIN_EVENT_TABLE(wxPopupWindow,wxPopupWindowBase)
-    EVT_SIZE    (wxPopupWindow::OnSize)
+BEGIN_EVENT_TABLE(wxPopupWindow, wxPopupWindowBase)
+    EVT_SIZE(wxPopupWindow::OnSize)
 END_EVENT_TABLE()
 
-IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow,wxPopupWindowBase)
+IMPLEMENT_DYNAMIC_CLASS(wxPopupWindow, wxWindow)
 
 bool wxPopupWindow::Create( wxWindow *parent, int style )
 {
index 292de55f0df749f57e990355d83b9c29e5c212cf..15b54ffc16f9773d70d4959560877edfd85c1fa0 100644 (file)
@@ -2260,11 +2260,13 @@ wxWindow *wxGetActiveWindow()
 // wxWindowGTK
 //-----------------------------------------------------------------------------
 
+// in wxUniv/MSW this class is abstract because it doesn't have DoPopupMenu()
+// method
 #ifdef __WXUNIVERSAL__
-    IMPLEMENT_DYNAMIC_CLASS(wxWindowGTK, wxWindowBase)
-#else
+    IMPLEMENT_ABSTRACT_CLASS(wxWindowGTK, wxWindowBase)
+#else // __WXGTK__
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowBase)
-#endif
+#endif // __WXUNIVERSAL__/__WXGTK__
 
 void wxWindowGTK::Init()
 {
@@ -3605,7 +3607,7 @@ void wxWindowGTK::ApplyWidgetStyle()
 // Pop-up menu stuff
 //-----------------------------------------------------------------------------
 
-#if wxUSE_MENUS
+#if wxUSE_MENUS_NATIVE
 
 static void gtk_pop_hide_callback( GtkWidget *WXUNUSED(widget), bool* is_waiting  )
 {
@@ -3677,7 +3679,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
     return TRUE;
 }
 
-#endif // wxUSE_MENUS
+#endif // wxUSE_MENUS_NATIVE
 
 #if wxUSE_DRAG_AND_DROP
 
index 84c1b4cb83348af6721ed12bd93dec0c34e2e19d..63dd6e5e987836540a9fc0aab23ff9fddd515cf6 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MOTIF.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
index 13424fd721a8dba2f88034086e683921fa802d10..1f8f6b056dc65e7bd93131030c21f0d8ba99986e 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE MSW.T!
 ALL_SOURCES = \
                generic/busyinfo.cpp \
index 0a453aba9aada46a477f9fa54995b232f112bc86..4304b09fee2993aef573134ec569be0e4f704d1d 100644 (file)
@@ -486,24 +486,10 @@ void wxFrameMSW::PositionStatusBar()
 }
 #endif // wxUSE_STATUSBAR
 
-void wxFrameMSW::DetachMenuBar()
-{
-#if wxUSE_MENUS
-    if ( m_frameMenuBar )
-    {
-        m_frameMenuBar->Detach();
-        m_frameMenuBar = NULL;
-    }
-#endif // wxUSE_MENUS
-}
+#if wxUSE_MENUS_NATIVE
 
-void wxFrameMSW::SetMenuBar(wxMenuBar *menubar)
+void wxFrameMSW::AttachMenuBar(wxMenuBar *menubar)
 {
-#if wxUSE_MENUS
-    // detach the old menu bar in any case
-    DetachMenuBar();
-
-#if wxUSE_MENUS_NATIVE
     if ( !menubar )
     {
         // actually remove the menu from the frame
@@ -519,7 +505,7 @@ void wxFrameMSW::SetMenuBar(wxMenuBar *menubar)
         }
         else
         {
-            if (menubar->IsAttached())
+            if ( menubar->IsAttached() )
                 menubar->Detach();
 
             m_hMenu = menubar->Create();
@@ -530,18 +516,8 @@ void wxFrameMSW::SetMenuBar(wxMenuBar *menubar)
 
         InternalSetMenuBar();
     }
-#endif // wxUSE_MENUS_NATIVE
-
-    if ( menubar )
-    {
-        m_frameMenuBar = menubar;
-        menubar->Attach((wxFrame *)this);
-    }
-#endif // wxUSE_MENUS
 }
 
-#if wxUSE_MENUS_NATIVE
-
 void wxFrameMSW::InternalSetMenuBar()
 {
 #ifndef __WXMICROWIN__
index 5a4bd9dc980abe6ad95c043dff01cb1e5b179b28..04d933efbc858cf55ed942e52914b37d9712e81f 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
 
 #
index bb10e7eee759e527a7d22cd2bd10fb44250e8358..6ca26a58c659f8fc491b58be6b581f3fbd60d408 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
 
 #
index 48f475ae3d7c50045f82333369bb117bcb7bcd3d..296a78c15d4304c0444adb1bce430787c24d7d01 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
 
 #
index f8c636917282be4f0c1f5df7bf0004fe47876e0e..c93eb1ae625239d18c61b8c94b12898343703209 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
 
 #
index 08d4dfd928c19894899fab9270c763ce63b29946..63a52568e92af1552453e01d62f98bc3cd909ca7 100644 (file)
@@ -1,6 +1,6 @@
 
 
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
 
 # Symantec C++ makefile for the msw objects
index a16ebeedd3f2a7666d4c500c7e324a7d3db5d175..889657ffd37c4e4add90d2f38646ea229e8d61dc 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
 
 # File:     makefile.vc
@@ -117,12 +117,8 @@ GENERICOBJS= ..\generic\$D\busyinfo.obj \
 
 # These are generic things that don't need to be compiled on MSW,
 # but sometimes it's useful to do so for testing purposes.
-NONESSENTIALOBJS= ..\generic\$D\accel.obj \
-               ..\generic\$D\caret.obj \
-               ..\generic\$D\colrdlgg.obj \
-               ..\generic\$D\dcpsg.obj \
+NONESSENTIALOBJS= ..\generic\$D\colrdlgg.obj \
                ..\generic\$D\dirdlgg.obj \
-               ..\generic\$D\filedlgg.obj \
                ..\generic\$D\fontdlgg.obj \
                ..\generic\$D\helpext.obj \
                ..\generic\$D\helphtml.obj \
@@ -132,10 +128,6 @@ NONESSENTIALOBJS= ..\generic\$D\accel.obj \
                ..\generic\$D\listctrl.obj \
                ..\generic\$D\msgdlgg.obj \
                ..\generic\$D\notebook.obj \
-               ..\generic\$D\paletteg.obj \
-               ..\generic\$D\printps.obj \
-               ..\generic\$D\prntdlgg.obj \
-               ..\generic\$D\statline.obj \
                ..\generic\$D\tabg.obj
 
 COMMONOBJS = \
index 9679ff2684572fa7b184f3e9013cc3d019ce1541..f2c59e80ea489fac20714b3719b0907becf94dcf 100644 (file)
@@ -1,6 +1,6 @@
 #!/binb/wmake.exe
 
-# This file was automatically generated by tmake at 21:37, 2001/07/03
+# This file was automatically generated by tmake at 18:07, 2001/07/04
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
 
 #
index 92dc487e4ea459a0f86121179c47c82a19344973..2a7117c254f22a35998e4c122eeb47888dd6efe4 100644 (file)
@@ -300,8 +300,7 @@ void wxComboControl::DoMoveWindow(int x, int y, int width, int height)
     width -= rectBorders.x + rectBorders.width;
     height -= rectBorders.y + rectBorders.height;
 
-    wxSize sizeBtn = m_btn->GetSize(),
-           sizeText = m_text->GetSize();
+    wxSize sizeBtn = m_btn->GetSize();
 
     wxCoord wText = width - sizeBtn.x;
     m_text->SetSize(x, y, wText, height);
index afc6bafd995bb8a011bef454175f80aefac1ea50..876773c449348170e5fcd79807a7f01bda8f3788 100644 (file)
@@ -8,12 +8,15 @@ UNIVOBJS = \
                colschem.o \
                control.o \
                combobox.o \
+        evtloop.o \
                framuniv.o \
                gauge.o \
                gtk.o \
                inphand.o \
                listbox.o \
+        menu.o \
                notebook.o \
+               popupcmn.o \
                radiobox.o \
                radiobut.o \
                renderer.o \
index 4ae3912a68946dc9357ef6cf2bffa62e49a75e7b..951ab8630a62ca1594a385c9836481b3d81426b6 100644 (file)
@@ -41,11 +41,7 @@ BEGIN_EVENT_TABLE(wxFrame, wxFrameNative)
     EVT_SIZE(wxFrame::OnSize)
 END_EVENT_TABLE()
 
-#if defined(__WXMSW__)
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameMSW)
-#elif defined(__WXGTK__)
-    IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxFrameGTK)
-#endif
+IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
 
 // ----------------------------------------------------------------------------
 // ctors
index 1d819ad0fecbf2da21dc492c360fc268efe9f980..ba08a02a6ed8257f0a1b77dfc084f5f003cb82fc 100644 (file)
@@ -2038,7 +2038,7 @@ void wxMenuBar::OnKeyDown(wxKeyEvent& event)
                 }
                 else // right
                 {
-                    if ( ++currentNew == (int)count )
+                    if ( ++currentNew == count )
                         currentNew = 0;
                 }
 
@@ -2263,7 +2263,7 @@ void wxMenuBar::OnDismissMenu(bool dismissMenuBar)
 
 void wxMenuBar::OnDismiss()
 {
-    ReleaseCapture();
+    ReleaseMouse();
 
     if ( m_current != -1 )
     {