X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..4f2511d706e5274a34e1521e11c1b95fed735b42:/include/wx/generic/propdlg.h diff --git a/include/wx/generic/propdlg.h b/include/wx/generic/propdlg.h index 8d168f32d5..4d5206f051 100644 --- a/include/wx/generic/propdlg.h +++ b/include/wx/generic/propdlg.h @@ -16,7 +16,9 @@ #if wxUSE_BOOKCTRL -class WXDLLEXPORT wxBookCtrlBase; +#include "wx/dialog.h" + +class WXDLLIMPEXP_FWD_CORE wxBookCtrlBase; //----------------------------------------------------------------------------- // wxPropertySheetDialog @@ -48,6 +50,33 @@ class WXDLLEXPORT wxBookCtrlBase; // kind of book control. //----------------------------------------------------------------------------- +enum wxPropertySheetDialogFlags +{ + // Use the platform default + wxPROPSHEET_DEFAULT = 0x0001, + + // Use a notebook + wxPROPSHEET_NOTEBOOK = 0x0002, + + // Use a toolbook + wxPROPSHEET_TOOLBOOK = 0x0004, + + // Use a choicebook + wxPROPSHEET_CHOICEBOOK = 0x0008, + + // Use a listbook + wxPROPSHEET_LISTBOOK = 0x0010, + + // Use a wxButtonToolBar toolbook + wxPROPSHEET_BUTTONTOOLBOOK = 0x0020, + + // Use a treebook + wxPROPSHEET_TREEBOOK = 0x0040, + + // Shrink dialog to fit current page + wxPROPSHEET_SHRINKTOFIT = 0x0100, +}; + class WXDLLIMPEXP_ADV wxPropertySheetDialog : public wxDialog { public: @@ -77,17 +106,32 @@ public: void SetBookCtrl(wxBookCtrlBase* book) { m_bookCtrl = book; } wxBookCtrlBase* GetBookCtrl() const { return m_bookCtrl; } + // Override function in base + virtual wxWindow* GetContentWindow() const; + // Set and get the inner sizer void SetInnerSize(wxSizer* sizer) { m_innerSizer = sizer; } wxSizer* GetInnerSizer() const { return m_innerSizer ; } + // Set and get the book style + void SetSheetStyle(long sheetStyle) { m_sheetStyle = sheetStyle; } + long GetSheetStyle() const { return m_sheetStyle ; } + + // Set and get the border around the whole dialog + void SetSheetOuterBorder(int border) { m_sheetOuterBorder = border; } + int GetSheetOuterBorder() const { return m_sheetOuterBorder ; } + + // Set and get the border around the book control only + void SetSheetInnerBorder(int border) { m_sheetInnerBorder = border; } + int GetSheetInnerBorder() const { return m_sheetInnerBorder ; } + /// Operations // Creates the buttons (none on PocketPC) virtual void CreateButtons(int flags = wxOK|wxCANCEL); // Lay out the dialog, to be called after pages have been created - virtual void LayoutDialog(); + virtual void LayoutDialog(int centreFlags = wxBOTH); /// Implementation @@ -101,12 +145,19 @@ public: // Set the focus void OnActivate(wxActivateEvent& event); + // Resize dialog if necessary + void OnIdle(wxIdleEvent& event); + private: void Init(); protected: wxBookCtrlBase* m_bookCtrl; wxSizer* m_innerSizer; // sizer for extra space + long m_sheetStyle; + int m_sheetOuterBorder; + int m_sheetInnerBorder; + int m_selectedPage; DECLARE_DYNAMIC_CLASS(wxPropertySheetDialog) DECLARE_EVENT_TABLE()