]> git.saurik.com Git - wxWidgets.git/commitdiff
mdi private menus
authorRobert Roebling <robert@roebling.de>
Wed, 22 Jul 1998 22:13:31 +0000 (22:13 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 22 Jul 1998 22:13:31 +0000 (22:13 +0000)
Chris's check menu additions
frame fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

29 files changed:
docs/wxQt.html
include/wx/gtk/bitmap.h
include/wx/gtk/frame.h
include/wx/gtk/mdi.h
include/wx/gtk/menu.h
include/wx/gtk/notebook.h
include/wx/gtk/tbargtk.h
include/wx/gtk1/bitmap.h
include/wx/gtk1/frame.h
include/wx/gtk1/mdi.h
include/wx/gtk1/menu.h
include/wx/gtk1/notebook.h
include/wx/gtk1/tbargtk.h
include/wx/toolbar.h
samples/mdi/mdi.cpp
src/gtk/frame.cpp
src/gtk/mdi.cpp
src/gtk/menu.cpp
src/gtk/notebook.cpp
src/gtk/tbargtk.cpp
src/gtk1/frame.cpp
src/gtk1/mdi.cpp
src/gtk1/menu.cpp
src/gtk1/notebook.cpp
src/gtk1/tbargtk.cpp
user/wxFile/wxFile.cpp
user/wxFile/wxFile.h
user/wxTest/wxTest.cpp
user/wxTest/wxTest.h

index b271a816a132735850bc9937e0e869bca3a9d4a4..9fd51dc7fdc17a4375e7a237c071e78ca57d45c0 100644 (file)
@@ -1,9 +1,9 @@
       $Id$
     <br>
-    <H1>Proposal for a wxQt project</H1>
+    <H1>Proposal for a port of wxWindows to Qt - wxQt</H1>
     <p>
       Following the recent discussions
-      and flamewars about KDE vs Gnome, I got worried that we see a
+      and flamewars about KDE vs Gnome, we got worried that we'll see a
       repetition of the same damaging infighting from which Unix has
       suffered before. Competition is a good thing, but the current
       situation leaves application developers with a difficult decision to
       
       The people on the wxWindows developers team thought that we might have
       a solution for this problem, if we can get some outside help to get it
-      done. Let me explain: wxWindows is a cross-platform development
+      done. Let us explain: wxWindows is a cross-platform development
       toolkit, a library of C++ classes which provide GUI concepts as well
       as other cross-platform issues such as container classes, debug
-      features or configuration management. It has been around since 1992G
+      features or configuration management. It has been around since 1992
       and started by supporting Motif, XView and MS-Windows, with a direct
       X11/Xt port added later. Last year, a major rewrite was started and we
       now have a much advanced library, available for MS Windows, with a
       operating systems (a MacOS port is under construction, too), it could
       easily bridge the gap between KDE and Gnome. The quick evolution of
       wxGTK has shown that a new port based on an existing widget set or
-      toolkit can easily be created by a small team within few
+      toolkit can easily be created by a small team within few
       months. Therefore, we would like to start a project for a Qt/Harmony
       based wxWindow library, wxQt. It would then be possible for
-      application developers to write the same source and copile it either
+      application developers to write the same source and compile it either
       for KDE, Gnome or even any of the other supported systems.
     <p>
       
@@ -50,7 +50,7 @@
       code from the other ports.
 
       Please, join us in this effort and, if you feel that you could
-      contribute, join the wxWindows developers mainling list for further
+      contribute, join the wxWindows developers mailing list for further
       discussions. Just send a mail containing "<tt>subscribe</tt>" to
     <tt>wxwin-developers-request@x.dent.med.uni-muenchen.de</tt>
     <p>
index 94795def8e317e80cd18dc76e87c586d90721abd..95db695c3b209d75995c57ac1232d8e5885de545 100644 (file)
@@ -28,7 +28,7 @@
 class wxDC;
 class wxPaintDC;
 class wxMemoryDC;
-class wxToolBarGTK;
+class wxToolBar;
 class wxBitmapButton;
 class wxStaticBitmap;
 
@@ -56,7 +56,7 @@ class wxMask: public wxObject
     friend wxBitmap;
     friend wxDC;
     friend wxPaintDC;
-    friend wxToolBarGTK;
+    friend wxToolBar;
     friend wxBitmapButton;
     friend wxStaticBitmap;
     
@@ -116,7 +116,7 @@ class wxBitmap: public wxObject
     friend wxDC;
     friend wxPaintDC;
     friend wxMemoryDC;
-    friend wxToolBarGTK;
+    friend wxToolBar;
     friend wxBitmapButton;
     friend wxStaticBitmap;
 
index 9e909a9b5eacfe2f50470fc2b74dbdc1dcceda2e..07e4e586ff482da2534fd6edbc39e600871b3e35 100644 (file)
@@ -26,7 +26,7 @@
 // classes
 //-----------------------------------------------------------------------------
 
-class wxRadioBox;
+class wxMDIChildFrame;
 
 class wxFrame;
 
@@ -73,16 +73,18 @@ class wxFrame: public wxWindow
     
   //private:    
     
-    void GtkOnSize( int x, int y, int width, int height );
+    virtual void GtkOnSize( int x, int y, int width, int height );
     void DoMenuUpdates(void);
     void DoMenuUpdates(wxMenu* menu);
     
+    
   private:
   
     friend        wxWindow;
+    friend        wxMDIChildFrame;
     
-    GtkWidget    *m_mainWindow;
     wxMenuBar    *m_frameMenuBar;
+    GtkWidget    *m_mainWindow;
     wxStatusBar  *m_frameStatusBar;
     bool          m_doingOnSize;
     wxString      m_title;
index 22fe70b2c47b0edafc20d8cb2c8b1ad65e34b793..94fe7216b0319eee9135d3d9e6348b9d1218db46 100644 (file)
@@ -22,6 +22,7 @@
 #include "wx/control.h"
 #include "wx/panel.h"
 #include "wx/frame.h"
+#include "wx/toolbar.h"
 
 //-----------------------------------------------------------------------------
 // classes
@@ -63,30 +64,40 @@ class wxMDIParentFrame: public wxFrame
       long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
       const wxString& name = wxFrameNameStr );
 
-  void OnSize( wxSizeEvent& event );
-  void OnActivate( wxActivateEvent& event );
 
-  void SetMenuBar( wxMenuBar *menu_bar );
-  void GetClientSize(int *width, int *height) const;
-  wxMDIChildFrame *GetActiveChild(void) const;
+    void GetClientSize(int *width, int *height) const;
+    wxMDIChildFrame *GetActiveChild(void) const;
+    
+    virtual void SetToolBar( wxToolBar *toolbar );
+    virtual wxWindow *GetToolBar(void) const;
   
-  wxMDIClientWindow *GetClientWindow(void) const; 
-  virtual wxMDIClientWindow *OnCreateClient(void);
+    wxMDIClientWindow *GetClientWindow(void) const; 
+    virtual wxMDIClientWindow *OnCreateClient(void);
   
-  virtual void Cascade(void) {};
-  virtual void Tile(void) {};
-  virtual void ArrangeIcons(void) {};
-  virtual void ActivateNext(void);
-  virtual void ActivatePrevious(void);
-
-  void OnSysColourChanged(wxSysColourChangedEvent& event);
+    virtual void Cascade(void) {};
+    virtual void Tile(void) {};
+    virtual void ArrangeIcons(void) {};
+    virtual void ActivateNext(void);
+    virtual void ActivatePrevious(void);
+
+    void OnActivate( wxActivateEvent& event );
+    void OnSysColourChanged( wxSysColourChangedEvent& event );
+    
+ //private: 
+    wxMDIChildFrame                *m_currentChild;
+    
+    void SetMDIMenuBar( wxMenuBar *menu_bar );
+    virtual void GtkOnSize( int x, int y, int width, int height );
     
- protected:
-    wxMDIClientWindow *             m_clientWindow;
-    wxMDIChildFrame *               m_currentChild;
+ private:
+    wxMDIClientWindow              *m_clientWindow;
     bool                            m_parentFrameActive;
+    wxMenuBar                      *m_mdiMenuBar;
+    wxToolBar                      *m_toolBar;
 
-//  DECLARE_EVENT_TABLE()    
+  DECLARE_EVENT_TABLE()    
 };
 
 //-----------------------------------------------------------------------------
@@ -120,9 +131,19 @@ class wxMDIChildFrame: public wxPanel
     virtual void Restore(void) {};
     virtual void Activate(void);
     
+    bool Destroy(void);
+    void OnCloseWindow( wxCloseEvent& event );
+    
   public:
   
