mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0029018: Documentation - Provide user guide for Qt browser
Documentation is added in a new "Inspector" page of "User Guides". Inspector plugins has some improvements by the documentation needs. New DRAW scripts are implemented for 'tinspector' command.
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <TDataStd_TreeNode.hxx>
|
||||
|
||||
#include <QHeaderView>
|
||||
#include <QVariant>
|
||||
#include <QTableView>
|
||||
#include <QTreeView>
|
||||
@@ -35,7 +36,7 @@
|
||||
// purpose :
|
||||
// =======================================================================
|
||||
DFBrowserPane_TDataStdTreeNode::DFBrowserPane_TDataStdTreeNode()
|
||||
: DFBrowserPane_AttributePane()
|
||||
: DFBrowserPane_AttributePane(), myTreeNodeView (0)
|
||||
{
|
||||
myModel = new DFBrowserPane_TDataStdTreeNodeModel (0);
|
||||
mySelectionModels.clear(); // do not use selection model of parent pane
|
||||
@@ -52,6 +53,7 @@ QWidget* DFBrowserPane_TDataStdTreeNode::CreateWidget (QWidget* theParent)
|
||||
aMainWidget->setVisible (false);
|
||||
|
||||
myTableView = new DFBrowserPane_TableView (aMainWidget, getTableColumnWidths());
|
||||
myTableView->SetVisibleHorizontalHeader (false);
|
||||
DFBrowserPane_TableView::SetFixedRowCount (1, myTableView->GetTableView());
|
||||
myTableView->SetModel (myPaneModel);
|
||||
|
||||
@@ -60,11 +62,13 @@ QWidget* DFBrowserPane_TDataStdTreeNode::CreateWidget (QWidget* theParent)
|
||||
aLay->addWidget (myTableView);
|
||||
|
||||
myTreeNodeView = new QTreeView (theParent);
|
||||
myTreeNodeView->header()->setVisible (false);
|
||||
myTreeNodeView->setModel (myModel);
|
||||
myTreeNodeView->setSelectionModel (mySelectionModels.front());
|
||||
myTreeNodeView->setSelectionBehavior (QAbstractItemView::SelectRows);
|
||||
|
||||
aLay->addWidget (myTreeNodeView);
|
||||
aLay->setStretch (1, 1);
|
||||
return aMainWidget;
|
||||
}
|
||||
|
||||
@@ -77,14 +81,19 @@ void DFBrowserPane_TDataStdTreeNode::Init (const Handle(TDF_Attribute)& theAttri
|
||||
Handle(TDataStd_TreeNode) aTreeNode = Handle(TDataStd_TreeNode)::DownCast (theAttribute);
|
||||
|
||||
bool aDefaultGUID = aTreeNode->ID() != aTreeNode->GetDefaultTreeID();
|
||||
myTableView->setVisible (!aDefaultGUID);
|
||||
if (!aDefaultGUID) {
|
||||
if (myTableView)
|
||||
myTableView->setVisible (!aDefaultGUID);
|
||||
|
||||
if (!aDefaultGUID)
|
||||
{
|
||||
QList<QVariant> aValues;
|
||||
char aStr[256];
|
||||
aTreeNode->ID().ToCString (aStr);
|
||||
TCollection_AsciiString aString(aStr);
|
||||
aValues.append (DFBrowserPane_Tools::ToString(aString));
|
||||
aValues << "GetDefaultTreeID" << DFBrowserPane_Tools::ToString (aString);
|
||||
getPaneModel()->Init (aValues);
|
||||
if (myTableView)
|
||||
myTableView->GetTableView()->resizeColumnToContents (0);
|
||||
}
|
||||
|
||||
|
||||
@@ -96,8 +105,8 @@ void DFBrowserPane_TDataStdTreeNode::Init (const Handle(TDF_Attribute)& theAttri
|
||||
Handle(TDataStd_TreeNode) aRootItem = aTreeNode->Root();
|
||||
aModel->SetAttribute (aRootItem);
|
||||
|
||||
QModelIndex anIndex = aModel->FindIndex (theAttribute);
|
||||
if (anIndex.isValid())
|
||||
QModelIndex anIndex = aModel->FindIndex (theAttribute, QModelIndex());
|
||||
if (myTreeNodeView && anIndex.isValid())
|
||||
{
|
||||
myTreeNodeView->setExpanded (anIndex.parent(), true);
|
||||
myTreeNodeView->scrollTo (anIndex);
|
||||
@@ -160,5 +169,19 @@ void DFBrowserPane_TDataStdTreeNode::GetReferences (const Handle(TDF_Attribute)&
|
||||
if (anAttribute.IsNull())
|
||||
return;
|
||||
|
||||
theRefLabels.Append (anAttribute->Label());
|
||||
QModelIndexList aSelectedIndices = myTreeNodeView->selectionModel()->selectedIndexes();
|
||||
for (int aSelectedId = 0, aSize = aSelectedIndices.size(); aSelectedId < aSize; aSelectedId++)
|
||||
{
|
||||
QModelIndex anIndex = aSelectedIndices[aSelectedId];
|
||||
|
||||
TreeModel_ItemBasePtr anAttributeItem = TreeModel_ModelBase::GetItemByIndex (anIndex);
|
||||
DFBrowserPane_TDataStdTreeNodeItemPtr anAttributeNodeItem =
|
||||
itemDynamicCast<DFBrowserPane_TDataStdTreeNodeItem>(anAttributeItem);
|
||||
|
||||
Handle(TDF_Attribute) aNodeAttribute = anAttributeNodeItem->GetAttribute();
|
||||
if (aNodeAttribute.IsNull())
|
||||
continue;
|
||||
|
||||
theRefLabels.Append (aNodeAttribute->Label());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user