Object browser widget which can be used to handle tree-like data model. More...
#include <OB_Browser.h>
Classes | |
class | ToolTip |
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 |
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 |
||
) |
parent | paren widget |
model | data model |
References main(), mySearchTool, myView, selectionChanged(), QtxSearchTool::setActivators(), setModel(), QtxSearchTool::setSearcher(), QtxSearchTool::SlashKey, and QtxSearchTool::StandardKey.
|
virtual |
void OB_Browser::adjustColumnsWidth | ( | ) |
References myView, and QtxTreeView::resizeColumnToEncloseContents().
void OB_Browser::adjustFirstColumnWidth | ( | ) |
References myView, and QtxTreeView::resizeColumnToEncloseContents().
void OB_Browser::adjustWidth | ( | ) |
References myView, and QtxTreeView::resizeColumnToEncloseContents().
int OB_Browser::autoOpenLevel | ( | ) | const |
References myAutoOpenLevel.
|
protectedvirtual |
e | context menu event |
Reimplemented in SUIT_DataBrowser.
References createPopupMenu(), and Qtx::simplifySeparators().
|
protectedvirtual |
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 |
References myModifiedTime.
QByteArray OB_Browser::getOpenStates | ( | int | theColumn | ) | const |
References openStates().
|
private |
|
private |
bool OB_Browser::isOpen | ( | const QModelIndex & | index | ) | const |
bool OB_Browser::isSearchToolEnabled | ( | ) | const |
true
if search tool is enabled References mySearchTool.
QAbstractItemDelegate * OB_Browser::itemDelegate | ( | ) | const |
QAbstractItemModel * OB_Browser::model | ( | ) | const |
int OB_Browser::numberOfSelected | ( | ) | const |
Sets new value of state "are tooltips shown"
theDisplay | - new value |
References myView.
|
privateslot |
Collapse all selected items recursively.
References QtxTreeView::collapseAll(), myView, and selectedIndexes().
|
privateslot |
Expands all selected items recursively.
References QtxTreeView::expandAll(), myView, onExpanded(), selectedIndexes(), and treeView().
|
inlineprivatevirtualslot |
void OB_Browser::openLevels | ( | const int | levels = -1 | ) |
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(), and treeView().
bool OB_Browser::rootIsDecorated | ( | ) | const |
QtxSearchTool * OB_Browser::searchTool | ( | ) | const |
References mySearchTool.
|
virtual |
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 |
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 |
References myView.
const QItemSelection OB_Browser::selection | ( | ) | const |
References myView.
|
signal |
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 | ) |
levels | number of levels to be auto-opened on tree updating |
References myAutoOpenLevel.
void OB_Browser::setItemDelegate | ( | QAbstractItemDelegate * | d | ) |
void OB_Browser::setModel | ( | QAbstractItemModel * | model | ) |
model | data model |
References myView, QtxTreeView::setModel(), and setModified().
void OB_Browser::setModified | ( | ) |
References myModifiedTime.
void OB_Browser::setOpenStates | ( | const QByteArray & | theData, |
int | theColumn | ||
) |
References isOpen(), and openStates().
void OB_Browser::setRootIsDecorated | ( | const bool | decor | ) |
decor | if true , top-level items are decorated |
References myView, and rootIsDecorated().
void OB_Browser::setSearchToolEnabled | ( | const bool | enable | ) |
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 |
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 |
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 |