-    wxString    m_title;
+    wxString           m_title;
+    wxMenuBar         *m_menuBar;
+    
+//  private:
+  
+    GtkNotebookPage   *m_page;
+    
+  DECLARE_EVENT_TABLE()    
 };
 
 //-----------------------------------------------------------------------------
index d4c48d4cd44e3a6853e877223986a3d3e41b495e..50ed50f32b814b44acd751cac61bd4daad320c93 100644 (file)
@@ -48,6 +48,9 @@ class wxMenuBar: public wxWindow
     wxMenuBar(void);
     void Append( wxMenu *menu, const wxString &title );
     int FindMenuItem( const wxString &menuString, const wxString &itemString ) const;
+    wxMenuItem* FindMenuItemById( int id ) const;
+    bool IsChecked( int id ) const;
+    bool IsEnabled( int id ) const;
     
     wxList       m_menus;
     GtkWidget   *m_menubar;
@@ -76,14 +79,16 @@ class wxMenuItem: public wxObject
     
     GtkWidget    *m_menuItem;  // GtkMenuItem
     
-  bool              IsSeparator() const { return m_id == ID_SEPARATOR;  }
-  bool              IsEnabled()   const { return m_isEnabled;  }
-  bool              IsChecked()   const { return m_checked;  }
-
-  int               GetId()       const { return m_id;    }
-  const wxString&   GetHelp()     const { return m_helpStr;   }
-  wxMenu           *GetSubMenu()  const { return m_subMenu;  }
-  
+    bool IsCheckable()         const { return m_isCheckMenu; }
+    bool IsSeparator()         const { return m_id == ID_SEPARATOR;  }
+    bool IsEnabled()           const { return m_isEnabled;  }
+    int  GetId()               const { return m_id; }
+    const wxString& GetHelp()  const { return m_helpStr; }
+    wxMenu *GetSubMenu()       const { return m_subMenu; }
+    
+    void Check( bool check );
+    bool IsChecked() const;
+    void Enable( bool enable );
 };
 
 class wxMenu: public wxEvtHandler
@@ -99,6 +104,7 @@ class wxMenu: public wxEvtHandler
     void Append( int id, const wxString &item,
       wxMenu *subMenu, const wxString &helpStr = "" );
     int FindItem( const wxString itemString ) const;
+    wxMenuItem* FindItemForId( int id ) const;
     void Break(void) {};
     void Check(int id, bool Flag);
     void Enable( int id, bool enable );
index e423b69564a92670c934d7a716914153f8425288..035520de8fe15ce5cc18ec0127bcf29c8dd333aa 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        tabctrl.h
-// Purpose:     wxTabCtrl class
+// Name:        notebook.h
+// Purpose:     wxNotebook class
 // Author:      Robert Roebling
 // Modified by:
 // RCS-ID:      $Id$
@@ -8,8 +8,8 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __TABCTRLH__
-#define __TABCTRLH__
+#ifndef __NOTEBOOKH__
+#define __NOTEBOOKH__
 
 #ifdef __GNUG__
 #pragma interface "notebook.h"
@@ -186,4 +186,4 @@ typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&);
   },
 
 #endif
-    // __TABCTRLH__
+    // __NOTEBOOKH__
index 667f84ff47f01fe1e6089a21ef6facf85c772144..8a952ec2da8e4daa64b74d2a78c5d9f2b2461f1a 100644 (file)
@@ -24,7 +24,7 @@
 //-----------------------------------------------------------------------------
 
 class wxToolBarTool;
-class wxToolBarGTK;
+class wxToolBar;
 
 //-----------------------------------------------------------------------------
 // constants
@@ -50,7 +50,7 @@ class wxToolBarTool: public wxObject
   public:
 
     wxToolBarTool(void) {}; 
-    wxToolBarTool( wxToolBarGTK *owner, int theIndex = 0, 
+    wxToolBarTool( wxToolBar *owner, int theIndex = 0, 
       const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
       bool toggle = FALSE, wxObject *clientData = NULL, 
       const wxString& shortHelpString = "", const wxString& longHelpString = "");
@@ -70,24 +70,24 @@ class wxToolBarTool: public wxObject
     bool                  m_isMenuCommand;
     wxString              m_shortHelpString;
     wxString              m_longHelpString;
-    wxToolBarGTK         *m_owner;
+    wxToolBar            *m_owner;
 };
 
 //-----------------------------------------------------------------------------
-// wxToolBarGTK
+// wxToolBar
 //-----------------------------------------------------------------------------
 
-class wxToolBarGTK: public wxControl
+class wxToolBar: public wxControl
 {
-  DECLARE_DYNAMIC_CLASS(wxToolBarGTK)
+  DECLARE_DYNAMIC_CLASS(wxToolBar)
   
   public:
 
-    wxToolBarGTK(void);
-    wxToolBarGTK( wxWindow *parent, wxWindowID id, 
+    wxToolBar(void);
+    wxToolBar( wxWindow *parent, wxWindowID id, 
       const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
       long style = 0, const wxString& name = wxToolBarNameStr );
-   ~wxToolBarGTK(void);
+   ~wxToolBar(void);
 
    bool Create( wxWindow *parent, wxWindowID id, 
      const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
index 94795def8e317e80cd18dc76e87c586d90721abd..95db695c3b209d75995c57ac1232d8e5885de545 100644 (file)
@@ -28,7 +28,7 @@
 class wxDC;
 class wxPaintDC;
 class wxMemoryDC;
-class wxToolBarGTK;
+class wxToolBar;
 class wxBitmapButton;
 class wxStaticBitmap;
 
@@ -56,7 +56,7 @@ class wxMask: public wxObject
     friend wxBitmap;
     friend wxDC;
     friend wxPaintDC;
-    friend wxToolBarGTK;
+    friend wxToolBar;
     friend wxBitmapButton;
     friend wxStaticBitmap;
     
@@ -116,7 +116,7 @@ class wxBitmap: public wxObject
     friend wxDC;
     friend wxPaintDC;
     friend wxMemoryDC;
-    friend wxToolBarGTK;
+    friend wxToolBar;
     friend wxBitmapButton;
     friend wxStaticBitmap;
 
index 9e909a9b5eacfe2f50470fc2b74dbdc1dcceda2e..07e4e586ff482da2534fd6edbc39e600871b3e35 100644 (file)
@@ -26,7 +26,7 @@
 // classes
 //-----------------------------------------------------------------------------
 
-class wxRadioBox;
+class wxMDIChildFrame;
 
 class wxFrame;
 
@@ -73,16 +73,18 @@ class wxFrame: public wxWindow
     
   //private:    
     
-    void GtkOnSize( int x, int y, int width, int height );
+    virtual void GtkOnSize( int x, int y, int width, int height );
     void DoMenuUpdates(void);
     void DoMenuUpdates(wxMenu* menu);
     
+    
   private:
   
     friend        wxWindow;
+    friend        wxMDIChildFrame;
     
-    GtkWidget    *m_mainWindow;
     wxMenuBar    *m_frameMenuBar;
+    GtkWidget    *m_mainWindow;
     wxStatusBar  *m_frameStatusBar;
     bool          m_doingOnSize;
     wxString      m_title;
index 22fe70b2c47b0edafc20d8cb2c8b1ad65e34b793..94fe7216b0319eee9135d3d9e6348b9d1218db46 100644 (file)
@@ -22,6 +22,7 @@
 #include "wx/control.h"
 #include "wx/panel.h"
 #include "wx/frame.h"
+#include "wx/toolbar.h"
 
 //-----------------------------------------------------------------------------
 // classes
@@ -63,30 +64,40 @@ class wxMDIParentFrame: public wxFrame
       long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
       const wxString& name = wxFrameNameStr );
 
-  void OnSize( wxSizeEvent& event );
-  void OnActivate( wxActivateEvent& event );
 
-  void SetMenuBar( wxMenuBar *menu_bar );
-  void GetClientSize(int *width, int *height) const;
-  wxMDIChildFrame *GetActiveChild(void) const;
+    void GetClientSize(int *width, int *height) const;
+    wxMDIChildFrame *GetActiveChild(void) const;
+    
+    virtual void SetToolBar( wxToolBar *toolbar );
+    virtual wxWindow *GetToolBar(void) const;
   
-  wxMDIClientWindow *GetClientWindow(void) const; 
-  virtual wxMDIClientWindow *OnCreateClient(void);
+    wxMDIClientWindow *GetClientWindow(void) const; 
+    virtual wxMDIClientWindow *OnCreateClient(void);
   
-  virtual void Cascade(void) {};
-  virtual void Tile(void) {};
-  virtual void ArrangeIcons(void) {};
-  virtual void ActivateNext(void);
-  virtual void ActivatePrevious(void);
-
-  void OnSysColourChanged(wxSysColourChangedEvent& event);
+    virtual void Cascade(void) {};
+    virtual void Tile(void) {};
+    virtual void ArrangeIcons(void) {};
+    virtual void ActivateNext(void);
+    virtual void ActivatePrevious(void);
+
+    void OnActivate( wxActivateEvent& event );
+    void OnSysColourChanged( wxSysColourChangedEvent& event );
+    
+ //private: 
+    wxMDIChildFrame                *m_currentChild;
+    
+    void SetMDIMenuBar( wxMenuBar *menu_bar );
+    virtual void GtkOnSize( int x, int y, int width, int height );
     
- protected:
-    wxMDIClientWindow *             m_clientWindow;
-    wxMDIChildFrame *               m_currentChild;
+ private:
+    wxMDIClientWindow              *m_clientWindow;
     bool                            m_parentFrameActive;
+    wxMenuBar                      *m_mdiMenuBar;
+    wxToolBar                      *m_toolBar;
 
-//  DECLARE_EVENT_TABLE()    
+  DECLARE_EVENT_TABLE()    
 };
 
 //-----------------------------------------------------------------------------
@@ -120,9 +131,19 @@ class wxMDIChildFrame: public wxPanel
     virtual void Restore(void) {};
     virtual void Activate(void);
     
+    bool Destroy(void);
+    void OnCloseWindow( wxCloseEvent& event );
+    
   public:
   
-    wxString    m_title;
+    wxString           m_title;
+    wxMenuBar         *m_menuBar;
+    
+//  private:
+  
+    GtkNotebookPage   *m_page;
+    
+  DECLARE_EVENT_TABLE()    
 };
 
 //-----------------------------------------------------------------------------
