]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/frame.h
More wxFileDialog things
[wxWidgets.git] / include / wx / gtk / frame.h
index de86ad8e1a0fb8029dd60fe2516b294394e05679..4470508567d0aca5a91e70393225daad578226a1 100644 (file)
@@ -37,8 +37,8 @@ class wxFrame;
 // global data
 //-----------------------------------------------------------------------------
 
-extern const char *wxFrameNameStr;
-extern const char *wxToolBarNameStr;
+extern const wxChar *wxFrameNameStr;
+extern const wxChar *wxToolBarNameStr;
 
 //-----------------------------------------------------------------------------
 // wxFrame
@@ -49,7 +49,7 @@ class wxFrame: public wxWindow
 DECLARE_DYNAMIC_CLASS(wxFrame)
 
 public:
-    wxFrame();
+    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 );
@@ -62,22 +62,24 @@ public:
     virtual bool Show( bool show );
     virtual void Centre( int direction = wxHORIZONTAL );
 
-    virtual void GetClientSize( int *width, int *height ) const;
-
+#if wxUSE_STATUSBAR
     virtual wxStatusBar* CreateStatusBar(int number=1, long style = wxST_SIZEGRIP, wxWindowID id = 0,
-            const wxString& name = "statusBar");
+            const wxString& name = _T("statusBar"));
     virtual wxStatusBar *OnCreateStatusBar( int number, long style, wxWindowID id,
             const wxString& name );
     virtual wxStatusBar *GetStatusBar() const;
     inline void SetStatusBar(wxStatusBar *statusBar) { m_frameStatusBar = statusBar; }
     virtual void SetStatusText( const wxString &text, int number = 0 );
     virtual void SetStatusWidths( int n, const int widths_field[] );
+#endif // wxUSE_STATUSBAR
 
+#if wxUSE_TOOLBAR
     virtual wxToolBar* CreateToolBar( long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1,
             const wxString& name = wxToolBarNameStr);
     virtual wxToolBar *OnCreateToolBar( long style, wxWindowID id, const wxString& name );
     virtual wxToolBar *GetToolBar() const;
-    inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
+    void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
+#endif // wxUSE_TOOLBAR
 
     virtual void SetMenuBar( wxMenuBar *menuBar );
     virtual wxMenuBar *GetMenuBar() const;
@@ -85,12 +87,15 @@ public:
     virtual void SetTitle( const wxString &title );
     virtual wxString GetTitle() const { return m_title; }
 
+        // make the window modal (all other windows unresponsive)
+    virtual void MakeModal(bool modal = TRUE);
+
     virtual void SetIcon( const wxIcon &icon );
-    virtual void Iconize( bool WXUNUSED(iconize)) { }
-    virtual bool IsIconized() const { return FALSE; }
     bool Iconized() const { return IsIconized(); }
-    virtual void Maximize(bool WXUNUSED(maximize)) {}
-    virtual void Restore() {}
+    virtual void Maximize( bool maximize );
+    virtual void Restore();
+    virtual void Iconize( bool iconize );
+    virtual bool IsIconized() const;
 
     virtual void Command( int id );
     
@@ -103,25 +108,35 @@ public:
     // implementation
 
     virtual void GtkOnSize( int x, int y, int width, int height );
-    virtual wxPoint GetClientAreaOrigin() const;
     void DoMenuUpdates();
-    void DoMenuUpdates(wxMenu* menu);
+    void DoMenuUpdates(wxMenu* menu, wxWindow* focusWin);
     virtual void OnInternalIdle();
 
     wxMenuBar    *m_frameMenuBar;
-    wxMenuBar    *m_mdiMenuBar;
+#if wxUSE_STATUSBAR
     wxStatusBar  *m_frameStatusBar;
+#endif
+#if wxUSE_TOOLBAR
     wxToolBar    *m_frameToolBar;
+#endif
     wxString      m_title;
     wxIcon        m_icon;
     int           m_miniEdge,m_miniTitle;
+    GtkWidget    *m_mainWidget;
+    bool          m_menuBarDetached;
+    bool          m_toolBarDetached;
+    bool          m_insertInClientArea;  /* not from within OnCreateXXX */
 
 protected:
+    // common part of all ctors
+    void Init();
+    
     virtual void DoSetSize(int x, int y,
                            int width, int height,
                            int sizeFlags = wxSIZE_AUTO);
 
     virtual void DoSetClientSize(int width, int height);
+    virtual void DoGetClientSize( int *width, int *height ) const;
 
 private:
     DECLARE_EVENT_TABLE()