]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Get rid of MeasureGUI_1Sel1TextView2ListBox in Check Self-Intersection dialog
authorskv <skv@opencascade.com>
Wed, 15 Oct 2014 06:01:10 +0000 (10:01 +0400)
committerskv <skv@opencascade.com>
Wed, 15 Oct 2014 06:01:10 +0000 (10:01 +0400)
src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.cxx
src/MeasureGUI/MeasureGUI_CheckSelfIntersectionsDlg.h

index d099efeca54654a87f889b2c92ac317ed891258d..5d42e11c857647f8d018ceae5cd6fb0bb2a656a9 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "MeasureGUI_CheckSelfIntersectionsDlg.h"
 #include "MeasureGUI.h"
-#include "MeasureGUI_Widgets.h"
 
 #include <SUIT_OverrideCursor.h>
 #include <SUIT_Session.h>
@@ -44,6 +43,8 @@
 #include <GEOMBase.h>
 #include <GEOMImpl_Types.hxx>
 
+#include <QListWidget>
+
 #define TEXTEDIT_FONT_FAMILY "Courier"
 #define TEXTEDIT_FONT_SIZE 11
 
 //            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<int> 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]);
         }
       }
index f7dea1738eb99db6c335bd3edd1092b7a6ec2efa..886caec9bdb6f20e30cd8f86830d0b1a9c4c3689 100644 (file)
@@ -28,7 +28,9 @@
 
 #include <GEOMBase_Skeleton.h>
 
-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;