Object browser widget which can be used to handle tree-like data model. More...
#include <OB_Browser.h>

Public Types | |
| typedef QMap< QString, bool > | MapOfOpenStates |
Signals | |
| void | selectionChanged () |
| Emitted when selection is changed in the Object Browser. More... | |
Public Member Functions | |
| OB_Browser (QWidget *=0, QAbstractItemModel *=0) | |
| Constructor. More... | |
| virtual | ~OB_Browser () |
| Destructor. More... | |
| QAbstractItemModel * | model () const |
| Get data model. More... | |
| void | setModel (QAbstractItemModel *) |
| Set data model. More... | |
| QAbstractItemDelegate * | itemDelegate () const |
| Get current item delegate (items renderer). More... | |
| void | setItemDelegate (QAbstractItemDelegate *) |
| Set item delegate (items renderer). More... | |
| bool | rootIsDecorated () const |
| Check if controls for expanding and collapsing top-level items are shown. More... | |
| void | setRootIsDecorated (const bool) |
| Show/hide controls for expanding and collapsing top-level items. More... | |
| bool | sortMenuEnabled () const |
| void | setSortMenuEnabled (const bool) |
| QtxSearchTool * | searchTool () const |
| Get search tool widget. More... | |
| bool | isSearchToolEnabled () const |
| Check if search tool is enabled. More... | |
| void | setSearchToolEnabled (const bool) |
| Enable/disable search tool. More... | |
| int | autoOpenLevel () const |
| Get number of levels which should be automatically expanded when updating the data tree. More... | |
| void | setAutoOpenLevel (const int) |
| Set number of levels which should be automatically expanded when updating the data tree. More... | |
| void | openLevels (const int=-1) |
| Expand all branches to the specified number of levels. More... | |
| int | numberOfSelected () const |
| Get number of selected items. More... | |
| QModelIndexList | selectedIndexes () const |
| Get all selected items. More... | |
| const QItemSelection | selection () const |
| Get selection containing information about selected ranges. More... | |
| virtual void | select (const QModelIndex &, const bool, const bool=true) |
| Select/deselect specified model index. More... | |
| virtual void | select (const QModelIndexList &, const bool, const bool=true) |
| Select/deselect specified model indices. More... | |
| bool | isOpen (const QModelIndex &) const |
| Check if specified model index is expanded or collapsed. More... | |
| virtual void | setOpen (const QModelIndex &theObject, const bool theOpen=true) |
| Expand/collapse the specified model index. More... | |
| void | adjustWidth () |
| Adjust first column width to its contents. More... | |
| void | adjustFirstColumnWidth () |
| Adjust first column width to its contents. More... | |
| void | adjustColumnsWidth () |
| Adjust all columns width to its contents except the first column. More... | |
| unsigned long | getModifiedTime () const |
| Get the time of the latest updating. More... | |
| void | setModified () |
| Update the time of the latest updating. More... | |
| QtxTreeView * | treeView () const |
| Get tree view widget. More... | |
| QByteArray | getOpenStates (int theColumn) const |
| void | setOpenStates (const QByteArray &, int theColumn) |
| void | openStates (bool isGet, MapOfOpenStates &, const QModelIndex &theIndex, int theColumn) |
Protected Member Functions | |
| virtual void | contextMenuEvent (QContextMenuEvent *) |
| Process context menu request event. More... | |
| virtual void | createPopupMenu (QMenu *) |
| Add custom actions to the popup menu. More... | |
Private Slots | |
| void | onExpandAll () |
| Called when "Expand all" popup menu command is activated. More... | |
| void | onCollapseAll () |
| Called when "Collapse all" popup menu command is activated. More... | |
| virtual void | onExpanded (const QModelIndex &) |
Private Member Functions | |
| bool | hasCollased (const QModelIndex &) const |
| Check if model index is collapsed or has collapsed children. More... | |
| bool | hasExpanded (const QModelIndex &) const |
| Check if model index is expanded or has expanded children. More... | |
Private Attributes | |
| QtxTreeView * | myView |
| QtxSearchTool * | mySearchTool |
| int | myAutoOpenLevel |
| unsigned long | myModifiedTime |
Object browser widget which can be used to handle tree-like data model.
Constructor
Destructor
It is called when there is a possibility that a tool tip should be shown and must decide whether there is a tool tip for the point in the widget that this QToolTip object relates to.
| pos | - point co-ordinates |
The class OB_Browser implements public API of an object browser widget that can be used to display arbitrary application data in a hierarchical form. It is based on Qt4 model/view architecture.
Object browser can be used with conjuction of any custom item model inherited from QAbstractItemModel class (see Qt 4 reference manual).
The class provides a functionality get/modify selection, drag-n-drop of the objects, etc.
| typedef QMap<QString, bool> OB_Browser::MapOfOpenStates |
| OB_Browser::OB_Browser | ( | QWidget * | parent = 0, |
| QAbstractItemModel * | model = 0 |
||
| ) |
Constructor.
| parent | paren widget |
| model | data model |
References main(), model(), mySearchTool, myView, selectionChanged(), QtxSearchTool::setActivators(), setModel(), QtxSearchTool::setSearcher(), QtxSearchTool::SlashKey, and QtxSearchTool::StandardKey.
|
virtual |
Destructor.
| void OB_Browser::adjustColumnsWidth | ( | ) |
Adjust all columns width to its contents except the first column.
References myView, and QtxTreeView::resizeColumnToEncloseContents().
| void OB_Browser::adjustFirstColumnWidth | ( | ) |
Adjust first column width to its contents.
References myView, and QtxTreeView::resizeColumnToEncloseContents().
| void OB_Browser::adjustWidth | ( | ) |
Adjust first column width to its contents.
References myView, and QtxTreeView::resizeColumnToEncloseContents().
| int OB_Browser::autoOpenLevel | ( | ) | const |
Get number of levels which should be automatically expanded when updating the data tree.
References myAutoOpenLevel.
|
protectedvirtual |
Process context menu request event.
| e | context menu event |
Reimplemented in SUIT_DataBrowser.
References createPopupMenu(), and Qtx::simplifySeparators().
|
protectedvirtual |
Add custom actions to the popup menu.
SLOT: called if SUIT object is destroyed
SLOT: called on finish of drag-n-drop operation
| items | - dragged items |
| item | - destination (item on that they were dropped) |
| action | - QDropEvent::Action |
Updates texts of items
| item | - item to be checked |
Updates texts of item
| item | - item to be updated |
| menu | popup menu |
References hasCollased(), hasExpanded(), isSearchToolEnabled(), onCollapseAll(), onExpandAll(), searchTool(), and selectedIndexes().
| unsigned long OB_Browser::getModifiedTime | ( | ) | const |
| QByteArray OB_Browser::getOpenStates | ( | int | theColumn | ) | const |
References openStates().
|
private |
Check if model index is collapsed or has collapsed children.
Expands item with all it's children
true if item or one of its children is collapsed References hasCollased(), model(), and myView.
|
private |
Check if model index is expanded or has expanded children.
true if item or one of its children is expanded References hasExpanded(), model(), and myView.
| bool OB_Browser::isOpen | ( | const QModelIndex & | index | ) | const |
| bool OB_Browser::isSearchToolEnabled | ( | ) | const |
Check if search tool is enabled.
true if search tool is enabled References mySearchTool.
| QAbstractItemDelegate * OB_Browser::itemDelegate | ( | ) | const |
Get current item delegate (items renderer).
References myView.
| QAbstractItemModel * OB_Browser::model | ( | ) | const |
| int OB_Browser::numberOfSelected | ( | ) | const |
Get number of selected items.
Sets new value of state "are tooltips shown"
| theDisplay | - new value |
References myView.
|
privateslot |
Called when "Collapse all" popup menu command is activated.
Collapse all selected items recursively.
References QtxTreeView::collapseAll(), myView, and selectedIndexes().
|
privateslot |
Called when "Expand all" popup menu command is activated.
Expands all selected items recursively.
References QtxTreeView::expandAll(), myView, onExpanded(), selectedIndexes(), and treeView().
|
inlineprivatevirtualslot |
| void OB_Browser::openLevels | ( | const int | levels = -1 | ) |
Expand all branches to the specified number of levels.
If levels value is negative, then autoOpenLevel() value is used instead.
| levels | number of levels to be expanded |
References autoOpenLevel(), QtxTreeView::expandLevels(), and myView.
| void OB_Browser::openStates | ( | bool | isGet, |
| MapOfOpenStates & | theMap, | ||
| const QModelIndex & | theIndex, | ||
| int | theColumn | ||
| ) |
References isOpen(), model(), openStates(), and treeView().
| bool OB_Browser::rootIsDecorated | ( | ) | const |
Check if controls for expanding and collapsing top-level items are shown.
true if top-level items are decorated References myView.
| QtxSearchTool * OB_Browser::searchTool | ( | ) | const |
|
virtual |
Select/deselect specified model index.
| index | model index to be selected/deselected |
| on | if true, the index will be selected, otherwise - deselected |
| keepSelection | if true (default) the previous selection is kept, otherwise it is first cleared |
References myView.
|
virtual |
Select/deselect specified model indices.
| indexes | model indices to be selected/deselected |
| on | if true, the indices will be selected, otherwise - deselected |
| keepSelection | if true (default) the previous selection is kept, otherwise it is first cleared |
References myView, and selectionChanged().
| QModelIndexList OB_Browser::selectedIndexes | ( | ) | const |
Get all selected items.
References myView.
| const QItemSelection OB_Browser::selection | ( | ) | const |
Get selection containing information about selected ranges.
References myView.
|
signal |
Emitted when selection is changed in the Object Browser.
Removes SUIT object
| obj | - SUIT object to be removed |
| autoUpd | - auto tree updating |
Opens branches from 1 to autoOpenLevel()
Opens branch
| item | |
| level |
SLOT: called on double click on item, emits signal
| void OB_Browser::setAutoOpenLevel | ( | const int | levels | ) |
Set number of levels which should be automatically expanded when updating the data tree.
| levels | number of levels to be auto-opened on tree updating |
References myAutoOpenLevel.
| void OB_Browser::setItemDelegate | ( | QAbstractItemDelegate * | d | ) |
Set item delegate (items renderer).
| d | custom item delegate |
References myView.
| void OB_Browser::setModel | ( | QAbstractItemModel * | model | ) |
Set data model.
| model | data model |
References model(), myView, QtxTreeView::setModel(), and setModified().
| void OB_Browser::setModified | ( | ) |
Update the time of the latest updating.
References myModifiedTime.
|
virtual |
| void OB_Browser::setOpenStates | ( | const QByteArray & | theData, |
| int | theColumn | ||
| ) |
References isOpen(), and openStates().
| void OB_Browser::setRootIsDecorated | ( | const bool | decor | ) |
Show/hide controls for expanding and collapsing top-level items.
| decor | if true, top-level items are decorated |
References myView, and rootIsDecorated().
| void OB_Browser::setSearchToolEnabled | ( | const bool | enable | ) |
Enable/disable search tool.
| enable | pass true to enable search tool |
References mySearchTool.
| void OB_Browser::setSortMenuEnabled | ( | const bool | enabled | ) |
References myView, QtxTreeView::setSortMenuEnabled(), and sortMenuEnabled().
| bool OB_Browser::sortMenuEnabled | ( | ) | const |
References myView, and QtxTreeView::sortMenuEnabled().
| QtxTreeView * OB_Browser::treeView | ( | ) | const |
Get tree view widget.
| pos | - position |
Changes filter of list view
| f | - new filter |
Sets global width mode
| mode | - new width mode |
Updates tree
| obj | - start object |
| autoOpen | - to open automatically branches of autoOpenLevel() |
Replaces part of tree starting at object 'src' by tree starting at object 'trg'
Adjusts width by item
| item |
\remove all items referencing current (through data objects)
Connects all children to SLOT onDestroyed
Disconnects all children from SLOT onDestroyed
Stores states (opened, selected) of current tree items
| selObjs,selKeys | - maps of selected objects |
| openObjs,openKeys | - maps of opened objects |
| curKey | - map of current objects |
Restores states (opened, selected) of current tree items
| selObjs,selKeys | - maps of selected objects |
| openObjs,openKeys | - maps of opened objects |
| curKey | - map of current objects |
Creates object key by tree item
Creates object key by SUIT object
References myView.
|
private |
|
private |
|
private |
|
private |