index d4c48d4cd44e3a6853e877223986a3d3e41b495e..50ed50f32b814b44acd751cac61bd4daad320c93 100644 (file)
@@ -48,6 +48,9 @@ class wxMenuBar: public wxWindow
     wxMenuBar(void);
     void Append( wxMenu *menu, const wxString &title );
     int FindMenuItem( const wxString &menuString, const wxString &itemString ) const;
+    wxMenuItem* FindMenuItemById( int id ) const;
+    bool IsChecked( int id ) const;
+    bool IsEnabled( int id ) const;
     
     wxList       m_menus;
     GtkWidget   *m_menubar;
@@ -76,14 +79,16 @@ class wxMenuItem: public wxObject
     
     GtkWidget    *m_menuItem;  // GtkMenuItem
     
-  bool              IsSeparator() const { return m_id == ID_SEPARATOR;  }
-  bool              IsEnabled()   const { return m_isEnabled;  }
-  bool              IsChecked()   const { return m_checked;  }
-
-  int               GetId()       const { return m_id;    }
-  const wxString&   GetHelp()     const { return m_helpStr;   }
-  wxMenu           *GetSubMenu()  const { return m_subMenu;  }
-  
+    bool IsCheckable()         const { return m_isCheckMenu; }
+    bool IsSeparator()         const { return m_id == ID_SEPARATOR;  }
+    bool IsEnabled()           const { return m_isEnabled;  }
+    int  GetId()               const { return m_id; }
+    const wxString& GetHelp()  const { return m_helpStr; }
+    wxMenu *GetSubMenu()       const { return m_subMenu; }
+    
+    void Check( bool check );
+    bool IsChecked() const;
+    void Enable( bool enable );
 };
 
 class wxMenu: public wxEvtHandler
@@ -99,6 +104,7 @@ class wxMenu: public wxEvtHandler
     void Append( int id, const wxString &item,
       wxMenu *subMenu, const wxString &helpStr = "" );
     int FindItem( const wxString itemString ) const;
+    wxMenuItem* FindItemForId( int id ) const;
     void Break(void) {};
     void Check(int id, bool Flag);
     void Enable( int id, bool enable );
index e423b69564a92670c934d7a716914153f8425288..035520de8fe15ce5cc18ec0127bcf29c8dd333aa 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        tabctrl.h
-// Purpose:     wxTabCtrl class
+// Name:        notebook.h
+// Purpose:     wxNotebook class
 // Author:      Robert Roebling
 // Modified by:
 // RCS-ID:      $Id$
@@ -8,8 +8,8 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __TABCTRLH__
-#define __TABCTRLH__
+#ifndef __NOTEBOOKH__
+#define __NOTEBOOKH__
 
 #ifdef __GNUG__
 #pragma interface "notebook.h"
@@ -186,4 +186,4 @@ typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&);
   },
 
 #endif
-    // __TABCTRLH__
+    // __NOTEBOOKH__
index 667f84ff47f01fe1e6089a21ef6facf85c772144..8a952ec2da8e4daa64b74d2a78c5d9f2b2461f1a 100644 (file)
@@ -24,7 +24,7 @@
 //-----------------------------------------------------------------------------
 
 class wxToolBarTool;
-class wxToolBarGTK;
+class wxToolBar;
 
 //-----------------------------------------------------------------------------
 // constants
@@ -50,7 +50,7 @@ class wxToolBarTool: public wxObject
   public:
 
     wxToolBarTool(void) {}; 
-    wxToolBarTool( wxToolBarGTK *owner, int theIndex = 0, 
+    wxToolBarTool( wxToolBar *owner, int theIndex = 0, 
       const wxBitmap& bitmap1 = wxNullBitmap, const wxBitmap& bitmap2 = wxNullBitmap,
       bool toggle = FALSE, wxObject *clientData = NULL, 
       const wxString& shortHelpString = "", const wxString& longHelpString = "");
@@ -70,24 +70,24 @@ class wxToolBarTool: public wxObject
     bool                  m_isMenuCommand;
     wxString              m_shortHelpString;
     wxString              m_longHelpString;
-    wxToolBarGTK         *m_owner;
+    wxToolBar            *m_owner;
 };
 
 //-----------------------------------------------------------------------------
-// wxToolBarGTK
+// wxToolBar
 //-----------------------------------------------------------------------------
 
-class wxToolBarGTK: public wxControl
+class wxToolBar: public wxControl
 {
-  DECLARE_DYNAMIC_CLASS(wxToolBarGTK)
+  DECLARE_DYNAMIC_CLASS(wxToolBar)
   
   public:
 
-    wxToolBarGTK(void);
-    wxToolBarGTK( wxWindow *parent, wxWindowID id, 
+    wxToolBar(void);
+    wxToolBar( wxWindow *parent, wxWindowID id, 
       const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
       long style = 0, const wxString& name = wxToolBarNameStr );
-   ~wxToolBarGTK(void);
+   ~wxToolBar(void);
 
    bool Create( wxWindow *parent, wxWindowID id, 
      const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
index 7d4111f2d51eb6f72c96275f7245ab8cf081e14d..d3c590d0a4c536f9dfcbec1091b7ca70719af4da 100644 (file)
@@ -11,7 +11,6 @@
 #   define classwxToolBar classwxToolBarMSW
 #elif defined(__WXGTK__)
 #   include "wx/gtk/tbargtk.h"
-#   define classwxToolBar wxToolBarGTK
 #endif
 
 #endif
index 97b0a355ab48380ea28c19b72c972371d9770706..114eb4c78dd3dc0a8a96ce1f582dd64c71c4e50c 100644 (file)
 #endif
 #endif
 
+#ifdef __WXGTK__
+//#include "list.xpm"
+//#include "folder.xpm"
+#endif
+
 #include "mdi.h"
 
 MyFrame *frame = NULL;
@@ -85,10 +90,10 @@ bool MyApp::OnInit(void)
 }
 
 BEGIN_EVENT_TABLE(MyFrame, wxMDIParentFrame)
-    EVT_MENU(MDI_QUIT, MyFrame::OnQuit)
     EVT_MENU(MDI_ABOUT, MyFrame::OnAbout)
     EVT_MENU(MDI_NEW_WINDOW, MyFrame::OnNewWindow)
     EVT_SIZE(MyFrame::OnSize)
+    EVT_MENU(MDI_QUIT, MyFrame::OnQuit)
 END_EVENT_TABLE()
 
 // Define my frame constructor
@@ -270,8 +275,8 @@ void MyFrame::OnSize(wxSizeEvent& event)
 // duplicate event handlers here.
 
 BEGIN_EVENT_TABLE(MyChild, wxMDIChildFrame)
-  EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
   EVT_SIZE( MyChild::OnSize)
+  EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
 END_EVENT_TABLE()
 
 MyChild::MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size,
index aecc4ffd00dc942c8d8e66c2d05e906f207dc133..2e05c91f089f870b7d4e600085733614f18e6083 100644 (file)
@@ -65,8 +65,8 @@ bool gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(
 //-----------------------------------------------------------------------------
 
 BEGIN_EVENT_TABLE(wxFrame, wxWindow)
-  EVT_CLOSE(wxFrame::OnCloseWindow)
   EVT_SIZE(wxFrame::OnSize)
+  EVT_CLOSE(wxFrame::OnCloseWindow)
   EVT_IDLE(wxFrame::OnIdle)
 END_EVENT_TABLE()
 
@@ -172,9 +172,12 @@ void wxFrame::Enable( bool enable )
   gtk_widget_set_sensitive( m_mainWindow, enable );
 };
 
-void wxFrame::OnCloseWindow( wxCloseEvent& WXUNUSED(event) )
+void wxFrame::OnCloseWindow( wxCloseEvent &event )
 {
-  this->Destroy();
+    if ( GetEventHandler()->OnClose() || event.GetForce())
+    {
+        this->Destroy();
+    }
 };
 
 bool wxFrame::Destroy(void)
@@ -290,7 +293,7 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
   }
 };
 
