1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Drawer child window class.
4 // Drawer windows appear under their parent window and
5 // behave like a drawer, opening and closing to reveal
6 // content that does not need to be visible at all times.
7 // Author: Jason Bagley
11 // Copyright: (c) Jason Bagley; Art & Logic, Inc.
12 // Licence: wxWindows licence
13 /////////////////////////////////////////////////////////////////////////////
15 #ifndef _WX_DRAWERWINDOW_H_
16 #define _WX_DRAWERWINDOW_H_
18 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
19 #pragma interface "drawer.h"
22 #include "wx/toplevel.h"
25 // NB: This is currently a private undocumented class -
26 // it is stable, but the API is not and will change in the
30 #if ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
32 class WXDLLEXPORT wxDrawerWindow
: public wxTopLevelWindow
34 DECLARE_DYNAMIC_CLASS(wxDrawerWindow
)
40 wxDrawerWindow(wxWindow
* parent
,
42 const wxString
& title
,
43 wxSize size
= wxDefaultSize
,
44 wxDirection edge
= wxLEFT
,
45 const wxString
& name
= wxT("drawerwindow"))
47 this->Create(parent
, id
, title
, size
, edge
, name
);
52 // Create a drawer window.
53 // If parent is NULL, create as a tool window.
54 // If parent is not NULL, then wxTopLevelWindow::Attach this window to parent.
55 bool Create(wxWindow
*parent
,
57 const wxString
& title
,
58 wxSize size
= wxDefaultSize
,
59 wxDirection edge
= wxLEFT
,
60 const wxString
& name
= wxFrameNameStr
);
62 bool Open(bool show
= true); // open or close the drawer, possibility for async param, i.e. animate
63 bool Close() { return this->Open(false); }
66 // Set the edge of the parent where the drawer attaches.
67 bool SetPreferredEdge(wxDirection edge
);
68 wxDirection
GetPreferredEdge() const;
69 wxDirection
GetCurrentEdge() const; // not necessarily the preferred, due to screen constraints
72 #endif // defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 )
74 #endif // _WX_DRAWERWINDOW_H_