]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
Make Smartphone buildable with current flags.
[wxWidgets.git] / include / wx / toplevel.h
index cdabc866957f48ebb6bb85c3d53d7d34e444e86f..bfbe0ac8e46320381d191642bd0e967ce2a6ff9c 100644 (file)
@@ -26,7 +26,7 @@
 #include "wx/iconbndl.h"
 
 // the default names for various classs
-WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
+extern WXDLLEXPORT_DATA(const wxChar*) wxFrameNameStr;
 
 class WXDLLEXPORT wxTopLevelWindowBase;
 
@@ -175,6 +175,14 @@ public:
     // inactive (should be called when a background event occurs)
     virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO);
 
+    // Is this the active frame (highlighted in the taskbar)?
+    virtual bool IsActive()
+        { return (wxGetTopLevelParent(FindFocus()) == this); }
+
+#if defined(__SMARTPHONE__)
+    virtual void SetLeftMenu(int id = wxID_ANY, const wxString& label = wxEmptyString, wxMenu *subMenu = NULL) = 0;
+    virtual void SetRightMenu(int id = wxID_ANY, const wxString& label = wxEmptyString, wxMenu *subMenu = NULL) = 0;
+#endif // __SMARTPHONE__
 
     // implementation only from now on
     // -------------------------------
@@ -183,10 +191,14 @@ public:
     virtual bool Destroy();
     virtual bool IsTopLevel() const { return true; }
     virtual wxSize GetMaxSize() const;
+    virtual bool ProvidesBackground() const { return true; }
 
     // event handlers
     void OnCloseWindow(wxCloseEvent& event);
-    void OnSize(wxSizeEvent& event);
+    void OnSize(wxSizeEvent& WXUNUSED(event)) { DoLayout(); }
+
+    // Get rect to be used to center top-level children
+    virtual void GetRectForTopLevelChildren(int *x, int *y, int *w, int *h);
 
     // this should go away, but for now it's called from docview.cpp,
     // so should be there for all platforms
@@ -213,6 +225,10 @@ protected:
     // send the iconize event, return true if processed
     bool SendIconizeEvent(bool iconized = true);
 
+    // do TLW-specific layout: we resize our unique child to fill the entire
+    // client area
+    void DoLayout();
+
     // Get the default size for the new window if no explicit size given. If
     // there are better default sizes then these can be changed, just as long
     // as they are not too small for TLWs (and not larger than screen).
@@ -229,7 +245,10 @@ protected:
 
 
 // include the real class declaration
-#if defined(__WXMSW__)
+#if defined(__WXPALMOS__)
+    #include "wx/palmos/toplevel.h"
+    #define wxTopLevelWindowNative wxTopLevelWindowPalm
+#elif defined(__WXMSW__)
     #include "wx/msw/toplevel.h"
     #define wxTopLevelWindowNative wxTopLevelWindowMSW
 #elif defined(__WXGTK__)