X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c9287bbb4ac43f9136ee45dee7dbb7af29a9ae3..90a77e64841dfcaf37103b6411987402739baa0b:/include/wx/generic/propdlg.h diff --git a/include/wx/generic/propdlg.h b/include/wx/generic/propdlg.h index 9559d8dee0..a7fbf3d9e9 100644 --- a/include/wx/generic/propdlg.h +++ b/include/wx/generic/propdlg.h @@ -12,11 +12,13 @@ #ifndef _WX_PROPDLG_H_ #define _WX_PROPDLG_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "propdlg.h" -#endif +#include "wx/defs.h" -class WXDLLEXPORT wxBookCtrlBase; +#if wxUSE_BOOKCTRL + +#include "wx/dialog.h" + +class WXDLLIMPEXP_CORE wxBookCtrlBase; //----------------------------------------------------------------------------- // wxPropertySheetDialog @@ -48,7 +50,31 @@ class WXDLLEXPORT wxBookCtrlBase; // kind of book control. //----------------------------------------------------------------------------- -class WXDLLEXPORT wxPropertySheetDialog : public wxDialog +// Use the platform default +#define wxPROPSHEET_DEFAULT 0x0001 + +// Use a notebook +#define wxPROPSHEET_NOTEBOOK 0x0002 + +// Use a toolbook +#define wxPROPSHEET_TOOLBOOK 0x0004 + +// Use a choicebook +#define wxPROPSHEET_CHOICEBOOK 0x0008 + +// Use a listbook +#define wxPROPSHEET_LISTBOOK 0x0010 + +// Use a wxButtonToolBar toolbook +#define wxPROPSHEET_BUTTONTOOLBOOK 0x0020 + +// Use a treebook +#define wxPROPSHEET_TREEBOOK 0x0040 + +// Shrink dialog to fit current page +#define wxPROPSHEET_SHRINKTOFIT 0x0100 + +class WXDLLIMPEXP_ADV wxPropertySheetDialog : public wxDialog { public: wxPropertySheetDialog() : wxDialog() { Init(); } @@ -71,8 +97,6 @@ public: long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxDialogNameStr); - void Init(); - //// Accessors // Set and get the notebook @@ -83,13 +107,25 @@ public: 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 @@ -100,12 +136,28 @@ public: // Adds the book control to the inner sizer. virtual void AddBookCtrl(wxSizer* sizer); + // 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() }; +#endif // wxUSE_BOOKCTRL + #endif // _WX_PROPDLG_H_