]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
Upported combobox changes and another fix.
[wxWidgets.git] / include / wx / toplevel.h
index 51caf5929d1a2a46ecbe2b556e433c307f597828..c5ada5c6de05b1c676181cffbb9687107590d7bf 100644 (file)
 #ifndef _WX_TOPLEVEL_BASE_H_
 #define _WX_TOPLEVEL_BASE_H_
 
 #ifndef _WX_TOPLEVEL_BASE_H_
 #define _WX_TOPLEVEL_BASE_H_
 
+#if defined(__GNUG__) && !defined(__APPLE__)
+    #pragma interface "toplevelbase.h"
+#endif
+
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma interface "toplevelbase.h"
-#endif
-
 #include "wx/window.h"
 #include "wx/window.h"
-#include "wx/icon.h"
+#include "wx/iconbndl.h"
 
 // the default names for various classs
 WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
 
 // the default names for various classs
 WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
@@ -83,10 +83,16 @@ public:
     virtual bool IsIconized() const = 0;
 
     // get the frame icon
     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
 
     // 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;
 
     // maximize the window to cover entire screen
     virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
@@ -113,6 +119,7 @@ public:
     // override some base class virtuals
     virtual bool Destroy();
     virtual bool IsTopLevel() const { return TRUE; }
     // override some base class virtuals
     virtual bool Destroy();
     virtual bool IsTopLevel() const { return TRUE; }
+    virtual wxSize GetMaxSize() const;
 
     // event handlers
     void OnCloseWindow(wxCloseEvent& event);
 
     // event handlers
     void OnCloseWindow(wxCloseEvent& event);
@@ -122,30 +129,26 @@ public:
     // so should be there for all platforms
     void OnActivate(wxActivateEvent &WXUNUSED(event)) { }
 
     // so should be there for all platforms
     void OnActivate(wxActivateEvent &WXUNUSED(event)) { }
 
-    // Override in derived, platfrom specific, class if your OS coordinate
-    // system uses anything other than the top left as 0,0.  The second
-    // method updates any internal sizing parameters such as OS/2's SWP struct
-    inline virtual void AlterChildPos(void) { }
-    inline virtual void UpdateInternalSize( wxWindow* WXUNUSED(pChild)
-                                           ,int WXUNUSED(nWidth)
-                                           ,int WXUNUSED(nHeight)
-                                          ) { }
-
 protected:
     // the frame client to screen translation should take account of the
     // toolbar which may shift the origin of the client area
     virtual void DoClientToScreen(int *x, int *y) const;
     virtual void DoScreenToClient(int *x, int *y) const;
 
 protected:
     // the frame client to screen translation should take account of the
     // toolbar which may shift the origin of the client area
     virtual void DoClientToScreen(int *x, int *y) const;
     virtual void DoScreenToClient(int *x, int *y) const;
 
+    // test whether this window makes part of the frame
+    // (menubar, toolbar and statusbar are excluded from automatic layout)
+    virtual bool IsOneOfBars(const wxWindow *WXUNUSED(win)) const
+        { return FALSE; }
+
+    // check if we should exit the program after deleting this top level
+    // window (this is used in common dtor and wxMSW code)
+    bool IsLastBeforeExit() const;
+
     // send the iconize event, return TRUE if processed
     bool SendIconizeEvent(bool iconized = TRUE);
 
     // the frame icon
     // send the iconize event, return TRUE if processed
     bool SendIconizeEvent(bool iconized = TRUE);
 
     // the frame icon
-    wxIcon m_icon;
-
-    // test whether this window makes part of the frame
-    // (menubar, toolbar and statusbar are excluded from automatic layout)
-    virtual bool IsOneOfBars(const wxWindow *WXUNUSED(win)) const { return FALSE; }
+    wxIconBundle m_icons;
 
     DECLARE_EVENT_TABLE()
 };
 
     DECLARE_EVENT_TABLE()
 };
@@ -170,6 +173,9 @@ protected:
 #elif defined(__WXPM__)
     #include "wx/os2/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowOS2
 #elif defined(__WXPM__)
     #include "wx/os2/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowOS2
+#elif defined(__WXMOTIF__)
+    #include "wx/motif/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowMotif
 #endif
 
 #ifdef __WXUNIVERSAL__
 #endif
 
 #ifdef __WXUNIVERSAL__
@@ -200,3 +206,5 @@ protected:
 
 
 #endif // _WX_TOPLEVEL_BASE_H_
 
 
 #endif // _WX_TOPLEVEL_BASE_H_
+
+// vi:sts=4:sw=4:et