1
0
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:
nds
2017-08-28 12:29:29 +03:00
committed by bugmaster
parent 434098193a
commit d2c909178e
117 changed files with 3166 additions and 463 deletions

View File

@@ -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());
}
}