-void SetInvokingWindow( wxMenu *menu, wxWindow *win )
+static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
 {
   menu->SetInvokingWindow( win );
   wxNode *node = menu->m_items.First();
@@ -305,18 +308,24 @@ void SetInvokingWindow( wxMenu *menu, wxWindow *win )
 void wxFrame::SetMenuBar( wxMenuBar *menuBar )
 {
   m_frameMenuBar = menuBar;
-
-  wxNode *node = m_frameMenuBar->m_menus.First();
-  while (node)
+  
+  if (m_frameMenuBar)
   {
-    wxMenu *menu = (wxMenu*)node->Data();
-    SetInvokingWindow( menu, this );
-    node = node->Next();
-  };
-
-  m_frameMenuBar->m_parent = this;
-  gtk_myfixed_put( GTK_MYFIXED(m_mainWindow),
-    m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
+    if (m_frameMenuBar->m_parent != this)
+    {
+      wxNode *node = m_frameMenuBar->m_menus.First();
+      while (node)
+      {
+        wxMenu *menu = (wxMenu*)node->Data();
+        SetInvokingWindow( menu, this );
+        node = node->Next();
+      };
+  
+      m_frameMenuBar->m_parent = this;
+      gtk_myfixed_put( GTK_MYFIXED(m_mainWindow),
+        m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
+    }
+  }
 };
 
 bool wxFrame::CreateStatusBar( int number )
index 160828e8cd4120d2f26e785f8160de0d2835472c..5726755278b7f249e9f4da3949dc0ff536939627 100644 (file)
 #endif
 
 #include "wx/mdi.h"
+#include "wx/gtk/win_gtk.h"
+
+//-----------------------------------------------------------------------------
+
+extern wxList wxPendingDelete;
 
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
@@ -31,15 +36,40 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
 };
 
+// page change callback
+static void gtk_page_change_callback( GtkNotebook *WXUNUSED(widget),
+                                      GtkNotebookPage *page,
+                                      gint WXUNUSED(nPage),
+                                      wxMDIClientWindow *client_win )
+{
+  wxNode *node = client_win->m_children.First();
+  while (node)
+  {
+    wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
+    if (child_frame->m_page == page)
+    {
+      wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent;
+      mdi_frame->m_currentChild = child_frame;
+      mdi_frame->SetMDIMenuBar( child_frame->m_menuBar );
+      return;
+    };
+    node = node->Next();
+  }
+}
+
 //-----------------------------------------------------------------------------
 
 IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame,wxFrame)
 
+BEGIN_EVENT_TABLE(wxMDIParentFrame, wxFrame)
+END_EVENT_TABLE()
+
 wxMDIParentFrame::wxMDIParentFrame(void)
 {
   m_clientWindow = NULL;
   m_currentChild = NULL;
   m_parentFrameActive = TRUE;
+  m_toolBar = NULL;
 };
 
 wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
@@ -50,6 +80,7 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
   m_clientWindow = NULL;
   m_currentChild = NULL;
   m_parentFrameActive = TRUE;
+  m_toolBar = NULL;
   Create( parent, id, title, pos, size, style, name );
 };
 
@@ -69,23 +100,46 @@ bool wxMDIParentFrame::Create( wxWindow *parent,
   return TRUE;
 };
 
-void wxMDIParentFrame::OnSize( wxSizeEvent& event )
+void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
 {
-  wxFrame::OnSize( event );
+  wxFrame::GtkOnSize( x, y, width, height );
+  
+  if (m_mdiMenuBar)
+  {
+    int x = 0;
+    int y = 0;
+    GetClientSize( &x, &y );
+    m_mdiMenuBar->SetSize( 1, 1, x-2, 26 ); 
+  }
 };
 
-void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
+void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar )
+{
+  if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE );
+  m_mdiMenuBar = menu_bar;
+  if (m_mdiMenuBar)
+  {
+    int x = 0;
+    int y = 0;
+    GetClientSize( &x, &y );
+    m_mdiMenuBar->SetSize( 1, 1, x-2, 26 ); 
+    m_mdiMenuBar->Show( TRUE );
+  }
+};
+
+void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
 {
+  wxFrame::GetClientSize( width, height );
 };
 
-void wxMDIParentFrame::SetMenuBar( wxMenuBar *menu_bar )
+void wxMDIParentFrame::SetToolBar( wxToolBar *toolbar )
 {
-  wxFrame::SetMenuBar( menu_bar );
+  m_toolBar = toolbar;
 };
 
-void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
+wxWindow *wxMDIParentFrame::GetToolBar(void) const
 {
-  wxFrame::GetClientSize( width, height );
+  return m_toolBar;
 };
 
 wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
@@ -106,9 +160,17 @@ wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void)
 
 void wxMDIParentFrame::ActivateNext(void)
 {
+  if (m_clientWindow)
+    gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
 };
 
 void wxMDIParentFrame::ActivatePrevious(void)
+{
+  if (m_clientWindow)
+    gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
+};
+
+void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
 {
 };
 
@@ -122,8 +184,14 @@ void wxMDIParentFrame::OnSysColourChanged( wxSysColourChangedEvent& WXUNUSED(eve
 
 IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxPanel)
   
+BEGIN_EVENT_TABLE(wxMDIChildFrame, wxPanel)
+  EVT_CLOSE(wxMDIChildFrame::OnCloseWindow)
+END_EVENT_TABLE()
+
 wxMDIChildFrame::wxMDIChildFrame(void)
 {
+  m_menuBar = NULL;
+  m_page = NULL;
 };
 
 wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
@@ -131,11 +199,23 @@ wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
       const wxPoint& WXUNUSED(pos), const wxSize& size,
       long style, const wxString& name )
 {
+  m_menuBar = NULL;
+  m_page = NULL;
   Create( parent, id, title, wxDefaultPosition, size, style, name );
 };
 
 wxMDIChildFrame::~wxMDIChildFrame(void)
 {
+  if (m_menuBar)
+  {
+    wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
+    if (mdi_frame->m_currentChild == this)
+    {
+      mdi_frame->SetMDIMenuBar( NULL );
+      mdi_frame->m_currentChild = NULL;
+    };
+    delete m_menuBar;
+  }
 };
 
 bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
@@ -147,8 +227,59 @@ bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
   return wxPanel::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name );
 };
 
-void wxMDIChildFrame::SetMenuBar( wxMenuBar *WXUNUSED(menu_bar) )
+void wxMDIChildFrame::OnCloseWindow( wxCloseEvent &event )
 {
+    if ( GetEventHandler()->OnClose() || event.GetForce())
+    {
+        this->Destroy();
+    }
+};
+
+bool wxMDIChildFrame::Destroy(void)
+{
+  if (!wxPendingDelete.Member(this))
+    wxPendingDelete.Append(this);
+
+  return TRUE;
+}
+
+static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
+{
+  menu->SetInvokingWindow( win );
+  wxNode *node = menu->m_items.First();
+  while (node)
+  {
+    wxMenuItem *menuitem = (wxMenuItem*)node->Data();
+    if (menuitem->m_isSubMenu) SetInvokingWindow( menuitem->m_subMenu, win );
+    node = node->Next();
+  };
+};
+
+void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
+{
+  m_menuBar = menu_bar;
+  
+  if (m_menuBar)
+  {
+    wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
+    
+    if (m_menuBar->m_parent != this)
+    {
+      wxNode *node = m_menuBar->m_menus.First();
+      while (node)
+      {
+        wxMenu *menu = (wxMenu*)node->Data();
+        SetInvokingWindow( menu, this );
+        node = node->Next();
+      };
+      
+      m_menuBar->m_parent = mdi_frame;
+    }
+    mdi_frame->SetMDIMenuBar( m_menuBar );
+
+    gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWindow),
+      m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
+  }
 };
 
 void wxMDIChildFrame::Activate(void)
@@ -182,6 +313,11 @@ bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
 
   m_widget = gtk_notebook_new();
   
+  gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
+                      GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this );
+                 
+  gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
+  
   PostCreation();
   
   Show( TRUE );
