wxPropertyGridManager Class Reference

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>

Inheritance diagram for wxPropertyGridManager:
wxPropertyGridInterface

List of all members.

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.
wxPropertyGridPageGetCurrentPage () const
 Returns currently selected page.
int GetDescBoxHeight () const
 Returns height of the description text box.
const wxPropertyGridGetGrid () const
wxPropertyGridGetGrid ()
 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.
wxPropertyGridPageGetLastPage () const
 Returns last page.
wxPropertyGridPageGetPage (const wxString &name) const
 Returns page object for given page name.
wxPropertyGridPageGetPage (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.
wxPGPropertyGetPageRoot (int index) const
 Returns "root property" of the given page.
virtual wxPropertyGridStateGetPageState (int page) const
 Returns wxPropertyGridState of given page, current page's for -1.
wxPGPropertyGetPropertyByLabel (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.
wxPGPropertyGetSelectedProperty () 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 wxPropertyGridCreatePropertyGrid () const
 Creates property grid for the manager.
virtual void RefreshProperty (wxPGProperty *p)

Detailed Description

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.

Derived from

wxPropertyGridInterface
wxWindow
wxEvtHandler
wxObject

Include files

<wx/propgrid/manager.h>

Window styles

Additional Window Styles

Event handling

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)
See also:
wxPropertyGridEvent

Constructor & Destructor Documentation

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.

See also:
Additional Window Styles

Member Function Documentation

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.

Parameters:
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.
Return values:
Returns index to the page created.
Remarks:
If toolbar is used, it is highly recommended that the pages are added when the toolbar is not turned off using window style flag switching.
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).

Return values:
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.

See also:
Additional Window Styles
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.

Remarks:
Calling this method in wxPropertyGridManager causes run-time assertion failure. Please only iterate through individual pages or use CreateVIterator().

Reimplemented from wxPropertyGridInterface.

wxPropertyGridIterator wxPropertyGridManager::GetIterator ( int  flags = wxPG_ITERATE_DEFAULT,
wxPGProperty firstProp = NULL 
)

Returns iterator class instance.

Remarks:
Calling this method in wxPropertyGridManager causes run-time assertion failure. Please only iterate through individual pages or use CreateVIterator().

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.

Parameters:
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.
Return values:
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.

Return values:
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.

Parameters:
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.

Parameters:
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.

Remarks:
Splitter position cannot exceed grid size, and therefore setting it during form creation may fail as initial grid size is often smaller than desired splitter position, especially when sizers are being used.
void wxPropertyGridManager::SetStringSelection ( const wxChar *  name  ) 

Synonyme for SelectPage(name).


The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator
Generated on Sun Aug 22 12:42:15 2010 for wxPropertyGrid by  doxygen 1.6.3