#ifndef _WX_TOPLEVEL_BASE_H_
#define _WX_TOPLEVEL_BASE_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "toplevelbase.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#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;
#elif defined(__WINCE_STANDARDSDK__)
#define wxDEFAULT_FRAME_STYLE (wxMAXIMIZE|wxCLOSE_BOX)
#else
- #define wxDEFAULT_FRAME_STYLE (0)
+ #define wxDEFAULT_FRAME_STYLE (wxNO_BORDER)
#endif
#else // !__WXWINCE__
#define wxDEFAULT_FRAME_STYLE \
// 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
// do the window-specific processing after processing the update event
virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
+ // Reserved for future use
+ virtual void ReservedTopLevelWindowFunc1() {}
+ virtual void ReservedTopLevelWindowFunc2() {}
+ virtual void ReservedTopLevelWindowFunc3() {}
+ virtual void ReservedTopLevelWindowFunc4() {}
+ virtual void ReservedTopLevelWindowFunc5() {}
+ virtual void ReservedTopLevelWindowFunc6() {}
+ virtual void ReservedTopLevelWindowFunc7() {}
+ virtual void ReservedTopLevelWindowFunc8() {}
+ virtual void ReservedTopLevelWindowFunc9() {}
+
protected:
// the frame client to screen translation should take account of the
// toolbar which may shift the origin of the client area
// 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).
// 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__)