@@ -191,16 +327,17 @@ bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
 
 void wxMDIClientWindow::AddChild( wxWindow *child )
 {
-  m_children.Append( child );
-  
-  wxString s;
-
-  if (child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
+  if (!child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
   {
-    wxMDIChildFrame* mdi_child = (wxMDIChildFrame*) child;
-    s = mdi_child->m_title;
+     wxFAIL_MSG("wxNotebook::AddChild: Child has to be wxMDIChildFrame");
+     return;
   };
   
+  m_children.Append( child );
+  
+  wxString s;
+  wxMDIChildFrame* mdi_child = (wxMDIChildFrame*) child;
+  s = mdi_child->m_title;
   if (s.IsNull()) s = "MDI child";
   
   GtkWidget *label_widget;
@@ -211,6 +348,10 @@ void wxMDIClientWindow::AddChild( wxWindow *child )
     GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
 
   gtk_notebook_append_page( GTK_NOTEBOOK(m_widget), child->m_widget, label_widget );
+  
+  mdi_child->m_page = (GtkNotebookPage*) (g_list_last(GTK_NOTEBOOK(m_widget)->children)->data);
+    
+  gtk_notebook_set_page( GTK_NOTEBOOK(m_widget), m_children.Number()-1 );
 };
 
 
index 3e3377f106bef386d70792fcf56069ff8890e75e..a6de9af6c79f200c3856bf5c1c24fe251fa84fe4 100644 (file)
@@ -61,7 +61,7 @@ void wxMenuBar::Append( wxMenu *menu, const wxString &title )
   gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu );
 };
     
-int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
+static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
 {
   if (menu->m_title == menuString)
   {
@@ -91,7 +91,48 @@ int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemStr
   return -1;
 };
 
-    
+// Find a wxMenuItem using its id. Recurses down into sub-menus
+static wxMenuItem* FindMenuItemByIdRecursive( const wxMenu* menu, int id )
+{
+  wxMenuItem* result = menu->FindItemForId( id );
+
+  wxNode *node = menu->m_items.First();
+  while (node && result == 0)
+  {
+    wxMenuItem *item = (wxMenuItem*)node->Data();
+    if (item->m_subMenu) result = FindMenuItemByIdRecursive( item->m_subMenu, id );
+    node = node->Next();
+  };
+  return result;
+};
+
+wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const
+{
+  wxMenuItem* result = 0;
+  wxNode *node = m_menus.First();
+  while (node && result == 0)
+  {
+    wxMenu *menu = (wxMenu*)node->Data();
+    result = FindMenuItemByIdRecursive( menu, id );
+    node = node->Next();
+  }
+  return result;
+}
+
+bool wxMenuBar::IsChecked( int id ) const
+{
+  wxMenuItem* item = FindMenuItemById( id );
+  if (item) return item->IsChecked();
+  return FALSE;
+}
+
+bool wxMenuBar::IsEnabled( int id ) const
+{
+  wxMenuItem* item = FindMenuItemById( id );
+  if (item) return item->IsEnabled();
+  return FALSE;
+}
+
 //-----------------------------------------------------------------------------
 // wxMenu
 //-----------------------------------------------------------------------------
@@ -124,6 +165,29 @@ wxMenuItem::wxMenuItem(void)
   m_menuItem = NULL;
 };
 
+void wxMenuItem::Check( bool check )
+{
+  if ( IsCheckable() )
+  {
+    m_checked = check;
+    gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
+  }
+}
+
+bool wxMenuItem::IsChecked() const
+{
+  if ( IsCheckable() )
+  {
+    return ((GtkCheckMenuItem*)m_menuItem)->active != 0;
+  }
+  return FALSE;
+}
+
+void wxMenuItem::Enable( bool enable )
+{
+  m_isEnabled = enable;
+}
+
 IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
 
 wxMenu::wxMenu( const wxString &title )
@@ -219,9 +283,22 @@ int wxMenu::FindItem( const wxString itemString ) const
   return -1;
 };
 
-void wxMenu::Check( int WXUNUSED(id), bool WXUNUSED(Flag) )
+wxMenuItem* wxMenu::FindItemForId( int id ) const
+{
+  wxNode *node = m_items.First();
+  while (node)
+  {
+    wxMenuItem *item = (wxMenuItem*)node->Data();
+    if (item->m_id == id) return item;
+    node = node->Next();
+  }
+  return NULL;
+}
+
+void wxMenu::Check( int id, bool Flag )
 {
-  // I'm just too lazy
+  wxMenuItem* item = FindItemForId( id );
+  if (item) item->Check(Flag);
 };
 
 void wxMenu::Enable( int id, bool enable )
index 9b6ec68ef5a00bef51911d74e3e515df0c9eba46..e1e9b250b3f9d59c3d2afc288bd8777c1f829414 100644 (file)
@@ -153,6 +153,9 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
   PreCreation( parent, id, pos, size, style, name );
 
   m_widget = gtk_notebook_new();
+  
+  gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
+  
   m_idHandler = gtk_signal_connect
                 (
                   GTK_OBJECT(m_widget), "switch_page",
index 611995d467bb3b541e93e9db71e92769cf09cf92..ebf329df11c61ab82953cc7ef56c7fae57f1a85e 100644 (file)
@@ -21,7 +21,7 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
   
-wxToolBarTool::wxToolBarTool( wxToolBarGTK *owner, int theIndex, 
+wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex, 
       const wxBitmap& bitmap1, const  wxBitmap& bitmap2,
       bool toggle, wxObject *clientData,
       const wxString& shortHelpString, const wxString& longHelpString )
@@ -45,7 +45,7 @@ wxToolBarTool::~wxToolBarTool(void)
 };
 
 //-----------------------------------------------------------------------------
-// wxToolBarGTK
+// wxToolBar
 //-----------------------------------------------------------------------------
 
 static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxToolBarTool *tool )
@@ -59,27 +59,27 @@ static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxToolBarTool *to
 
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarGTK,wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxToolBar,wxControl)
 
-BEGIN_EVENT_TABLE(wxToolBarGTK, wxControl)
+BEGIN_EVENT_TABLE(wxToolBar, wxControl)
 END_EVENT_TABLE()
 
-wxToolBarGTK::wxToolBarGTK(void)
+wxToolBar::wxToolBar(void)
 {
 };
 
-wxToolBarGTK::wxToolBarGTK( wxWindow *parent, wxWindowID id, 
+wxToolBar::wxToolBar( wxWindow *parent, wxWindowID id, 
   const wxPoint& pos, const wxSize& size,
   long style, const wxString& name )
 {
   Create( parent, id, pos, size, style, name );
 };
 
-wxToolBarGTK::~wxToolBarGTK(void)
+wxToolBar::~wxToolBar(void)
 {
 };
 
-bool wxToolBarGTK::Create( wxWindow *parent, wxWindowID id, 
+bool wxToolBar::Create( wxWindow *parent, wxWindowID id, 
   const wxPoint& pos, const wxSize& size,
   long style, const wxString& name )
 {
@@ -104,7 +104,7 @@ bool wxToolBarGTK::Create( wxWindow *parent, wxWindowID id,
   return TRUE;
 };
 
-bool wxToolBarGTK::OnLeftClick( int toolIndex, bool toggleDown )
+bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, toolIndex);
   event.SetEventObject(this);
@@ -115,7 +115,7 @@ bool wxToolBarGTK::OnLeftClick( int toolIndex, bool toggleDown )
   return TRUE;
 };
 
-void wxToolBarGTK::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
+void wxToolBar::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_RCLICKED, toolIndex);
   event.SetEventObject(this);
@@ -123,7 +123,7 @@ void wxToolBarGTK::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSE
   GetEventHandler()->ProcessEvent(event);
 };
 
-void wxToolBarGTK::OnMouseEnter( int toolIndex )
+void wxToolBar::OnMouseEnter( int toolIndex )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_ENTER, toolIndex);
   event.SetEventObject(this);
@@ -131,7 +131,7 @@ void wxToolBarGTK::OnMouseEnter( int toolIndex )
   GetEventHandler()->ProcessEvent(event);
 };
 
