X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c913512a4c9f36e11e07ea707002fab1608d324..16c4516d934736b1a68f345f88b490ea3d0b247c:/interface/collpane.h diff --git a/interface/collpane.h b/interface/collpane.h index 123a9c0cd8..161eff344d 100644 --- a/interface/collpane.h +++ b/interface/collpane.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: collpane.h -// Purpose: documentation for wxCollapsiblePaneEvent class +// Purpose: interface of wxCollapsiblePane // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license @@ -10,14 +10,17 @@ @class wxCollapsiblePaneEvent @wxheader{collpane.h} - This event class is used for the events generated by - wxCollapsiblePane. + This event class is used for the events generated by wxCollapsiblePane. + + @beginEventTable{wxCollapsiblePaneEvent} + @event{EVT_COLLAPSIBLEPANE_CHANGED(id, func)} + The user expanded or collapsed the collapsible pane. + @endEventTable @library{wxcore} - @category{FIXME} + @category{events} - @seealso - wxCollapsiblePane + @see wxCollapsiblePane */ class wxCollapsiblePaneEvent : public wxCommandEvent { @@ -25,88 +28,88 @@ public: /** The constructor is not normally used by the user code. */ - wxCollapsiblePaneEvent(wxObject * generator, int id, - bool collapsed); + wxCollapsiblePaneEvent(wxObject* generator, int id, bool collapsed); /** Returns @true if the pane has been collapsed. */ - bool GetCollapsed(); + bool GetCollapsed() const; /** - Sets this as a collapsed pane event (if @e collapsed is @true) or as an - expanded - pane event (if @e collapsed is @false). + Sets this as a collapsed pane event (if @a collapsed is @true) or as an + expanded pane event (if @a collapsed is @false). */ void SetCollapsed(bool collapsed); }; + /** @class wxCollapsiblePane @wxheader{collpane.h} - A collapsible pane is a container with an embedded button-like control which - can be - used by the user to collapse or expand the pane's contents. + A collapsible pane is a container with an embedded button-like control + which can be used by the user to collapse or expand the pane's contents. - Once constructed you should use the wxCollapsiblePane::GetPane - function to access the pane and add your controls inside it (i.e. use the - wxCollapsiblePane::GetPane's returned pointer as parent for the - controls which must go in the pane, NOT the wxCollapsiblePane itself!). + Once constructed you should use the GetPane() function to access the pane + and add your controls inside it (i.e. use the returned pointer from + GetPane() as parent for the controls which must go in the pane, @b not the + wxCollapsiblePane itself!). Note that because of its nature of control which can dynamically (and - drastically) - change its size at run-time under user-input, when putting wxCollapsiblePane - inside - a wxSizer you should be careful to add it with a proportion value - of zero; this is because otherwise all other windows with non-null proportion - values - would automatically get resized each time the user expands or collapse the pane - window - resulting usually in a weird, flickering effect. + drastically) change its size at run-time under user-input, when putting + wxCollapsiblePane inside a wxSizer you should be careful to add it with a + proportion value of zero; this is because otherwise all other windows with + non-null proportion values will automatically resize each time the user + expands or collapse the pane window usually resulting in a weird, + flickering effect. Usage sample: @code - wxCollapsiblePane *collpane = new wxCollapsiblePane(this, wxID_ANY, - wxT("Details:")); - - // add the pane with a zero proportion value to the 'sz' sizer which - contains it - sz-Add(collpane, 0, wxGROW|wxALL, 5); - - // now add a test label in the collapsible pane using a sizer to layout it: - wxWindow *win = collpane-GetPane(); - wxSizer *paneSz = new wxBoxSizer(wxVERTICAL); - paneSz-Add(new wxStaticText(win, wxID_ANY, wxT("test!")), 1, wxGROW|wxALL, - 2); - win-SetSizer(paneSz); - paneSz-SetSizeHints(win); + wxCollapsiblePane *collpane = new wxCollapsiblePane(this, wxID_ANY, wxT("Details:")); + + // add the pane with a zero proportion value to the 'sz' sizer which contains it + sz->Add(collpane, 0, wxGROW|wxALL, 5); + + // now add a test label in the collapsible pane using a sizer to layout it: + wxWindow *win = collpane->GetPane(); + wxSizer *paneSz = new wxBoxSizer(wxVERTICAL); + paneSz->Add(new wxStaticText(win, wxID_ANY, wxT("test!")), 1, wxGROW|wxALL, 2); + win->SetSizer(paneSz); + paneSz->SetSizeHints(win); @endcode It is only available if @c wxUSE_COLLPANE is set to 1 (the default). @beginStyleTable - @style{wxCP_DEFAULT_STYLE}: + @style{wxCP_DEFAULT_STYLE} The default style: 0. @endStyleTable + @beginEventTable{wxCollapsiblePaneEvent} + @event{EVT_COLLAPSIBLEPANE_CHANGED(id, func)} + The user expanded or collapsed the collapsible pane. + @endEventTable + @library{wxcore} @category{ctrl} - @appearance{collapsiblepane.png} + - @seealso - wxPanel, wxCollapsiblePaneEvent + @see wxPanel, wxCollapsiblePaneEvent */ class wxCollapsiblePane : public wxControl { public: /** - Initializes the object and calls Create() with - all the parameters. + Default constructor. */ - wxCollapsiblePane(wxWindow * parent, wxWindowID id, + wxCollapsiblePane(); + + /** + Initializes the object and calls Create() with all the parameters. + */ + wxCollapsiblePane(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -114,41 +117,29 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = "collapsiblePane"); - /** - Collapses or expands the pane window. - */ - void Collapse(bool collapse = @true); - /** @param parent - Parent window, must not be non-@NULL. - + Parent window, must not be non-@NULL. @param id - The identifier for the control. - + The identifier for the control. @param label - The initial label shown in the button which allows the user to expand or - collapse the pane window. - + The initial label shown in the button which allows the user to + expand or collapse the pane window. @param pos - Initial position. - + Initial position. @param size - Initial size. - + Initial size. @param style - The window style, see wxCP_* flags. - + The window style, see wxCP_* flags. @param validator - Validator which can be used for additional date checks. - + Validator which can be used for additional date checks. @param name - Control name. - - @returns @true if the control was successfully created or @false if - creation failed. + Control name. + + @return @true if the control was successfully created or @false if + creation failed. */ - bool Create(wxWindow * parent, wxWindowID id, + bool Create(wxWindow* parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -157,23 +148,29 @@ public: const wxString& name = "collapsiblePane"); /** - Same as @c wxCollapsiblePane::Collapse(@false). + Collapses or expands the pane window. + */ + void Collapse(bool collapse = true); + + /** + Same as calling Collapse(@false). */ void Expand(); /** - Returns a pointer to the pane window. Add controls to the returned wxWindow - to make them collapsible. + Returns a pointer to the pane window. Add controls to the returned + wxWindow to make them collapsible. */ - wxWindow * GetPane(); + wxWindow* GetPane() const; /** Returns @true if the pane window is currently hidden. */ - bool IsCollapsed(); + bool IsCollapsed() const; /** Returns @true if the pane window is currently shown. */ - bool IsExpanded(); + bool IsExpanded() const; }; +