]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
fix Normalize() test by using dummy working directory allowing the test to work even...
[wxWidgets.git] / include / wx / toplevel.h
index 69c5a76ac1a7379faaf822732aa33171ec299d44..933b2585950a0c260c5c1432d511f675719cd306 100644 (file)
@@ -167,6 +167,9 @@ public:
     virtual void SetTitle(const wxString& title) = 0;
     virtual wxString GetTitle() const = 0;
 
+    // enable/disable close button [x]
+    virtual bool EnableCloseButton(bool WXUNUSED(enable) ) { return false; } 
+
     // Set the shape of the window to the given region.
     // Returns true if the platform supports this feature (and the
     // operation is successful.)
@@ -197,12 +200,39 @@ public:
     void CenterOnScreen(int dir = wxBOTH) { CentreOnScreen(dir); }
 
 
+    // default item access: we have a permanent default item which is the one
+    // set by the user code but we may also have a temporary default item which
+    // would be chosen if the user pressed "Enter" now but the default action
+    // reverts to the "permanent" default as soon as this temporary default
+    // item loses focus
+
+    // used to reset default if pointing to removed child
+    virtual void RemoveChild(wxWindowBase *child);
+
+    // get the default item, temporary or permanent
+    wxWindow *GetDefaultItem() const
+        { return m_winTmpDefault ? m_winTmpDefault : m_winDefault; }
+
+    // set the permanent default item, return the old default
+    wxWindow *SetDefaultItem(wxWindow *win)
+        { wxWindow *old = GetDefaultItem(); m_winDefault = win; return old; }
+
+    // return the temporary default item, can be NULL
+    wxWindow *GetTmpDefaultItem() const { return m_winTmpDefault; }
+
+    // set a temporary default item, SetTmpDefaultItem(NULL) should be called
+    // soon after a call to SetTmpDefaultItem(window), return the old default
+    wxWindow *SetTmpDefaultItem(wxWindow *win)
+        { wxWindow *old = GetDefaultItem(); m_winTmpDefault = win; return old; }
+
+
     // implementation only from now on
     // -------------------------------
 
     // override some base class virtuals
     virtual bool Destroy();
     virtual bool IsTopLevel() const { return true; }
+    virtual bool IsVisible() const { return IsShown(); }
     virtual wxSize GetMaxSize() const;
 
     // event handlers
@@ -220,6 +250,16 @@ public:
     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
 
 protected:
+
+    // a different API for SetSizeHints
+    virtual void SetMinSize(const wxSize& minSize);
+    virtual void SetMaxSize(const wxSize& maxSize);
+
+    // set size hints for "window manager"
+    virtual void DoSetSizeHints( int minW, int minH,
+                                 int maxW = wxDefaultCoord, int maxH = wxDefaultCoord,
+                                 int incW = wxDefaultCoord, int incH = wxDefaultCoord );
+
     // 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;
@@ -260,6 +300,12 @@ protected:
     // the frame icon
     wxIconBundle m_icons;
 
+    // a default window (usually a button) or NULL
+    wxWindow *m_winDefault;
+
+    // a temporary override of m_winDefault, use the latter if NULL
+    wxWindow *m_winTmpDefault;
+
     DECLARE_NO_COPY_CLASS(wxTopLevelWindowBase)
     DECLARE_EVENT_TABLE()
 };
@@ -284,6 +330,9 @@ protected:
 #elif defined(__WXMGL__)
     #include "wx/mgl/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMGL
+#elif defined(__WXDFB__)
+    #include "wx/dfb/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowDFB
 #elif defined(__WXMAC__)
     #include "wx/mac/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMac