git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			183 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        propdlg.h
 | 
						|
// Purpose:     interface of wxPropertySheetDialog
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxPropertySheetDialog
 | 
						|
    @wxheader{propdlg.h}
 | 
						|
 | 
						|
    This class represents a property sheet dialog: a tabbed dialog
 | 
						|
    for showing settings. It is optimized to show flat tabs
 | 
						|
    on PocketPC devices, and can be customized to use different
 | 
						|
    controllers instead of the default notebook style.
 | 
						|
 | 
						|
    To use this class, call wxPropertySheetDialog::Create from your own
 | 
						|
    Create function. Then call wxPropertySheetDialog::CreateButtons, and create
 | 
						|
    pages, adding them to the book control.
 | 
						|
    Finally call wxPropertySheetDialog::LayoutDialog.
 | 
						|
 | 
						|
    For example:
 | 
						|
 | 
						|
    @code
 | 
						|
    bool MyPropertySheetDialog::Create(...)
 | 
						|
    {
 | 
						|
        if (!wxPropertySheetDialog::Create(...))
 | 
						|
            return @false;
 | 
						|
 | 
						|
        CreateButtons(wxOK|wxCANCEL|wxHELP);
 | 
						|
 | 
						|
        // Add page
 | 
						|
        wxPanel* panel = new wxPanel(GetBookCtrl(), ...);
 | 
						|
        GetBookCtrl()-AddPage(panel, wxT("General"));
 | 
						|
 | 
						|
        LayoutDialog();
 | 
						|
        return @true;
 | 
						|
    }
 | 
						|
    @endcode
 | 
						|
 | 
						|
    If necessary, override CreateBookCtrl and AddBookCtrl to create and add a
 | 
						|
    different
 | 
						|
    kind of book control. You would then need to use two-step construction for the
 | 
						|
    dialog.
 | 
						|
    Or, change the style of book control by calling
 | 
						|
    wxPropertySheetDialog::SetSheetStyle
 | 
						|
    before calling Create.
 | 
						|
 | 
						|
    The dialogs sample shows this class being used with notebook and toolbook
 | 
						|
    controllers (for
 | 
						|
    Windows-style and Mac-style settings dialogs).
 | 
						|
 | 
						|
    To make pages of the dialog scroll when the display is too small to fit the
 | 
						|
    whole dialog, you can switch
 | 
						|
    layout adaptation on globally with wxDialog::EnableLayoutAdaptation or
 | 
						|
    per dialog with wxDialog::SetLayoutAdaptationMode. For more
 | 
						|
    about layout adaptation, see @ref overview_autoscrollingdialogs "Automatic
 | 
						|
    scrolling dialogs".
 | 
						|
 | 
						|
    @library{wxadv}
 | 
						|
    @category{managedwnd}
 | 
						|
*/
 | 
						|
