// wxTopLevelWindowMSW
// ----------------------------------------------------------------------------
-class wxTopLevelWindowMSW : public wxTopLevelWindowBase
+class WXDLLEXPORT wxTopLevelWindowMSW : public wxTopLevelWindowBase
{
public:
// constructors and such
virtual bool Show(bool show = TRUE);
- // FIXME -- not yet moved from wxFrame to wxTLW
- virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) {}
- virtual bool IsFullScreen() { return FALSE; }
+ virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
+ virtual bool IsFullScreen() const { return m_fsIsShowing; }
+
+ // wxMSW only: EnableCloseButton(FALSE) may be used to remove the "Close"
+ // button from the title bar
+ bool EnableCloseButton(bool enable = TRUE);
// implementation from now on
// --------------------------
// common part of all ctors
void Init();
+ // create a new frame, return FALSE if it couldn't be created
+ bool CreateFrame(const wxString& title,
+ const wxPoint& pos,
+ const wxSize& size);
+
+ // create a new dialog using the given dialog template from resources,
+ // return FALSE if it couldn't be created
+ bool CreateDialog(const wxChar *dlgTemplate,
+ const wxString& title,
+ const wxPoint& pos,
+ const wxSize& size);
+
// common part of Iconize(), Maximize() and Restore()
void DoShowWindow(int nShowCmd);
// implement the geometry-related methods for a top level window
virtual void DoSetClientSize(int width, int height);
+ // get the MSW window flags corresponding to wxWindows ones
+ //
+ // the functions returns the flags (WS_XXX) directly and puts the ext
+ // (WS_EX_XXX) flags into the provided pointer if not NULL
+ long MSWGetCreateWindowFlags(long *exflags) const;
+
// is the frame currently iconized?
bool m_iconized;
// should the frame be maximized when it will be shown? set by Maximize()
// when it is called while the frame is hidden
bool m_maximizeOnShow;
+
+ // Data to save/restore when calling ShowFullScreen
+ long m_fsStyle; // Passed to ShowFullScreen
+ wxRect m_fsOldSize;
+ long m_fsOldWindowStyle;
+ bool m_fsIsMaximized;
+ bool m_fsIsShowing;
};
// list of all frames and modeless dialogs