implemented wxTLW::InteractiveMove and mostly finished wxTLW/Univ

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2001-09-30 23:09:24 +00:00
parent b11e8fb666
commit b22d16ad20
5 changed files with 361 additions and 24 deletions

View File

@@ -30,18 +30,40 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
class WXDLLEXPORT wxTopLevelWindowBase;
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// Dialogs are created in a special way
#define wxTOPLEVEL_EX_DIALOG 0x00000008
// Styles for ShowFullScreen
// (note that wxTopLevelWindow only handles wxFULLSCREEN_NOBORDER and
// wxFULLSCREEN_NOCAPTION; the rest is handled by wxTopLevelWindow)
#define wxFULLSCREEN_NOMENUBAR 0x01
#define wxFULLSCREEN_NOTOOLBAR 0x02
#define wxFULLSCREEN_NOSTATUSBAR 0x04
#define wxFULLSCREEN_NOBORDER 0x08
#define wxFULLSCREEN_NOCAPTION 0x10
#define wxFULLSCREEN_ALL (wxFULLSCREEN_NOMENUBAR | wxFULLSCREEN_NOTOOLBAR | wxFULLSCREEN_NOSTATUSBAR | wxFULLSCREEN_NOBORDER | wxFULLSCREEN_NOCAPTION)
enum
{
wxFULLSCREEN_NOMENUBAR = 0x0001,
wxFULLSCREEN_NOTOOLBAR = 0x0002,
wxFULLSCREEN_NOSTATUSBAR = 0x0004,
wxFULLSCREEN_NOBORDER = 0x0008,
wxFULLSCREEN_NOCAPTION = 0x0010,
wxFULLSCREEN_ALL = wxFULLSCREEN_NOMENUBAR | wxFULLSCREEN_NOTOOLBAR |
wxFULLSCREEN_NOSTATUSBAR | wxFULLSCREEN_NOBORDER |
wxFULLSCREEN_NOCAPTION
};
// Flags for interactive frame manipulation functions (only in wxUniversal):
enum
{
wxINTERACTIVE_MOVE = 0x00000001,
wxINTERACTIVE_RESIZE = 0x00000002,
wxINTERACTIVE_RESIZE_S = 0x00000010,
wxINTERACTIVE_RESIZE_N = 0x00000020,
wxINTERACTIVE_RESIZE_W = 0x00000040,
wxINTERACTIVE_RESIZE_E = 0x00000080,
wxINTERACTIVE_WAIT_FOR_INPUT = 0x10000000
};
// ----------------------------------------------------------------------------
// wxTopLevelWindow: a top level (as opposed to child) window
@@ -53,6 +75,10 @@ public:
// construction
wxTopLevelWindowBase();
#ifdef __DARWIN__
virtual ~wxTopLevelWindowBase() {}
#endif
// top level wnd state
// --------------------
@@ -96,6 +122,12 @@ public:
bool Iconized() const { return IsIconized(); }
#endif // WXWIN_COMPATIBILITY_2
#ifdef __WXUNIVERSAL__
// move/resize the frame interactively, i.e. let the user do it
virtual void InteractiveMove(int flags = wxINTERACTIVE_MOVE);
#endif
// implementation only from now on
// -------------------------------
@@ -111,10 +143,6 @@ public:
// so should be there for all platforms
void OnActivate(wxActivateEvent &WXUNUSED(event)) { }
#ifdef __DARWIN__
virtual ~wxTopLevelWindowBase() {}
#endif
protected:
// the frame client to screen translation should take account of the
// toolbar which may shift the origin of the client area