class wxPropertySheetDialog : public wxDialog
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Constructor.
 | 
						|
    */
 | 
						|
    wxPropertySheetDialog(wxWindow* parent, wxWindowID id,
 | 
						|
                          const wxString& title,
 | 
						|
                          const wxPoint& pos = wxDefaultPosition,
 | 
						|
                          const wxSize& size = wxDefaultSize,
 | 
						|
                          long style = wxDEFAULT_DIALOG_STYLE,
 | 
						|
                          const wxString& name = "dialogBox");
 | 
						|
 | 
						|
    /**
 | 
						|
        Override this if you wish to add the book control in a way different from the
 | 
						|
        standard way (for example, using different spacing).
 | 
						|
    */
 | 
						|
    virtual void AddBookCtrl(wxSizer* sizer);
 | 
						|
 | 
						|
    /**
 | 
						|
        Call this from your own Create function, before adding buttons and pages.
 | 
						|
    */
 | 
						|
    bool Create(wxWindow* parent, wxWindowID id,
 | 
						|
                const wxString& title,
 | 
						|
                const wxPoint& pos = wxDefaultPosition,
 | 
						|
                const wxSize& size = wxDefaultSize,
 | 
						|
                long style = wxDEFAULT_DIALOG_STYLE,
 | 
						|
                const wxString& name = "dialogBox");
 | 
						|
 | 
						|
    /**
 | 
						|
        Override this if you wish to create a different kind of book control; by
 | 
						|
        default, the value
 | 
						|
        passed to SetSheetStyle() is used to determine the control.
 | 
						|
        The default behaviour is to create a notebook except on Smartphone, where a
 | 
						|
        choicebook is used.
 | 
						|
    */
 | 
						|
    virtual wxBookCtrlBase* CreateBookCtrl();
 | 
						|
 | 
						|
    /**
 | 
						|
        Call this to create the buttons for the dialog. This calls
 | 
						|
        wxDialog::CreateButtonSizer, and
 | 
						|
        the flags are the same. On PocketPC, no buttons are created.
 | 
						|
    */
 | 
						|
    void CreateButtons(int flags = wxOK|wxCANCEL);
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns the book control that will contain your settings pages.
 | 
						|
    */
 | 
						|
    wxBookCtrlBase* GetBookCtrl() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns the inner sizer that contains the book control and button sizer.
 | 
						|
    */
 | 
						|
    wxSizer* GetInnerSizer() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns the sheet style. See SetSheetStyle() for
 | 
						|
        permissable values.
 | 
						|
    */
 | 
						|
    long GetSheetStyle() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Call this to lay out the dialog. On PocketPC, this does nothing, since the
 | 
						|
        dialog will be shown
 | 
						|
        full-screen, and the layout will be done when the dialog receives a size event.
 | 
						|
    */
 | 
						|
    void LayoutDialog(int centreFlags = wxBOTH);
 | 
						|
 | 
						|
    /**
 | 
						|
        Sets the book control used for the dialog. You will normally not need to use
 | 
						|
        this.
 | 
						|
    */
 | 
						|
    void SetBookCtrl(wxBookCtrlBase* bookCtrl);
 | 
						|
 | 
						|
    /**
 | 
						|
        Sets the inner sizer that contains the book control and button sizer. You will
 | 
						|
        normally not need to use this.
 | 
						|
    */
 | 
						|
    void SetInnerSizer(wxSizer* sizer);
 | 
						|
 | 
						|
    /**
 | 
						|
        You can customize the look and feel of the dialog by setting the sheet style.
 | 
						|
        It is
 | 
						|
        a bit list of the following values:
 | 
						|
        
 | 
						|
        wxPROPSHEET_DEFAULT
 | 
						|
        
 | 
						|
        Uses the default look and feel for the controller window,
 | 
						|
        normally a notebook except on Smartphone where a choice control is used.
 | 
						|
        
 | 
						|
        wxPROPSHEET_NOTEBOOK
 | 
						|
        
 | 
						|
        Uses a notebook for the controller window.
 | 
						|
        
 | 
						|
        wxPROPSHEET_TOOLBOOK
 | 
						|
        
 | 
						|
        Uses a toolbook for the controller window.
 | 
						|
        
 | 
						|
        wxPROPSHEET_CHOICEBOOK
 | 
						|
        
 | 
						|
        Uses a choicebook for the controller window.
 | 
						|
        
 | 
						|
        wxPROPSHEET_LISTBOOK
 | 
						|
        
 | 
						|
        Uses a listbook for the controller window.
 | 
						|
        
 | 
						|
        wxPROPSHEET_TREEBOOK
 | 
						|
        
 | 
						|
        Uses a treebook for the controller window.
 | 
						|
        
 | 
						|
        wxPROPSHEET_SHRINKTOFIT
 | 
						|
        
 | 
						|
        Shrinks the dialog window to fit the currently selected page (common behaviour
 | 
						|
        for
 | 
						|
        property sheets on Mac OS X).
 | 
						|
    */
 | 
						|
    void SetSheetStyle(long style);
 | 
						|
};
 | 
						|
 |