wxPropertyGridManager is an efficient multi-page version of wxPropertyGrid, which can optionally have toolbar for mode and page selection, and help text box. More...
#include <manager.h>
Public Member Functions | |
int | AddPage (const wxString &label=wxEmptyString, const wxBitmap &bmp=wxPG_NULL_BITMAP, wxPropertyGridPage *pageObj=(wxPropertyGridPage *) NULL) |
Creates new property page. | |
bool | CanClose () |
Returns true if all property grid data changes have been committed. | |
virtual void | Clear () |
Deletes all all properties and all pages. | |
void | ClearModifiedStatus () |
void | ClearModifiedStatus (wxPGPropArg id) |
void | ClearPage (int page) |
Deletes all properties on given page. | |
bool | ClearSelection () |
Deselect current selection, if any (from current page). | |
bool | CommitChangesFromEditor (wxUint32 flags=0) |
Forces updating the value of property from the editor control. | |
bool | Create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxPGMAN_DEFAULT_STYLE, const wxString &name=wxPropertyGridManagerNameStr) |
Two step creation. | |
bool | EnableCategories (bool enable) |
Enables or disables (shows/hides) categories according to parameter enable. | |
bool | EnsureVisible (wxPGPropArg id) |
Selects page, scrolls and/or expands items to ensure that the given item is visible. | |
size_t | GetChildrenCount (wxPGPropArg id) const |
Returns number of children for the property. | |
size_t | GetChildrenCount (int pageIndex) |
Returns number of children of the root property of given page. | |
size_t | GetChildrenCount () |
Returns number of children of the root property of the selected page. | |
int | GetColumnCount (int page=-1) const |
Returns number of columns on given page. | |
wxPropertyGridPage * | GetCurrentPage () const |
Returns currently selected page. | |
int | GetDescBoxHeight () const |
Returns height of the description text box. | |
const wxPropertyGrid * | GetGrid () const |
wxPropertyGrid * | GetGrid () |
Returns pointer to the contained wxPropertyGrid. | |
wxPropertyGridConstIterator | GetIterator (int flags, int startPos) const |
wxPropertyGridIterator | GetIterator (int flags, int startPos) |
Returns iterator class instance. | |
wxPropertyGridConstIterator | GetIterator (int flags=wxPG_ITERATE_DEFAULT, wxPGProperty *firstProp=NULL) const |
wxPropertyGridIterator | GetIterator (int flags=wxPG_ITERATE_DEFAULT, wxPGProperty *firstProp=NULL) |
Returns iterator class instance. | |
wxPropertyGridPage * | GetLastPage () const |
Returns last page. | |
wxPropertyGridPage * | GetPage (const wxString &name) const |
Returns page object for given page name. | |
wxPropertyGridPage * | GetPage (unsigned int ind) const |
Returns page object for given page index. | |
int | GetPageByName (const wxString &name) const |
Returns index for a page name. | |
int | GetPageByState (const wxPropertyGridState *pstate) const |
Returns index for a relevant propertygrid state. | |
size_t | GetPageCount () const |
Returns number of managed pages. | |
const wxString & | GetPageName (int index) const |
Returns name of given page. | |
wxPGProperty * | GetPageRoot (int index) const |
Returns "root property" of the given page. | |
virtual wxPropertyGridState * | GetPageState (int page) const |
Returns wxPropertyGridState of given page, current page's for -1. | |
wxPGProperty * | GetPropertyByLabel (const wxString &name, wxPropertyGridState **ppState=(wxPropertyGridState **) NULL) const |
Returns id of property with given label (case-sensitive). | |
wxColour | GetPropertyColour (wxPGPropArg id) const |
Returns cell background colour of a property. | |
wxColour | GetPropertyTextColour (wxPGPropArg id) const |
Returns cell text colour of a property. | |
int | GetSelectedPage () const |
Returns index to currently selected page. | |
wxPGProperty * | GetSelectedProperty () const |
Shortcut for GetGrid()->GetSelection(). | |
int | GetSelection () const |
Synonyme for GetSelectedPage. | |
wxToolBar * | GetToolBar () const |
Returns a pointer to the toolbar currently associated with the wxPropertyGridManager (if any). | |
virtual wxPGVIterator | GetVIterator (int flags) const |
Similar to GetIterator, but instead returns wxPGVIterator instance, which can be useful for forward-iterating through arbitrary property containers. | |
virtual int | InsertPage (int index, const wxString &label, const wxBitmap &bmp=wxNullBitmap, wxPropertyGridPage *pageObj=(wxPropertyGridPage *) NULL) |
Creates new property page. | |
bool | IsAnyModified () const |
Returns true if any property on any page has been modified by the user. | |
bool | IsFrozen () const |
Returns true if updating is frozen (ie. | |
bool | IsPageModified (size_t index) const |
Returns true if any property on given page has been modified by the user. | |
virtual bool | IsPropertySelected (wxPGPropArg id) const |
Returns true if property is selected. | |
virtual void | Refresh (bool eraseBackground=true, const wxRect *rect=(const wxRect *) NULL) |
virtual bool | RemovePage (int page) |
Removes a page. | |
void | SelectPage (wxPropertyGridPage *ptr) |
Select and displays a given page. | |
void | SelectPage (const wxString &label) |
Select and displays a given page (by label). | |
void | SelectPage (int index) |
Select and displays a given page. | |
bool | SelectProperty (wxPGPropArg id, bool focus=false) |
Select a property. | |
void | SetCaptionTextColour (wxPGPropArg id, const wxColour &col) |
Sets text colour of a category caption (but not it's children). | |
void | SetColumnCount (int colCount, int page=-1) |
Sets number of columns on given page (default is current page). | |
void | SetDescBoxHeight (int ht, bool refresh=true) |
Sets y coordinate of the description box splitter. | |
void | SetDescription (const wxString &label, const wxString &content) |
Sets label and text in description box. | |
void | SetPageSplitterPosition (int page, int pos, int column=0) |
Sets splitter position on individual page. | |
void | SetPropertyAttributeAll (const wxString &name, wxVariant value) |
Sets property attribute for all applicapple properties. | |
void | SetPropertyBackgroundColour (wxPGPropArg id, const wxColour &col) |
Sets background colour of property and all its children. | |
void | SetPropertyColourToDefault (wxPGPropArg id) |
Sets background and text colour of property and all its children to the default. | |
void | SetPropertyTextColour (wxPGPropArg id, const wxColour &col) |
Sets text colour of property and all its children. | |
void | SetSplitterLeft (bool subProps=false, bool allPages=true) |
Moves splitter as left as possible, while still allowing all labels to be shown in full. | |
void | SetSplitterPosition (int pos, int column=0) |
Sets splitter position for all pages. | |
void | SetStringSelection (const wxChar *name) |
Synonyme for SelectPage(name). | |
wxPropertyGridManager (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxPGMAN_DEFAULT_STYLE, const wxString &name=wxPropertyGridManagerNameStr) | |
The default constructor. | |
wxPropertyGridManager () | |
Two step constructor. | |
virtual | ~wxPropertyGridManager () |
Destructor. | |
Protected Member Functions | |
virtual wxPropertyGrid * | CreatePropertyGrid () const |
Creates property grid for the manager. | |
virtual void | RefreshProperty (wxPGProperty *p) |
wxPropertyGridManager is an efficient multi-page version of wxPropertyGrid, which can optionally have toolbar for mode and page selection, and help text box.
Use window flags to select components to include.
wxPropertyGridInterface
wxWindow
wxEvtHandler
wxObject
<wx/propgrid/manager.h>
To process input from a propertygrid control, use these event handler macros to direct input to member functions that take a wxPropertyGridEvent argument.
EVT_PG_SELECTED (id, func) | Property is selected. |
EVT_PG_CHANGED (id, func) | Property value is modified. |
EVT_PG_CHANGING (id, func) | Property value is about to be changed. Use wxPropertyGridEvent::GetValue() to take a peek at the pending value. |
EVT_PG_HIGHLIGHTED (id, func) | Mouse moves over property. Event's property is NULL if hovered on area that is not a property. |
EVT_PG_PAGE_CHANGED (id, func) | User changed page in manager. |
EVT_PG_ITEM_COLLAPSED (id, func) | User collapses a property or category. |
EVT_PG_ITEM_EXPANDED (id, func) | User expands a property or category. |
EVT_BUTTON (id, func) | Button in a property editor was clicked. Only occurs if the property doesn't handle button clicks itself. |
EVT_TEXT (id, func) | wxTextCtrl based editor was updated (but property value was not yet modified) |
wxPropertyGridManager::wxPropertyGridManager | ( | ) |
Two step constructor.
Call Create when this constructor is called to build up the wxPropertyGridManager.
wxPropertyGridManager::wxPropertyGridManager | ( | wxWindow * | parent, | |
wxWindowID | id = wxID_ANY , |
|||
const wxPoint & | pos = wxDefaultPosition , |
|||
const wxSize & | size = wxDefaultSize , |
|||
long | style = wxPGMAN_DEFAULT_STYLE , |
|||
const wxString & | name = wxPropertyGridManagerNameStr | |||
) |
The default constructor.
The styles to be used are styles valid for the wxWindow.
int wxPropertyGridManager::AddPage | ( | const wxString & | label = wxEmptyString , |
|
const wxBitmap & | bmp = wxPG_NULL_BITMAP , |
|||
wxPropertyGridPage * | pageObj = (wxPropertyGridPage*) NULL | |||
) |
Creates new property page.
Note that the first page is not created automatically.
label | A label for the page. This may be shown as a toolbar tooltip etc. | |
bmp | Bitmap image for toolbar. If wxNullBitmap is used, then a built-in default image is used. | |
pageObj | wxPropertyGridPage instance. Manager will take ownership of this object. NULL indicates that a default page instance should be created. |
Returns | index to the page created. |
bool wxPropertyGridManager::CanClose | ( | ) |
Returns true if all property grid data changes have been committed.
Usually only returns false if value in active editor has been invalidated by a wxValidator.
bool wxPropertyGridManager::ClearSelection | ( | ) |
Deselect current selection, if any (from current page).
false | if editor could not be closed. |
bool wxPropertyGridManager::CommitChangesFromEditor | ( | wxUint32 | flags = 0 |
) |
Forces updating the value of property from the editor control.
Returns true if DoPropertyChanged was actually called.
bool wxPropertyGridManager::Create | ( | wxWindow * | parent, | |
wxWindowID | id = wxID_ANY , |
|||
const wxPoint & | pos = wxDefaultPosition , |
|||
const wxSize & | size = wxDefaultSize , |
|||
long | style = wxPGMAN_DEFAULT_STYLE , |
|||
const wxString & | name = wxPropertyGridManagerNameStr | |||
) |
Two step creation.
Whenever the control is created without any parameters, use Create to actually create it. Don't access the control's public methods before this is called.
virtual wxPropertyGrid* wxPropertyGridManager::CreatePropertyGrid | ( | ) | const [protected, virtual] |
Creates property grid for the manager.
Reimplement in derived class to use subclassed wxPropertyGrid. However, if you you do this, then you must also use two-step construction (ie. default constructor and Create() instead of just constructor with arguments) when creating the manager.
bool wxPropertyGridManager::EnableCategories | ( | bool | enable | ) |
Enables or disables (shows/hides) categories according to parameter enable.
WARNING: Not tested properly, use at your own risk.
bool wxPropertyGridManager::EnsureVisible | ( | wxPGPropArg | id | ) |
Selects page, scrolls and/or expands items to ensure that the given item is visible.
Returns true if something was actually done.
size_t wxPropertyGridManager::GetChildrenCount | ( | wxPGPropArg | id | ) | const |
Returns number of children for the property.
NB: Cannot be in container methods class due to name hiding.
size_t wxPropertyGridManager::GetChildrenCount | ( | int | pageIndex | ) |
Returns number of children of the root property of given page.
size_t wxPropertyGridManager::GetChildrenCount | ( | ) |
Returns number of children of the root property of the selected page.
int wxPropertyGridManager::GetColumnCount | ( | int | page = -1 |
) | const |
Returns number of columns on given page.
By the default, returns number of columns on current page.
int wxPropertyGridManager::GetDescBoxHeight | ( | ) | const |
Returns height of the description text box.
wxPropertyGrid* wxPropertyGridManager::GetGrid | ( | ) |
Returns pointer to the contained wxPropertyGrid.
This does not change after wxPropertyGridManager has been created, so you can safely obtain pointer once and use it for the entire lifetime of the instance.
wxPropertyGridIterator wxPropertyGridManager::GetIterator | ( | int | flags, | |
int | startPos | |||
) |
Returns iterator class instance.
Reimplemented from wxPropertyGridInterface.
wxPropertyGridIterator wxPropertyGridManager::GetIterator | ( | int | flags = wxPG_ITERATE_DEFAULT , |
|
wxPGProperty * | firstProp = NULL | |||
) |
Returns iterator class instance.
Reimplemented from wxPropertyGridInterface.
int wxPropertyGridManager::GetPageByName | ( | const wxString & | name | ) | const |
Returns index for a page name.
If no match is found, wxNOT_FOUND is returned.
int wxPropertyGridManager::GetPageByState | ( | const wxPropertyGridState * | pstate | ) | const |
Returns index for a relevant propertygrid state.
If no match is found, wxNOT_FOUND is returned.
size_t wxPropertyGridManager::GetPageCount | ( | ) | const |
Returns number of managed pages.
const wxString& wxPropertyGridManager::GetPageName | ( | int | index | ) | const |
Returns name of given page.
wxPGProperty* wxPropertyGridManager::GetPageRoot | ( | int | index | ) | const |
Returns "root property" of the given page.
It does not have name, etc. and it is not visible. It is only useful for accessing its children.
wxPGProperty* wxPropertyGridManager::GetPropertyByLabel | ( | const wxString & | name, | |
wxPropertyGridState ** | ppState = (wxPropertyGridState **) NULL | |||
) | const |
Returns id of property with given label (case-sensitive).
If there is no property with such label, returned property id is invalid ( i.e. it will return false with IsOk method). If there are multiple properties with identical name, most recent added is returned.
wxColour wxPropertyGridManager::GetPropertyColour | ( | wxPGPropArg | id | ) | const |
Returns cell background colour of a property.
wxColour wxPropertyGridManager::GetPropertyTextColour | ( | wxPGPropArg | id | ) | const |
Returns cell text colour of a property.
int wxPropertyGridManager::GetSelectedPage | ( | ) | const |
Returns index to currently selected page.
wxPGProperty* wxPropertyGridManager::GetSelectedProperty | ( | ) | const |
Shortcut for GetGrid()->GetSelection().
int wxPropertyGridManager::GetSelection | ( | ) | const |
Synonyme for GetSelectedPage.
Reimplemented from wxPropertyGridInterface.
wxToolBar* wxPropertyGridManager::GetToolBar | ( | ) | const |
Returns a pointer to the toolbar currently associated with the wxPropertyGridManager (if any).
virtual int wxPropertyGridManager::InsertPage | ( | int | index, | |
const wxString & | label, | |||
const wxBitmap & | bmp = wxNullBitmap , |
|||
wxPropertyGridPage * | pageObj = (wxPropertyGridPage *) NULL | |||
) | [virtual] |
Creates new property page.
Note that the first page is not created automatically.
index | Add to this position. -1 will add as the last item. | |
label | A label for the page. This may be shown as a toolbar tooltip etc. | |
bmp | Bitmap image for toolbar. If wxNullBitmap is used, then a built-in default image is used. | |
pageObj | wxPropertyGridPage instance. Manager will take ownership of this object. If NULL, default page object is constructed. |
Returns | index to the page created. |
bool wxPropertyGridManager::IsAnyModified | ( | ) | const |
Returns true if any property on any page has been modified by the user.
bool wxPropertyGridManager::IsFrozen | ( | ) | const |
Returns true if updating is frozen (ie.
Freeze() called but not yet Thaw() ).
bool wxPropertyGridManager::IsPageModified | ( | size_t | index | ) | const |
Returns true if any property on given page has been modified by the user.
virtual bool wxPropertyGridManager::IsPropertySelected | ( | wxPGPropArg | id | ) | const [virtual] |
Returns true if property is selected.
Since selection is page based, this function checks every page in the manager.
Reimplemented from wxPropertyGridInterface.
virtual bool wxPropertyGridManager::RemovePage | ( | int | page | ) | [virtual] |
Removes a page.
Returns | false if it was not possible to remove page in question. |
void wxPropertyGridManager::SelectPage | ( | wxPropertyGridPage * | ptr | ) |
Select and displays a given page.
void wxPropertyGridManager::SelectPage | ( | const wxString & | label | ) |
Select and displays a given page (by label).
void wxPropertyGridManager::SelectPage | ( | int | index | ) |
Select and displays a given page.
index | Index of page being seleced. Can be -1 to select nothing. |
bool wxPropertyGridManager::SelectProperty | ( | wxPGPropArg | id, | |
bool | focus = false | |||
) |
Select a property.
void wxPropertyGridManager::SetDescBoxHeight | ( | int | ht, | |
bool | refresh = true | |||
) |
Sets y coordinate of the description box splitter.
void wxPropertyGridManager::SetPageSplitterPosition | ( | int | page, | |
int | pos, | |||
int | column = 0 | |||
) |
Sets splitter position on individual page.
void wxPropertyGridManager::SetPropertyAttributeAll | ( | const wxString & | name, | |
wxVariant | value | |||
) |
Sets property attribute for all applicapple properties.
Be sure to use this method after all properties have been added to the grid.
void wxPropertyGridManager::SetPropertyBackgroundColour | ( | wxPGPropArg | id, | |
const wxColour & | col | |||
) |
Sets background colour of property and all its children.
Colours of captions are not affected. Background brush cache is optimized for often set colours to be set last.
void wxPropertyGridManager::SetPropertyColourToDefault | ( | wxPGPropArg | id | ) |
Sets background and text colour of property and all its children to the default.
void wxPropertyGridManager::SetSplitterLeft | ( | bool | subProps = false , |
|
bool | allPages = true | |||
) |
Moves splitter as left as possible, while still allowing all labels to be shown in full.
subProps | If false, will still allow sub-properties (ie. properties which parent is not root or category) to be cropped. | |
allPages | If true, takes labels on all pages into account. |
void wxPropertyGridManager::SetSplitterPosition | ( | int | pos, | |
int | column = 0 | |||
) |
Sets splitter position for all pages.
void wxPropertyGridManager::SetStringSelection | ( | const wxChar * | name | ) |
Synonyme for SelectPage(name).