]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/toplevel.h
update from James Bishop
[wxWidgets.git] / include / wx / toplevel.h
index a18741217d9c19e5897f6c0c0c0e8a36fff9d6e1..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;
 
@@ -174,11 +174,16 @@ public:
     // Attracts the users attention to this window if the application is
     // 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
     // -------------------------------
 
@@ -186,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
@@ -216,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).
@@ -232,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__)