]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/x11/toplevel.h
fixed recent modeless dialog breakage caused by removing wxDIALOG_MODAL (wxModelessWi...
[wxWidgets.git] / include / wx / x11 / toplevel.h
index 2f05fec5083763d719520f1b3c298dc71febf85e..63ac8769fd5733616e5f4628dcbf27df3db0cdd7 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_X11_TOPLEVEL_H_
 #define _WX_X11_TOPLEVEL_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "toplevel.h"
 #endif
 
@@ -54,37 +54,65 @@ public:
     virtual bool IsMaximized() const;
     virtual void Iconize(bool iconize = TRUE);
     virtual bool IsIconized() const;
-    virtual void SetIcon(const wxIcon& icon);
+    virtual void SetIcon(const wxIcon& icon) { SetIcons( wxIconBundle( icon ) ); }
+    virtual void SetIcons(const wxIconBundle& icons);
     virtual void Restore();
 
-    virtual bool Show(bool show = TRUE);
+    virtual bool Show( bool show = TRUE );
 
-    virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
+    virtual bool ShowFullScreen( bool show, long style = wxFULLSCREEN_ALL );
     virtual bool IsFullScreen() const { return m_fsIsShowing; }
 
     virtual void SetTitle( const wxString& title);
     virtual wxString GetTitle() const;
     
-    // implementation from now on
-    // --------------------------
+    // implementation
+    void SetNeedResizeInIdle( bool set = TRUE )
+        { m_needResizeInIdle = set; }
+    void SetConfigureGeometry( int x, int y, int width, int height )
+        { m_x = x; m_y = y; m_width = width; m_height = height; }
 
+    virtual bool SetShape(const wxRegion& region);
+    
 protected:
     // common part of all ctors
     void Init();
 
-    // is the frame currently iconized?
+    // set the icon for the window
+    void DoSetIcon( const wxIcon& icon );
+
+    // For implementation purposes - sometimes decorations make the
+    // client area smaller
+    virtual wxPoint GetClientAreaOrigin() const;
+
+    // For implementation of delayed resize events
+    bool m_needResizeInIdle;
+    virtual void OnInternalIdle();
+
+    virtual void DoGetClientSize( int *width, int *height ) const;
+    virtual void DoGetSize( int *width, int *height ) const;
+    virtual void DoSetClientSize(int width, int height);
+    virtual void DoSetSize(int x, int y,
+        int width, int height,
+        int sizeFlags = wxSIZE_AUTO);
+    virtual void DoGetPosition( int *x, int *y ) const;
+    
+    // Is the frame currently iconized?
     bool m_iconized;
 
-    // should the frame be maximized when it will be shown? set by Maximize()
+    // Should the frame be maximized when it will be shown? set by Maximize()
     // when it is called while the frame is hidden
     bool m_maximizeOnShow;
 
     // Data to save/restore when calling ShowFullScreen
-    long                  m_fsStyle; // Passed to ShowFullScreen
+    long                  m_fsStyle;   // Passed to ShowFullScreen
     wxRect                m_fsOldSize;
     bool                  m_fsIsMaximized;
     bool                  m_fsIsShowing;
     wxString              m_title;
+    
+    // Geometry
+    int                   m_x,m_y,m_width,m_height;
 };
 
 // list of all frames and modeless dialogs