From 0b0aa532a97fe7cc9a42542bf89784f662b00aa3 Mon Sep 17 00:00:00 2001 From: skv Date: Wed, 15 Oct 2014 10:01:10 +0400 Subject: [PATCH] Get rid of MeasureGUI_1Sel1TextView2ListBox in Check Self-Intersection dialog --- .../MeasureGUI_CheckSelfIntersectionsDlg.cxx | 114 +++++++++++------- .../MeasureGUI_CheckSelfIntersectionsDlg.h | 10 +- 2 files changed, 77 insertions(+), 47 deletions(-) diff --git a/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.cxx b/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.cxx index d099efeca..5d42e11c8 100644 --- a/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.cxx @@ -25,7 +25,6 @@ #include "MeasureGUI_CheckSelfIntersectionsDlg.h" #include "MeasureGUI.h" -#include "MeasureGUI_Widgets.h" #include #include @@ -44,6 +43,8 @@ #include #include +#include + #define TEXTEDIT_FONT_FAMILY "Courier" #define TEXTEDIT_FONT_SIZE 11 @@ -55,7 +56,12 @@ // true to construct a modal dialog. //================================================================================= MeasureGUI_CheckSelfIntersectionsDlg::MeasureGUI_CheckSelfIntersectionsDlg (GeometryGUI* GUI, QWidget* parent) - : GEOMBase_Skeleton(GUI, parent, false) + : GEOMBase_Skeleton (GUI, parent, false), + myTextView (0), + mySelButton (0), + myEditObjName (0), + myInteList (0), + myShapeList (0) { SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr(); QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_CHECK_SELF_INTERSECTIONS"))); @@ -71,26 +77,44 @@ MeasureGUI_CheckSelfIntersectionsDlg::MeasureGUI_CheckSelfIntersectionsDlg (Geom mainFrame()->RadioButton3->setAttribute( Qt::WA_DeleteOnClose ); mainFrame()->RadioButton3->close(); - myGrp = new MeasureGUI_1Sel1TextView2ListBox (centralWidget()); - myGrp->GroupBox1->setTitle(tr("GEOM_CHECK_INFOS")); - myGrp->TextLabel1->setText(tr("GEOM_OBJECT")); + QGroupBox *aGrp = new QGroupBox(tr("GEOM_CHECK_INFOS")); + QLabel *anObjLbl = new QLabel(tr("GEOM_OBJECT")); + QLabel *anInteLbl = new QLabel(tr("GEOM_CHECK_BLOCKS_COMPOUND_ERRORS")); + QLabel *aShapeLbl = new QLabel(tr("GEOM_CHECK_BLOCKS_COMPOUND_SUBSHAPES")); + QFont aFont (TEXTEDIT_FONT_FAMILY, TEXTEDIT_FONT_SIZE); - myGrp->TextView1->setReadOnly(true); - QFont aFont (TEXTEDIT_FONT_FAMILY, TEXTEDIT_FONT_SIZE); aFont.setStyleHint(QFont::TypeWriter, QFont::PreferAntialias); - myGrp->TextView1->setFont(aFont); - - myGrp->PushButton1->setIcon(image1); - myGrp->LineEdit1->setReadOnly(true); - - myGrp->TextLabel2->setText(tr("GEOM_CHECK_BLOCKS_COMPOUND_ERRORS")); - myGrp->TextLabel3->setText(tr("GEOM_CHECK_BLOCKS_COMPOUND_SUBSHAPES")); - - myGrp->ListBox2->setSelectionMode(QAbstractItemView::ExtendedSelection); + myTextView = new QTextBrowser; + myTextView->setReadOnly(true); + myTextView->setFont(aFont); + + mySelButton = new QPushButton; + mySelButton->setIcon(image1); + mySelButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + + myEditObjName = new QLineEdit; + myEditObjName->setReadOnly(true); + + myInteList = new QListWidget; + myShapeList = new QListWidget; + myShapeList->setSelectionMode(QAbstractItemView::ExtendedSelection); + + QGridLayout *aGrpLayout = new QGridLayout(aGrp); + + aGrpLayout->setMargin(9); + aGrpLayout->setSpacing(6); + aGrpLayout->addWidget(anObjLbl, 0, 0); + aGrpLayout->addWidget(anInteLbl, 2, 0); + aGrpLayout->addWidget(aShapeLbl, 2, 2); + aGrpLayout->addWidget(myTextView, 1, 0, 1, 3); + aGrpLayout->addWidget(mySelButton, 0, 1); + aGrpLayout->addWidget(myEditObjName, 0, 2); + aGrpLayout->addWidget(myInteList, 3, 0, 1, 2); + aGrpLayout->addWidget(myShapeList, 3, 2); QVBoxLayout* layout = new QVBoxLayout (centralWidget()); layout->setMargin(0); layout->setSpacing(6); - layout->addWidget(myGrp); + layout->addWidget(aGrp); /***************************************************************/ @@ -120,11 +144,11 @@ void MeasureGUI_CheckSelfIntersectionsDlg::Init() this, SLOT(ClickOnCancel())); connect(buttonOk(), SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply(), SIGNAL(clicked()), this, SLOT(ClickOnApply())); - connect(myGrp->PushButton1, SIGNAL(clicked()), + connect(mySelButton, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument())); - connect(myGrp->ListBox1, SIGNAL(itemSelectionChanged()), + connect(myInteList, SIGNAL(itemSelectionChanged()), SLOT(onInteListSelectionChanged())); - connect(myGrp->ListBox2, SIGNAL(itemSelectionChanged()), + connect(myShapeList, SIGNAL(itemSelectionChanged()), SLOT(onSubShapesListSelectionChanged())); LightApp_SelectionMgr* aSel = myGeomGUI->getApp()->selectionMgr(); @@ -229,7 +253,7 @@ bool MeasureGUI_CheckSelfIntersectionsDlg::isValid( QString& ) //================================================================================= void MeasureGUI_CheckSelfIntersectionsDlg::SetEditCurrentArgument() { - myGrp->LineEdit1->setFocus(); + myEditObjName->setFocus(); SelectionIntoArgument(); } @@ -252,14 +276,14 @@ void MeasureGUI_CheckSelfIntersectionsDlg::SelectionIntoArgument() } if (aSelectedObject->_is_nil()) { - myGrp->LineEdit1->setText(""); + myEditObjName->setText(""); processObject(); erasePreview(); return; } myObj = aSelectedObject; - myGrp->LineEdit1->setText(GEOMBase::GetName(myObj)); + myEditObjName->setText(GEOMBase::GetName(myObj)); processObject(); DISPLAY_PREVIEW_MACRO; } @@ -324,13 +348,13 @@ bool MeasureGUI_CheckSelfIntersectionsDlg::findSelfIntersections //================================================================================= void MeasureGUI_CheckSelfIntersectionsDlg::processObject() { - disconnect(myGrp->ListBox1, SIGNAL(itemSelectionChanged()), this, 0 ); - disconnect(myGrp->ListBox2, SIGNAL(itemSelectionChanged()), this, 0 ); - myGrp->ListBox1->clear(); - myGrp->ListBox2->clear(); - connect(myGrp->ListBox1, SIGNAL(itemSelectionChanged()), + disconnect(myInteList, SIGNAL(itemSelectionChanged()), this, 0 ); + disconnect(myShapeList, SIGNAL(itemSelectionChanged()), this, 0 ); + myInteList->clear(); + myShapeList->clear(); + connect(myInteList, SIGNAL(itemSelectionChanged()), SLOT(onInteListSelectionChanged())); - connect(myGrp->ListBox2, SIGNAL(itemSelectionChanged()), + connect(myShapeList, SIGNAL(itemSelectionChanged()), SLOT(onSubShapesListSelectionChanged())); erasePreview(); @@ -338,7 +362,7 @@ void MeasureGUI_CheckSelfIntersectionsDlg::processObject() QString anErrMsg(""); if (!findSelfIntersections(hasSelfInte, anErrMsg)) { - myGrp->TextView1->setText(anErrMsg); + myTextView->setText(anErrMsg); return; } @@ -360,7 +384,7 @@ void MeasureGUI_CheckSelfIntersectionsDlg::processObject() aMsg += anErrMsg; } - myGrp->TextView1->setText(aMsg); + myTextView->setText(aMsg); // Pairs QStringList anInteList; @@ -373,7 +397,7 @@ void MeasureGUI_CheckSelfIntersectionsDlg::processObject() anInteList.append(anInteStr); } - myGrp->ListBox1->addItems(anInteList); + myInteList->addItems(anInteList); } //================================================================================= @@ -383,7 +407,7 @@ void MeasureGUI_CheckSelfIntersectionsDlg::processObject() void MeasureGUI_CheckSelfIntersectionsDlg::onInteListSelectionChanged() { erasePreview(); - int aCurItem = myGrp->ListBox1->currentRow(); + int aCurItem = myInteList->currentRow(); if (aCurItem < 0) return; @@ -403,8 +427,8 @@ void MeasureGUI_CheckSelfIntersectionsDlg::onInteListSelectionChanged() if (!aType.isEmpty()) aSubShapeList.append(QString("%1_%2").arg(aType).arg(myInters[aCurItem*2 + 1])); } - myGrp->ListBox2->clear(); - myGrp->ListBox2->addItems(aSubShapeList); + myShapeList->clear(); + myShapeList->addItems(aSubShapeList); } //================================================================================= @@ -416,14 +440,14 @@ void MeasureGUI_CheckSelfIntersectionsDlg::onSubShapesListSelectionChanged() erasePreview(); // Current pair - int aErrCurItem = myGrp->ListBox1->currentRow(); + int aErrCurItem = myInteList->currentRow(); if (aErrCurItem < 0) return; // Selected IDs QList aIds; - for (int i = 0, n = myGrp->ListBox2->count(); i < n; i++) { - if (myGrp->ListBox2->item(i)->isSelected()) + for (int i = 0, n = myShapeList->count(); i < n; i++) { + if (myShapeList->item(i)->isSelected()) aIds.append(i); } if (aIds.count() < 1) @@ -466,12 +490,12 @@ bool MeasureGUI_CheckSelfIntersectionsDlg::execute(ObjectList& objects) return false; } - const int aNbInteSelected = myGrp->ListBox1->selectedItems().size(); + const int aNbInteSelected = myInteList->selectedItems().size(); const bool isPublishAllInte = (aNbInteSelected < 1); const bool isPublishAllShapes = - (aNbInteSelected != 1 || myGrp->ListBox2->selectedItems().empty()); + (aNbInteSelected != 1 || myShapeList->selectedItems().empty()); int i; - const int n = myGrp->ListBox1->count(); + const int n = myInteList->count(); TColStd_IndexedMapOfInteger aMapIndex; // Collect the map of indices. @@ -480,17 +504,17 @@ bool MeasureGUI_CheckSelfIntersectionsDlg::execute(ObjectList& objects) // Collect the both of two indices. aMapIndex.Add(myInters[i*2]); aMapIndex.Add(myInters[i*2 + 1]); - } else if (myGrp->ListBox1->item(i)->isSelected()) { + } else if (myInteList->item(i)->isSelected()) { if (isPublishAllShapes) { // Collect the both of two indices. aMapIndex.Add(myInters[i*2]); aMapIndex.Add(myInters[i*2 + 1]); - } else if (myGrp->ListBox2->count() == 2) { + } else if (myShapeList->count() == 2) { // Collect only selected items. - if (myGrp->ListBox2->item(0)->isSelected()) { + if (myShapeList->item(0)->isSelected()) { aMapIndex.Add(myInters[i*2]); } - if (myGrp->ListBox2->item(1)->isSelected()) { + if (myShapeList->item(1)->isSelected()) { aMapIndex.Add(myInters[i*2 + 1]); } } diff --git a/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.h b/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.h index f7dea1738..886caec9b 100644 --- a/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.h +++ b/src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.h @@ -28,7 +28,9 @@ #include -class MeasureGUI_1Sel1TextView2ListBox; +class QTextBrowser; +class QListWidget; + //================================================================================= // class : MeasureGUI_CheckSelfIntersectionsDlg @@ -76,7 +78,11 @@ private: private: - MeasureGUI_1Sel1TextView2ListBox* myGrp; + QTextBrowser *myTextView; + QPushButton *mySelButton; + QLineEdit *myEditObjName; + QListWidget *myInteList; + QListWidget *myShapeList; GEOM::GEOM_Object_var myObj; GEOM::ListOfLong_var myInters; GEOM::GEOM_IShapesOperations_var myShapesOper; -- 2.39.2