#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_FWD_CORE wxBookCtrlBase;
//-----------------------------------------------------------------------------
// wxPropertySheetDialog
// 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:
long style = wxDEFAULT_DIALOG_STYLE,
const wxString& name = wxDialogNameStr);
- void Init();
-
//// Accessors
// Set and get the notebook
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
// 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_