-wxToolBarTool *wxToolBarGTK::AddTool( int toolIndex, const wxBitmap& bitmap, 
+wxToolBarTool *wxToolBar::AddTool( int toolIndex, const wxBitmap& bitmap, 
   const wxBitmap& pushedBitmap, bool toggle,
   float WXUNUSED(xPos), float WXUNUSED(yPos), wxObject *clientData,
   const wxString& helpString1, const wxString& helpString2 )
@@ -160,48 +160,48 @@ wxToolBarTool *wxToolBarGTK::AddTool( int toolIndex, const wxBitmap& bitmap,
   return tool;
 };
 
-void wxToolBarGTK::AddSeparator(void)
+void wxToolBar::AddSeparator(void)
 {
   gtk_toolbar_append_space( m_toolbar );
 };
 
-void wxToolBarGTK::ClearTools(void)
+void wxToolBar::ClearTools(void)
 {
 };
 
-void wxToolBarGTK::EnableTool(int toolIndex, bool enable)
+void wxToolBar::EnableTool(int toolIndex, bool enable)
 {
 };
 
-void wxToolBarGTK::ToggleTool(int toolIndex, bool toggle)
+void wxToolBar::ToggleTool(int toolIndex, bool toggle)
 {
 };
 
-void wxToolBarGTK::SetToggle(int toolIndex, bool toggle) 
+void wxToolBar::SetToggle(int toolIndex, bool toggle) 
 {
 };
 
-wxObject *wxToolBarGTK::GetToolClientData(int index) const
+wxObject *wxToolBar::GetToolClientData(int index) const
 {
 };
 
-bool wxToolBarGTK::GetToolState(int toolIndex) const
+bool wxToolBar::GetToolState(int toolIndex) const
 {
 };
 
-bool wxToolBarGTK::GetToolEnabled(int toolIndex) const
+bool wxToolBar::GetToolEnabled(int toolIndex) const
 {
 };
 
-void wxToolBarGTK::SetMargins(int x, int y)
+void wxToolBar::SetMargins(int x, int y)
 {
 };
 
-void wxToolBarGTK::SetToolPacking(int packing)
+void wxToolBar::SetToolPacking(int packing)
 {
 };
 
-void wxToolBarGTK::SetToolSeparation(int separation)
+void wxToolBar::SetToolSeparation(int separation)
 {
 };
 
index aecc4ffd00dc942c8d8e66c2d05e906f207dc133..2e05c91f089f870b7d4e600085733614f18e6083 100644 (file)
@@ -65,8 +65,8 @@ bool gtk_frame_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(
 //-----------------------------------------------------------------------------
 
 BEGIN_EVENT_TABLE(wxFrame, wxWindow)
-  EVT_CLOSE(wxFrame::OnCloseWindow)
   EVT_SIZE(wxFrame::OnSize)
+  EVT_CLOSE(wxFrame::OnCloseWindow)
   EVT_IDLE(wxFrame::OnIdle)
 END_EVENT_TABLE()
 
@@ -172,9 +172,12 @@ void wxFrame::Enable( bool enable )
   gtk_widget_set_sensitive( m_mainWindow, enable );
 };
 
-void wxFrame::OnCloseWindow( wxCloseEvent& WXUNUSED(event) )
+void wxFrame::OnCloseWindow( wxCloseEvent &event )
 {
-  this->Destroy();
+    if ( GetEventHandler()->OnClose() || event.GetForce())
+    {
+        this->Destroy();
+    }
 };
 
 bool wxFrame::Destroy(void)
@@ -290,7 +293,7 @@ void wxFrame::OnSize( wxSizeEvent &WXUNUSED(event) )
   }
 };
 
-void SetInvokingWindow( wxMenu *menu, wxWindow *win )
+static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
 {
   menu->SetInvokingWindow( win );
   wxNode *node = menu->m_items.First();
@@ -305,18 +308,24 @@ void SetInvokingWindow( wxMenu *menu, wxWindow *win )
 void wxFrame::SetMenuBar( wxMenuBar *menuBar )
 {
   m_frameMenuBar = menuBar;
-
-  wxNode *node = m_frameMenuBar->m_menus.First();
-  while (node)
+  
+  if (m_frameMenuBar)
   {
-    wxMenu *menu = (wxMenu*)node->Data();
-    SetInvokingWindow( menu, this );
-    node = node->Next();
-  };
-
-  m_frameMenuBar->m_parent = this;
-  gtk_myfixed_put( GTK_MYFIXED(m_mainWindow),
-    m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
+    if (m_frameMenuBar->m_parent != this)
+    {
+      wxNode *node = m_frameMenuBar->m_menus.First();
+      while (node)
+      {
+        wxMenu *menu = (wxMenu*)node->Data();
+        SetInvokingWindow( menu, this );
+        node = node->Next();
+      };
+  
+      m_frameMenuBar->m_parent = this;
+      gtk_myfixed_put( GTK_MYFIXED(m_mainWindow),
+        m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y );
+    }
+  }
 };
 
 bool wxFrame::CreateStatusBar( int number )
index 160828e8cd4120d2f26e785f8160de0d2835472c..5726755278b7f249e9f4da3949dc0ff536939627 100644 (file)
 #endif
 
 #include "wx/mdi.h"
+#include "wx/gtk/win_gtk.h"
+
+//-----------------------------------------------------------------------------
+
+extern wxList wxPendingDelete;
 
 //-----------------------------------------------------------------------------
 // wxMDIParentFrame
@@ -31,15 +36,40 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
 };
 
+// page change callback
+static void gtk_page_change_callback( GtkNotebook *WXUNUSED(widget),
+                                      GtkNotebookPage *page,
+                                      gint WXUNUSED(nPage),
+                                      wxMDIClientWindow *client_win )
+{
+  wxNode *node = client_win->m_children.First();
+  while (node)
+  {
+    wxMDIChildFrame *child_frame = (wxMDIChildFrame *)node->Data();
+    if (child_frame->m_page == page)
+    {
+      wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)client_win->m_parent;
+      mdi_frame->m_currentChild = child_frame;
+      mdi_frame->SetMDIMenuBar( child_frame->m_menuBar );
+      return;
+    };
+    node = node->Next();
+  }
+}
+
 //-----------------------------------------------------------------------------
 
 IMPLEMENT_DYNAMIC_CLASS(wxMDIParentFrame,wxFrame)
 
+BEGIN_EVENT_TABLE(wxMDIParentFrame, wxFrame)
+END_EVENT_TABLE()
+
 wxMDIParentFrame::wxMDIParentFrame(void)
 {
   m_clientWindow = NULL;
   m_currentChild = NULL;
   m_parentFrameActive = TRUE;
+  m_toolBar = NULL;
 };
 
 wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
@@ -50,6 +80,7 @@ wxMDIParentFrame::wxMDIParentFrame( wxWindow *parent,
   m_clientWindow = NULL;
   m_currentChild = NULL;
   m_parentFrameActive = TRUE;
+  m_toolBar = NULL;
   Create( parent, id, title, pos, size, style, name );
 };
 
@@ -69,23 +100,46 @@ bool wxMDIParentFrame::Create( wxWindow *parent,
   return TRUE;
 };
 
-void wxMDIParentFrame::OnSize( wxSizeEvent& event )
+void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
 {
-  wxFrame::OnSize( event );
+  wxFrame::GtkOnSize( x, y, width, height );
+  
+  if (m_mdiMenuBar)
+  {
+    int x = 0;
+    int y = 0;
+    GetClientSize( &x, &y );
+    m_mdiMenuBar->SetSize( 1, 1, x-2, 26 ); 
+  }
 };
 
-void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
+void wxMDIParentFrame::SetMDIMenuBar( wxMenuBar *menu_bar )
+{
+  if (m_mdiMenuBar) m_mdiMenuBar->Show( FALSE );
+  m_mdiMenuBar = menu_bar;
+  if (m_mdiMenuBar)
+  {
+    int x = 0;
+    int y = 0;
+    GetClientSize( &x, &y );
+    m_mdiMenuBar->SetSize( 1, 1, x-2, 26 ); 
+    m_mdiMenuBar->Show( TRUE );
+  }
+};
+
+void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
 {
+  wxFrame::GetClientSize( width, height );
 };
 
-void wxMDIParentFrame::SetMenuBar( wxMenuBar *menu_bar )
+void wxMDIParentFrame::SetToolBar( wxToolBar *toolbar )
 {
-  wxFrame::SetMenuBar( menu_bar );
+  m_toolBar = toolbar;
 };
 
-void wxMDIParentFrame::GetClientSize(int *width, int *height ) const
+wxWindow *wxMDIParentFrame::GetToolBar(void) const
 {
-  wxFrame::GetClientSize( width, height );
+  return m_toolBar;
 };
 
 wxMDIChildFrame *wxMDIParentFrame::GetActiveChild(void) const
@@ -106,9 +160,17 @@ wxMDIClientWindow *wxMDIParentFrame::OnCreateClient(void)
 
 void wxMDIParentFrame::ActivateNext(void)
 {
+  if (m_clientWindow)
+    gtk_notebook_next_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
 };
 
 void wxMDIParentFrame::ActivatePrevious(void)
+{
+  if (m_clientWindow)
+    gtk_notebook_prev_page( GTK_NOTEBOOK(m_clientWindow->m_widget) );
+};
+
+void wxMDIParentFrame::OnActivate( wxActivateEvent& WXUNUSED(event) )
 {
 };
 
