X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ObjectsBrowser.cpp;h=7eb50de3409ce79f2c8a48199da60345c0a26c93;hb=33fd24909f846d17557ec18aebdc6ac4d34f45f8;hp=5171a65c15a3c5091770b28ca5a1a5108ba882eb;hpb=bcd129a37269cc48e354119fa98d527211101987;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ObjectsBrowser.cpp b/src/XGUI/XGUI_ObjectsBrowser.cpp index 5171a65c1..7eb50de34 100644 --- a/src/XGUI/XGUI_ObjectsBrowser.cpp +++ b/src/XGUI/XGUI_ObjectsBrowser.cpp @@ -140,6 +140,7 @@ void XGUI_DataTree::resizeEvent(QResizeEvent* theEvent) setColumnWidth(0, aSize.width() - SECOND_COL_WIDTH); setColumnWidth(1, SECOND_COL_WIDTH); } + QTreeView::resizeEvent(theEvent); } void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex) @@ -234,6 +235,8 @@ XGUI_ActiveDocLbl::XGUI_ActiveDocLbl(const QString& theText, QWidget* theParent void XGUI_ActiveDocLbl::setTreeView(QTreeView* theView) { myTreeView = theView; + setFont(myTreeView->font()); + QPalette aPalet = myTreeView->palette(); QColor aHighlight = aPalet.highlight().color(); QColor aHighlightText = aPalet.highlightedText().color(); @@ -441,10 +444,33 @@ void XGUI_ObjectsBrowser::onEditItem() } } +//*************************************************** +QModelIndexList XGUI_ObjectsBrowser::expandedItems(const QModelIndex& theParent) const +{ + QModelIndexList aIndexes; + QModelIndex aIndex; + for (int i = 0; i < myDocModel->rowCount(); i++) { + aIndex = myDocModel->index(i, 0, theParent); + if (myDocModel->hasChildren(aIndex)) { + if (myTreeView->isExpanded(aIndex)) { + aIndexes.append(aIndex); + QModelIndexList aSubIndexes = expandedItems(aIndex); + if (!aSubIndexes.isEmpty()) + aIndexes.append(aSubIndexes); + } + } + } + return aIndexes; +} + //*************************************************** void XGUI_ObjectsBrowser::rebuildDataTree() { + QModelIndexList aIndexList = expandedItems(); myDocModel->rebuildDataTree(); + foreach(QModelIndex aIndex, aIndexList) { + myTreeView->setExpanded(aIndex, true); + } update(); }