X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/35ff90a0b30bf24fcb9478a3c43143c124bbff46..eba99da4c0563e6508761272a1e1f1b791d0af6b:/include/wx/toplevel.h diff --git a/include/wx/toplevel.h b/include/wx/toplevel.h index 89fcba6c0d..bfbe0ac8e4 100644 --- a/include/wx/toplevel.h +++ b/include/wx/toplevel.h @@ -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 HasFocus() + 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__)