QtTreePropertyBrowser Class Reference

The QtTreePropertyBrowser class provides QTreeWidget based property browser. More...

#include <ArmarXGui/libraries/qtpropertybrowser/src/qttreepropertybrowser.h>

+ Inheritance diagram for QtTreePropertyBrowser:

Public Types

enum  ResizeMode { Interactive , Stretch , Fixed , ResizeToContents }
 

Signals

void collapsed (QtBrowserItem *item)
 
void expanded (QtBrowserItem *item)
 
- Signals inherited from QtAbstractPropertyBrowser
void currentItemChanged (QtBrowserItem *)
 

Public Member Functions

bool alternatingRowColors () const
 
QColor backgroundColor (QtBrowserItem *item) const
 
QColor calculatedBackgroundColor (QtBrowserItem *item) const
 
void editItem (QtBrowserItem *item)
 
int indentation () const
 
bool isExpanded (QtBrowserItem *item) const
 
bool isHeaderVisible () const
 
bool isItemVisible (QtBrowserItem *item) const
 
bool propertiesWithoutValueMarked () const
 
 QtTreePropertyBrowser (QWidget *parent=0)
 
ResizeMode resizeMode () const
 
bool rootIsDecorated () const
 
void setAlternatingRowColors (bool enable)
 
void setBackgroundColor (QtBrowserItem *item, const QColor &color)
 
void setExpanded (QtBrowserItem *item, bool expanded)
 
void setHeaderVisible (bool visible)
 
void setIndentation (int i)
 
void setItemVisible (QtBrowserItem *item, bool visible)
 
void setPropertiesWithoutValueMarked (bool mark)
 
void setResizeMode (ResizeMode mode)
 
void setRootIsDecorated (bool show)
 
void setSplitterPosition (int position)
 
int splitterPosition () const
 
 ~QtTreePropertyBrowser () override
 
- Public Member Functions inherited from QtAbstractPropertyBrowser
void clear ()
 
QtBrowserItem * currentItem () const
 
QList< QtBrowserItem * > items (QtProperty *property) const
 
QList< QtProperty * > properties () const
 
 QtAbstractPropertyBrowser (QWidget *parent=0)
 
void setCurrentItem (QtBrowserItem *)
 
template<class PropertyManager>
void setFactoryForManager (PropertyManager *manager, QtAbstractEditorFactory< PropertyManager > *factory)
 
QtBrowserItem * topLevelItem (QtProperty *property) const
 
QList< QtBrowserItem * > topLevelItems () const
 
void unsetFactoryForManager (QtAbstractPropertyManager *manager)
 
 ~QtAbstractPropertyBrowser () override
 

Protected Member Functions

void itemChanged (QtBrowserItem *item) override
 
void itemInserted (QtBrowserItem *item, QtBrowserItem *afterItem) override
 
void itemRemoved (QtBrowserItem *item) override
 
- Protected Member Functions inherited from QtAbstractPropertyBrowser
virtual QWidget * createEditor (QtProperty *property, QWidget *parent)
 

Properties

bool alternatingRowColors
 whether to draw the background using alternating colors. By default this property is set to true.
 
bool headerVisible
 whether to show the header.
 
int indentation
 indentation of the items in the tree view.
 
bool propertiesWithoutValueMarked
 whether to enable or disable marking properties without value.
 
ResizeMode resizeMode
 the resize mode of setions in the header.
 
bool rootIsDecorated
 whether to show controls for expanding and collapsing root items.
 
int splitterPosition
 the position of the splitter between the colunms.
 

Additional Inherited Members

- Public Slots inherited from QtAbstractPropertyBrowser
QtBrowserItem * addProperty (QtProperty *property)
 
QtBrowserItem * insertProperty (QtProperty *property, QtProperty *afterProperty)
 
void removeProperty (QtProperty *property)
 

Detailed Description

The QtTreePropertyBrowser class provides QTreeWidget based property browser.

A property browser is a widget that enables the user to edit a given set of properties. Each property is represented by a label specifying the property's name, and an editing widget (e.g. a line edit or a combobox) holding its value. A property can have zero or more subproperties.

QtTreePropertyBrowser provides a tree based view for all nested properties, i.e. properties that have subproperties can be in an expanded (subproperties are visible) or collapsed (subproperties are hidden) state. For example:

Use the QtAbstractPropertyBrowser API to add, insert and remove properties from an instance of the QtTreePropertyBrowser class. The properties themselves are created and managed by implementations of the QtAbstractPropertyManager class.

See also
QtGroupBoxPropertyBrowser, QtAbstractPropertyBrowser

Member Enumeration Documentation

◆ ResizeMode

enum ResizeMode

The resize mode specifies the behavior of the header sections.

\value Interactive The user can resize the sections. The sections can also be resized programmatically using setSplitterPosition().

\value Fixed The user cannot resize the section. The section can only be resized programmatically using setSplitterPosition().

\value Stretch QHeaderView will automatically resize the section to fill the available space. The size cannot be changed by the user or programmatically.

\value ResizeToContents QHeaderView will automatically resize the section to its optimal size based on the contents of the entire column. The size cannot be changed by the user or programmatically.