@@ -122,8 +184,14 @@ void wxMDIParentFrame::OnSysColourChanged( wxSysColourChangedEvent& WXUNUSED(eve
 
 IMPLEMENT_DYNAMIC_CLASS(wxMDIChildFrame,wxPanel)
   
+BEGIN_EVENT_TABLE(wxMDIChildFrame, wxPanel)
+  EVT_CLOSE(wxMDIChildFrame::OnCloseWindow)
+END_EVENT_TABLE()
+
 wxMDIChildFrame::wxMDIChildFrame(void)
 {
+  m_menuBar = NULL;
+  m_page = NULL;
 };
 
 wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
@@ -131,11 +199,23 @@ wxMDIChildFrame::wxMDIChildFrame( wxMDIParentFrame *parent,
       const wxPoint& WXUNUSED(pos), const wxSize& size,
       long style, const wxString& name )
 {
+  m_menuBar = NULL;
+  m_page = NULL;
   Create( parent, id, title, wxDefaultPosition, size, style, name );
 };
 
 wxMDIChildFrame::~wxMDIChildFrame(void)
 {
+  if (m_menuBar)
+  {
+    wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
+    if (mdi_frame->m_currentChild == this)
+    {
+      mdi_frame->SetMDIMenuBar( NULL );
+      mdi_frame->m_currentChild = NULL;
+    };
+    delete m_menuBar;
+  }
 };
 
 bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
@@ -147,8 +227,59 @@ bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,
   return wxPanel::Create( parent->GetClientWindow(), id, wxDefaultPosition, size, style, name );
 };
 
-void wxMDIChildFrame::SetMenuBar( wxMenuBar *WXUNUSED(menu_bar) )
+void wxMDIChildFrame::OnCloseWindow( wxCloseEvent &event )
 {
+    if ( GetEventHandler()->OnClose() || event.GetForce())
+    {
+        this->Destroy();
+    }
+};
+
+bool wxMDIChildFrame::Destroy(void)
+{
+  if (!wxPendingDelete.Member(this))
+    wxPendingDelete.Append(this);
+
+  return TRUE;
+}
+
+static void SetInvokingWindow( wxMenu *menu, wxWindow *win )
+{
+  menu->SetInvokingWindow( win );
+  wxNode *node = menu->m_items.First();
+  while (node)
+  {
+    wxMenuItem *menuitem = (wxMenuItem*)node->Data();
+    if (menuitem->m_isSubMenu) SetInvokingWindow( menuitem->m_subMenu, win );
+    node = node->Next();
+  };
+};
+
+void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
+{
+  m_menuBar = menu_bar;
+  
+  if (m_menuBar)
+  {
+    wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->m_parent;
+    
+    if (m_menuBar->m_parent != this)
+    {
+      wxNode *node = m_menuBar->m_menus.First();
+      while (node)
+      {
+        wxMenu *menu = (wxMenu*)node->Data();
+        SetInvokingWindow( menu, this );
+        node = node->Next();
+      };
+      
+      m_menuBar->m_parent = mdi_frame;
+    }
+    mdi_frame->SetMDIMenuBar( m_menuBar );
+
+    gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWindow),
+      m_menuBar->m_widget, m_menuBar->m_x, m_menuBar->m_y );
+  }
 };
 
 void wxMDIChildFrame::Activate(void)
@@ -182,6 +313,11 @@ bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
 
   m_widget = gtk_notebook_new();
   
+  gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
+                      GTK_SIGNAL_FUNC(gtk_page_change_callback), (gpointer)this );
+                 
+  gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
+  
   PostCreation();
   
   Show( TRUE );
@@ -191,16 +327,17 @@ bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style )
 
 void wxMDIClientWindow::AddChild( wxWindow *child )
 {
-  m_children.Append( child );
-  
-  wxString s;
-
-  if (child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
+  if (!child->IsKindOf(CLASSINFO(wxMDIChildFrame)))
   {
-    wxMDIChildFrame* mdi_child = (wxMDIChildFrame*) child;
-    s = mdi_child->m_title;
+     wxFAIL_MSG("wxNotebook::AddChild: Child has to be wxMDIChildFrame");
+     return;
   };
   
+  m_children.Append( child );
+  
+  wxString s;
+  wxMDIChildFrame* mdi_child = (wxMDIChildFrame*) child;
+  s = mdi_child->m_title;
   if (s.IsNull()) s = "MDI child";
   
   GtkWidget *label_widget;
@@ -211,6 +348,10 @@ void wxMDIClientWindow::AddChild( wxWindow *child )
     GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)child );
 
   gtk_notebook_append_page( GTK_NOTEBOOK(m_widget), child->m_widget, label_widget );
+  
+  mdi_child->m_page = (GtkNotebookPage*) (g_list_last(GTK_NOTEBOOK(m_widget)->children)->data);
+    
+  gtk_notebook_set_page( GTK_NOTEBOOK(m_widget), m_children.Number()-1 );
 };
 
 
index 3e3377f106bef386d70792fcf56069ff8890e75e..a6de9af6c79f200c3856bf5c1c24fe251fa84fe4 100644 (file)
@@ -61,7 +61,7 @@ void wxMenuBar::Append( wxMenu *menu, const wxString &title )
   gtk_menu_bar_append( GTK_MENU_BAR(m_menubar), root_menu );
 };
     
-int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
+static int FindMenuItemRecursive( const wxMenu *menu, const wxString &menuString, const wxString &itemString )
 {
   if (menu->m_title == menuString)
   {
@@ -91,7 +91,48 @@ int wxMenuBar::FindMenuItem( const wxString &menuString, const wxString &itemStr
   return -1;
 };
 
-    
+// Find a wxMenuItem using its id. Recurses down into sub-menus
+static wxMenuItem* FindMenuItemByIdRecursive( const wxMenu* menu, int id )
+{
+  wxMenuItem* result = menu->FindItemForId( id );
+
+  wxNode *node = menu->m_items.First();
+  while (node && result == 0)
+  {
+    wxMenuItem *item = (wxMenuItem*)node->Data();
+    if (item->m_subMenu) result = FindMenuItemByIdRecursive( item->m_subMenu, id );
+    node = node->Next();
+  };
+  return result;
+};
+
+wxMenuItem* wxMenuBar::FindMenuItemById( int id ) const
+{
+  wxMenuItem* result = 0;
+  wxNode *node = m_menus.First();
+  while (node && result == 0)
+  {
+    wxMenu *menu = (wxMenu*)node->Data();
+    result = FindMenuItemByIdRecursive( menu, id );
+    node = node->Next();
+  }
+  return result;
+}
+
+bool wxMenuBar::IsChecked( int id ) const
+{
+  wxMenuItem* item = FindMenuItemById( id );
+  if (item) return item->IsChecked();
+  return FALSE;
+}
+
+bool wxMenuBar::IsEnabled( int id ) const
+{
+  wxMenuItem* item = FindMenuItemById( id );
+  if (item) return item->IsEnabled();
+  return FALSE;
+}
+
 //-----------------------------------------------------------------------------
 // wxMenu
 //-----------------------------------------------------------------------------
@@ -124,6 +165,29 @@ wxMenuItem::wxMenuItem(void)
   m_menuItem = NULL;
 };
 
+void wxMenuItem::Check( bool check )
+{
+  if ( IsCheckable() )
+  {
+    m_checked = check;
+    gtk_check_menu_item_set_state( (GtkCheckMenuItem*)m_menuItem, (gint)check );
+  }
+}
+
+bool wxMenuItem::IsChecked() const
+{
+  if ( IsCheckable() )
+  {
+    return ((GtkCheckMenuItem*)m_menuItem)->active != 0;
+  }
+  return FALSE;
+}
+
+void wxMenuItem::Enable( bool enable )
+{
+  m_isEnabled = enable;
+}
+
 IMPLEMENT_DYNAMIC_CLASS(wxMenu,wxEvtHandler)
 
 wxMenu::wxMenu( const wxString &title )
@@ -219,9 +283,22 @@ int wxMenu::FindItem( const wxString itemString ) const
   return -1;
 };
 
-void wxMenu::Check( int WXUNUSED(id), bool WXUNUSED(Flag) )
+wxMenuItem* wxMenu::FindItemForId( int id ) const
+{
+  wxNode *node = m_items.First();
+  while (node)
+  {
+    wxMenuItem *item = (wxMenuItem*)node->Data();
+    if (item->m_id == id) return item;
+    node = node->Next();
+  }
+  return NULL;
+}
+
+void wxMenu::Check( int id, bool Flag )
 {
-  // I'm just too lazy
+  wxMenuItem* item = FindItemForId( id );
+  if (item) item->Check(Flag);
 };
 
 void wxMenu::Enable( int id, bool enable )
