]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
wxSizeEvent now carries the total size, not just the client size
[wxWidgets.git] / include / wx / toplevel.h
index 64a1c964a0df543ede533060c083cd925073b7d9..ce058932b0810beda4176889de312a315b5f4530 100644 (file)
@@ -23,7 +23,7 @@
 #endif
 
 #include "wx/window.h"
-#include "wx/icon.h"
+#include "wx/iconbndl.h"
 
 // the default names for various classs
 WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
@@ -53,18 +53,6 @@ enum
                                wxFULLSCREEN_NOCAPTION
 };
 
-// Flags for interactive frame manipulation functions (only in wxUniversal):
-enum
-{
-    wxINTERACTIVE_MOVE           = 0x00000001,
-    wxINTERACTIVE_RESIZE         = 0x00000002,
-    wxINTERACTIVE_RESIZE_S       = 0x00000010,
-    wxINTERACTIVE_RESIZE_N       = 0x00000020,
-    wxINTERACTIVE_RESIZE_W       = 0x00000040,
-    wxINTERACTIVE_RESIZE_E       = 0x00000080,
-    wxINTERACTIVE_WAIT_FOR_INPUT = 0x10000000
-};
-
 // ----------------------------------------------------------------------------
 // wxTopLevelWindow: a top level (as opposed to child) window
 // ----------------------------------------------------------------------------
@@ -74,10 +62,7 @@ class WXDLLEXPORT wxTopLevelWindowBase : public wxWindow
 public:
     // construction
     wxTopLevelWindowBase();
-
-#ifdef __DARWIN__
-    virtual ~wxTopLevelWindowBase() {}
-#endif
+    virtual ~wxTopLevelWindowBase();
 
     // top level wnd state
     // --------------------
@@ -98,10 +83,16 @@ public:
     virtual bool IsIconized() const = 0;
 
     // get the frame icon
-    const wxIcon& GetIcon() const { return m_icon; }
+    const wxIcon& GetIcon() const { return m_icons.GetIcon( -1 ); }
+
+    // get the frame icons
+    const wxIconBundle& GetIcons() const { return m_icons; }
 
     // set the frame icon
-    virtual void SetIcon(const wxIcon& icon) { m_icon = icon; }
+    virtual void SetIcon(const wxIcon& icon) { m_icons = wxIconBundle( icon ); }
+
+    // set the frame icons
+    virtual void SetIcons(const wxIconBundle& icons ) { m_icons = icons; }
 
     // maximize the window to cover entire screen
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
@@ -122,18 +113,13 @@ public:
     bool Iconized() const { return IsIconized(); }
 #endif // WXWIN_COMPATIBILITY_2
 
-
-#ifdef __WXUNIVERSAL__
-    // move/resize the frame interactively, i.e. let the user do it
-    virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE);
-#endif
-
     // implementation only from now on
     // -------------------------------
 
     // override some base class virtuals
     virtual bool Destroy();
     virtual bool IsTopLevel() const { return TRUE; }
+    virtual wxSize GetMaxSize() const;
 
     // event handlers
     void OnCloseWindow(wxCloseEvent& event);
@@ -153,7 +139,7 @@ protected:
     bool SendIconizeEvent(bool iconized = TRUE);
 
     // the frame icon
-    wxIcon m_icon;
+    wxIconBundle m_icons;
 
     // test whether this window makes part of the frame
     // (menubar, toolbar and statusbar are excluded from automatic layout)
@@ -170,12 +156,18 @@ protected:
 #elif defined(__WXGTK__)
     #include "wx/gtk/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowGTK
+#elif defined(__WXX11__)
+    #include "wx/x11/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowX11
 #elif defined(__WXMGL__)
     #include "wx/mgl/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMGL
 #elif defined(__WXMAC__)
     #include "wx/mac/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMac
+#elif defined(__WXPM__)
+    #include "wx/os2/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowOS2
 #endif
 
 #ifdef __WXUNIVERSAL__
@@ -206,3 +198,5 @@ protected:
 
 
 #endif // _WX_TOPLEVEL_BASE_H_
+
+// vi:sts=4:sw=4:et