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 8// Modified by: 9// Created: 2004-30-01 10// RCS-ID: $Id: drawer.h 42077 2006-10-17 14:44:52Z ABX $ 11// Copyright: (c) Jason Bagley; Art & Logic, Inc. 12// Licence: wxWindows licence 13///////////////////////////////////////////////////////////////////////////// 14 15#ifndef _WX_DRAWERWINDOW_H_ 16#define _WX_DRAWERWINDOW_H_ 17 18#include "wx/toplevel.h" 19 20// 21// NB: This is currently a private undocumented class - 22// it is stable, but the API is not and will change in the 23// near future 24// 25 26#if ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 ) 27 28class WXDLLEXPORT wxDrawerWindow : public wxTopLevelWindow 29{ 30 DECLARE_DYNAMIC_CLASS(wxDrawerWindow) 31 32public: 33 34 wxDrawerWindow(); 35 36 wxDrawerWindow(wxWindow* parent, 37 wxWindowID id, 38 const wxString& title, 39 wxSize size = wxDefaultSize, 40 wxDirection edge = wxLEFT, 41 const wxString& name = wxT("drawerwindow")) 42 { 43 this->Create(parent, id, title, size, edge, name); 44 } 45 46 virtual ~wxDrawerWindow(); 47 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, 52 wxWindowID id, 53 const wxString& title, 54 wxSize size = wxDefaultSize, 55 wxDirection edge = wxLEFT, 56 const wxString& name = wxFrameNameStr); 57 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); } 60 bool IsOpen() const; 61 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 66}; 67 68#endif // defined( __WXMAC__ ) && TARGET_API_MAC_OSX && ( MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2 ) 69 70#endif 71 // _WX_DRAWERWINDOW_H_ 72