index 9b6ec68ef5a00bef51911d74e3e515df0c9eba46..e1e9b250b3f9d59c3d2afc288bd8777c1f829414 100644 (file)
@@ -153,6 +153,9 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
   PreCreation( parent, id, pos, size, style, name );
 
   m_widget = gtk_notebook_new();
+  
+  gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
+  
   m_idHandler = gtk_signal_connect
                 (
                   GTK_OBJECT(m_widget), "switch_page",
index 611995d467bb3b541e93e9db71e92769cf09cf92..ebf329df11c61ab82953cc7ef56c7fae57f1a85e 100644 (file)
@@ -21,7 +21,7 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
   
-wxToolBarTool::wxToolBarTool( wxToolBarGTK *owner, int theIndex, 
+wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex, 
       const wxBitmap& bitmap1, const  wxBitmap& bitmap2,
       bool toggle, wxObject *clientData,
       const wxString& shortHelpString, const wxString& longHelpString )
@@ -45,7 +45,7 @@ wxToolBarTool::~wxToolBarTool(void)
 };
 
 //-----------------------------------------------------------------------------
-// wxToolBarGTK
+// wxToolBar
 //-----------------------------------------------------------------------------
 
 static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxToolBarTool *tool )
@@ -59,27 +59,27 @@ static void gtk_toolbar_callback( GtkWidget *WXUNUSED(widget), wxToolBarTool *to
 
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxToolBarGTK,wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxToolBar,wxControl)
 
-BEGIN_EVENT_TABLE(wxToolBarGTK, wxControl)
+BEGIN_EVENT_TABLE(wxToolBar, wxControl)
 END_EVENT_TABLE()
 
-wxToolBarGTK::wxToolBarGTK(void)
+wxToolBar::wxToolBar(void)
 {
 };
 
-wxToolBarGTK::wxToolBarGTK( wxWindow *parent, wxWindowID id, 
+wxToolBar::wxToolBar( wxWindow *parent, wxWindowID id, 
   const wxPoint& pos, const wxSize& size,
   long style, const wxString& name )
 {
   Create( parent, id, pos, size, style, name );
 };
 
-wxToolBarGTK::~wxToolBarGTK(void)
+wxToolBar::~wxToolBar(void)
 {
 };
 
-bool wxToolBarGTK::Create( wxWindow *parent, wxWindowID id, 
+bool wxToolBar::Create( wxWindow *parent, wxWindowID id, 
   const wxPoint& pos, const wxSize& size,
   long style, const wxString& name )
 {
@@ -104,7 +104,7 @@ bool wxToolBarGTK::Create( wxWindow *parent, wxWindowID id,
   return TRUE;
 };
 
-bool wxToolBarGTK::OnLeftClick( int toolIndex, bool toggleDown )
+bool wxToolBar::OnLeftClick( int toolIndex, bool toggleDown )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_CLICKED, toolIndex);
   event.SetEventObject(this);
@@ -115,7 +115,7 @@ bool wxToolBarGTK::OnLeftClick( int toolIndex, bool toggleDown )
   return TRUE;
 };
 
-void wxToolBarGTK::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
+void wxToolBar::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSED(y) )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_RCLICKED, toolIndex);
   event.SetEventObject(this);
@@ -123,7 +123,7 @@ void wxToolBarGTK::OnRightClick( int toolIndex, float WXUNUSED(x), float WXUNUSE
   GetEventHandler()->ProcessEvent(event);
 };
 
-void wxToolBarGTK::OnMouseEnter( int toolIndex )
+void wxToolBar::OnMouseEnter( int toolIndex )
 {
   wxCommandEvent event(wxEVT_COMMAND_TOOL_ENTER, toolIndex);
   event.SetEventObject(this);
@@ -131,7 +131,7 @@ void wxToolBarGTK::OnMouseEnter( int toolIndex )
   GetEventHandler()->ProcessEvent(event);
 };
 
-wxToolBarTool *wxToolBarGTK::AddTool( int toolIndex, const wxBitmap& bitmap, 
+wxToolBarTool *wxToolBar::AddTool( int toolIndex, const wxBitmap& bitmap, 
   const wxBitmap& pushedBitmap, bool toggle,
   float WXUNUSED(xPos), float WXUNUSED(yPos), wxObject *clientData,
   const wxString& helpString1, const wxString& helpString2 )
@@ -160,48 +160,48 @@ wxToolBarTool *wxToolBarGTK::AddTool( int toolIndex, const wxBitmap& bitmap,
   return tool;
 };
 
-void wxToolBarGTK::AddSeparator(void)
+void wxToolBar::AddSeparator(void)
 {
   gtk_toolbar_append_space( m_toolbar );
 };
 
-void wxToolBarGTK::ClearTools(void)
+void wxToolBar::ClearTools(void)
 {
 };
 
-void wxToolBarGTK::EnableTool(int toolIndex, bool enable)
+void wxToolBar::EnableTool(int toolIndex, bool enable)
 {
 };
 
-void wxToolBarGTK::ToggleTool(int toolIndex, bool toggle)
+void wxToolBar::ToggleTool(int toolIndex, bool toggle)
 {
 };
 
-void wxToolBarGTK::SetToggle(int toolIndex, bool toggle) 
+void wxToolBar::SetToggle(int toolIndex, bool toggle) 
 {
 };
 
-wxObject *wxToolBarGTK::GetToolClientData(int index) const
+wxObject *wxToolBar::GetToolClientData(int index) const
 {
 };
 
-bool wxToolBarGTK::GetToolState(int toolIndex) const
+bool wxToolBar::GetToolState(int toolIndex) const
 {
 };
 
-bool wxToolBarGTK::GetToolEnabled(int toolIndex) const
+bool wxToolBar::GetToolEnabled(int toolIndex) const
 {
 };
 
-void wxToolBarGTK::SetMargins(int x, int y)
+void wxToolBar::SetMargins(int x, int y)
 {
 };
 
-void wxToolBarGTK::SetToolPacking(int packing)
+void wxToolBar::SetToolPacking(int packing)
 {
 };
 
-void wxToolBarGTK::SetToolSeparation(int separation)
+void wxToolBar::SetToolSeparation(int separation)
 {
 };
 
index d4030d71898f387f877fbc72fd36077141453e1e..63703f2ae51f857d3dc81dd76fcfdf327ef12a3d 100644 (file)
@@ -129,7 +129,7 @@ MyFrame::MyFrame(void) :
   SetStatusText( "Welcome", 0 );
   SetStatusText( "wxFile v0.2 by Robert Roebling.", 1 );
   
-  m_tb = new wxToolBarGTK( this, ID_TOOLBAR, wxPoint(2,60), wxSize(300-4,26) );
+  m_tb = new wxToolBar( this, ID_TOOLBAR, wxPoint(2,60), wxSize(300-4,26) );
   m_tb->SetMargins( 2, 2 );
   
   wxBitmap *bm;
index 3a86a15539a0fae503484f3ca8f5bfe6f99534a4..93b5ef329157431fd75bf6d33b3da38aa7084c62 100644 (file)
@@ -63,7 +63,7 @@ class MyFrame: public wxFrame
     void OnTreeSelected( wxTreeEvent &event );
     void OnTreeKeyDown( wxTreeEvent &event );
     
-    wxToolBarGTK       *m_tb;
+    wxToolBar          *m_tb;
     wxSplitterWindow   *m_splitter;
     wxFileCtrl         *m_rightFile;
     wxFileCtrl         *m_leftFile;
index c0f67e22c36d68e4ebe7f269d00d13e4d9c9bfbf..f035649154587c30ece2a6af359f19222ea408b5 100644 (file)
@@ -470,7 +470,7 @@ MyFrame::MyFrame(void) :
   m_canvas = new MyCanvas( this, -1, wxPoint(2,62), wxSize(300-4,120-4) );
   m_canvas->SetScrollbars( 10, 10, 50, 50 );
   
-  m_tb = new wxToolBarGTK( this, -1, wxPoint(2,60), wxSize(300-4,26) );
+  m_tb = new wxToolBar( this, -1, wxPoint(2,60), wxSize(300-4,26) );
   m_tb->SetMargins( 2, 2 );
   
   wxBitmap *bm = new wxBitmap( list_xpm );
index 125e2f8ecfdd730c289f5fa77d80c615ac881e86..d439960a25f387143d76f1ba206a9318299c543d 100644 (file)
@@ -141,7 +141,7 @@ class MyFrame: public wxFrame
     void OnAbout( wxCommandEvent &event );
     void OnQuit( wxCommandEvent &event );
     
-    wxToolBarGTK     *m_tb;
+    wxToolBar    *m_tb;
     MyCanvas         *m_canvas;
     
     MyTimer m_timer;