| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/generic/propdlg.h
 
- // Purpose:     wxPropertySheetDialog
 
- // Author:      Julian Smart
 
- // Modified by:
 
- // Created:     2005-03-12
 
- // Copyright:   (c) Julian Smart
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_PROPDLG_H_
 
- #define _WX_PROPDLG_H_
 
- #include "wx/defs.h"
 
- #if wxUSE_BOOKCTRL
 
- #include "wx/dialog.h"
 
- class WXDLLIMPEXP_FWD_CORE wxBookCtrlBase;
 
- //-----------------------------------------------------------------------------
 
- // wxPropertySheetDialog
 
- // A platform-independent properties dialog.
 
- //
 
- //   * on PocketPC, a flat-look 'property sheet' notebook will be used, with
 
- //     no OK/Cancel/Help buttons
 
- //   * on other platforms, a normal notebook will be used, with standard buttons
 
- //
 
- // To use this class, call Create from your derived class.
 
- // Then create pages and add to the book control. Finally call CreateButtons and
 
- // LayoutDialog.
 
- //
 
- // For example:
 
- //
 
- // MyPropertySheetDialog::Create(...)
 
- // {
 
- //     wxPropertySheetDialog::Create(...);
 
- //
 
- //     // Add page
 
- //     wxPanel* panel = new wxPanel(GetBookCtrl(), ...);
 
- //     GetBookCtrl()->AddPage(panel, wxT("General"));
 
- //
 
- //     CreateButtons();
 
- //     LayoutDialog();
 
- // }
 
- //
 
- // Override CreateBookCtrl and AddBookCtrl to create and add a different
 
- // 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:
 
-     wxPropertySheetDialog() : wxDialog() { Init(); }
 
-     wxPropertySheetDialog(wxWindow* parent, wxWindowID id,
 
-                        const wxString& title,
 
-                        const wxPoint& pos = wxDefaultPosition,
 
-                        const wxSize& sz = wxDefaultSize,
 
-                        long style = wxDEFAULT_DIALOG_STYLE,
 
-                        const wxString& name = wxDialogNameStr)
 
-     {
 
-         Init();
 
-         Create(parent, id, title, pos, sz, style, name);
 
-     }
 
-     bool Create(wxWindow* parent, wxWindowID id,
 
-                        const wxString& title,
 
-                        const wxPoint& pos = wxDefaultPosition,
 
-                        const wxSize& sz = wxDefaultSize,
 
-                        long style = wxDEFAULT_DIALOG_STYLE,
 
-                        const wxString& name = wxDialogNameStr);
 
- //// 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(int centreFlags = wxBOTH);
 
- /// Implementation
 
-     // Creates the book control. If you want to use a different kind of
 
-     // control, override.
 
-     virtual wxBookCtrlBase* CreateBookCtrl();
 
-     // 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_
 
 
  |