1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/mac/carbon/drawer.h 
   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 #include "wx/toplevel.h" 
  21 // NB:  This is currently a private undocumented class - 
  22 // it is stable, but the API is not and will change in the 
  26 #if ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 ) 
  28 class WXDLLIMPEXP_ADV wxDrawerWindow 
: public wxTopLevelWindow
 
  30     DECLARE_DYNAMIC_CLASS(wxDrawerWindow
) 
  36     wxDrawerWindow(wxWindow
* parent
, 
  38                    const wxString
& title
, 
  39                    wxSize size 
= wxDefaultSize
, 
  40                    wxDirection edge 
= wxLEFT
, 
  41                    const wxString
& name 
= wxT("drawerwindow")) 
  43         this->Create(parent
, id
, title
, size
, edge
, name
); 
  46     virtual ~wxDrawerWindow(); 
  48     // Create a drawer window. 
  49     // If parent is NULL, create as a tool window. 
  50     // If parent is not NULL, then wxTopLevelWindow::Attach this window to parent. 
  51     bool Create(wxWindow 
*parent
, 
  53      const wxString
& title
, 
  54      wxSize size 
= wxDefaultSize
, 
  55      wxDirection edge 
= wxLEFT
, 
  56      const wxString
& name 
= wxFrameNameStr
); 
  58     bool Open(bool show 
= true); // open or close the drawer, possibility for async param, i.e. animate 
  59     bool Close() { return this->Open(false); } 
  62     // Set the edge of the parent where the drawer attaches. 
  63     bool SetPreferredEdge(wxDirection edge
); 
  64     wxDirection 
GetPreferredEdge() const; 
  65     wxDirection 
GetCurrentEdge() const; // not necessarily the preferred, due to screen constraints 
  68 #endif // defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 ) 
  71     // _WX_DRAWERWINDOW_H_