See also
setResizeMode()
Enumerator
Interactive 
Stretch 
Fixed 
ResizeToContents 

Constructor & Destructor Documentation

◆ QtTreePropertyBrowser()

QtTreePropertyBrowser ( QWidget * parent = 0)

Creates a property browser with the given parent.

◆ ~QtTreePropertyBrowser()

~QtTreePropertyBrowser ( )
override

Destroys this property browser.

Note that the properties that were inserted into this browser are not destroyed since they may still be used in other browsers. The properties are owned by the manager that created them.

See also
QtProperty, QtAbstractPropertyManager

Member Function Documentation

◆ alternatingRowColors()

bool alternatingRowColors ( ) const

◆ backgroundColor()

QColor backgroundColor ( QtBrowserItem * item) const

Returns the item's color. If there is no color set for item it returns invalid color.

See also
calculatedBackgroundColor(), setBackgroundColor()

◆ calculatedBackgroundColor()

QColor calculatedBackgroundColor ( QtBrowserItem * item) const

Returns the item's color. If there is no color set for item it returns parent item's color (if there is no color set for parent it returns grandparent's color and so on). In case the color is not set for item and it's top level item it returns invalid color.

See also
backgroundColor(), setBackgroundColor()

◆ collapsed

void collapsed ( QtBrowserItem * item)
signal

This signal is emitted when the item is collapsed.

See also
expanded(), setExpanded()

◆ editItem()

void editItem ( QtBrowserItem * item)

Sets the current item to item and opens the relevant editor for it.

◆ expanded

void expanded ( QtBrowserItem * item)
signal

This signal is emitted when the item is expanded.

See also
collapsed(), setExpanded()

◆ indentation()

int indentation ( ) const

◆ isExpanded()

bool isExpanded ( QtBrowserItem * item) const

Returns true if the item is expanded; otherwise returns false.

See also
setExpanded()

◆ isHeaderVisible()

bool isHeaderVisible ( ) const

◆ isItemVisible()

bool isItemVisible ( QtBrowserItem * item) const

Returns true if the item is visible; otherwise returns false.

See also
setItemVisible()
Since
4.5

◆ itemChanged()

void itemChanged ( QtBrowserItem * item)
overrideprotectedvirtual

\reimp

Implements QtAbstractPropertyBrowser.

◆ itemInserted()

void itemInserted ( QtBrowserItem * item,
QtBrowserItem * afterItem )
overrideprotectedvirtual

\reimp

Implements QtAbstractPropertyBrowser.

◆ itemRemoved()

void itemRemoved ( QtBrowserItem * item)
overrideprotectedvirtual

\reimp

Implements QtAbstractPropertyBrowser.

◆ propertiesWithoutValueMarked()

bool propertiesWithoutValueMarked ( ) const

◆ resizeMode()

QtTreePropertyBrowser::ResizeMode resizeMode ( ) const

◆ rootIsDecorated()

bool rootIsDecorated ( ) const

◆ setAlternatingRowColors()

void setAlternatingRowColors ( bool enable)

◆ setBackgroundColor()

void setBackgroundColor ( QtBrowserItem * item,
const QColor & color )

Sets the item's background color to color. Note that while item's background is rendered every second row is being drawn with alternate color (which is a bit lighter than items color)

See also
backgroundColor(), calculatedBackgroundColor()

◆ setExpanded()

void setExpanded ( QtBrowserItem * item,
bool expanded )

Sets the item to either collapse or expanded, depending on the value of expanded.

See also
isExpanded(), expanded(), collapsed()

◆ setHeaderVisible()

void setHeaderVisible ( bool visible)

◆ setIndentation()

void setIndentation ( int i)

◆ setItemVisible()

void setItemVisible ( QtBrowserItem * item,
bool visible )

Sets the item to be visible, depending on the value of visible.

See also
isItemVisible()
Since
4.5

◆ setPropertiesWithoutValueMarked()

void setPropertiesWithoutValueMarked ( bool mark)

◆ setResizeMode()

void setResizeMode ( QtTreePropertyBrowser::ResizeMode mode)

◆ setRootIsDecorated()

void setRootIsDecorated ( bool show)

◆ setSplitterPosition()

void setSplitterPosition ( int position)

◆ splitterPosition()

int splitterPosition ( ) const

Property Documentation

◆ alternatingRowColors

bool alternatingRowColors
readwrite

whether to draw the background using alternating colors. By default this property is set to true.

◆ headerVisible

bool headerVisible
readwrite

whether to show the header.

◆ indentation

int indentation
readwrite

indentation of the items in the tree view.

◆ propertiesWithoutValueMarked

bool propertiesWithoutValueMarked
read

whether to enable or disable marking properties without value.

When marking is enabled the item's background is rendered in dark color and item's foreground is rendered with light color.

See also
propertiesWithoutValueMarked()

◆ resizeMode

ResizeMode resizeMode
readwrite

the resize mode of setions in the header.

◆ rootIsDecorated

bool rootIsDecorated
readwrite

whether to show controls for expanding and collapsing root items.

◆ splitterPosition

int splitterPosition
readwrite

the position of the splitter between the colunms.


The documentation for this class was generated from the following files: