Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / XGUI / XGUI_MainWindow.cpp
index 007198fc29b3a10e28c8cccd841f5e260cf80d6b..c89e0fc0a1224586ceb3059717e6a4ef724db155 100644 (file)
@@ -24,6 +24,7 @@
 #include <QScrollArea>
 #include <QComboBox>
 
+
 XGUI_MainWindow::XGUI_MainWindow(QWidget* parent)
     : QMainWindow(parent), 
     myObjectBrowser(0), 
@@ -32,24 +33,12 @@ XGUI_MainWindow::XGUI_MainWindow(QWidget* parent)
   setWindowTitle(tr("New Geom"));
   myMenuBar = new XGUI_MainMenu(this);
 
-  QDockWidget* aDoc = new QDockWidget(this);
-  aDoc->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
-  aDoc->setWindowTitle(tr("Object browser"));
-
-  myObjectBrowser = new XGUI_ObjectsBrowser(aDoc);
-  //myObjectBrowser->setColumnCount(1);
-  //myObjectBrowser->setHeaderHidden(true);
-  aDoc->setWidget(myObjectBrowser);
-  addDockWidget(Qt::LeftDockWidgetArea, aDoc);
-  //aDoc->hide();
-
   QMdiArea* aMdiArea = new QMdiArea(this);
   setCentralWidget(aMdiArea);
 
   myViewer = new XGUI_Viewer(this);
 
-  //fillObjectBrowser();
-  //addPropertyPanel();
+  createDockWidgets();
 }
 
 XGUI_MainWindow::~XGUI_MainWindow(void)
@@ -102,117 +91,34 @@ void XGUI_MainWindow::hidePythonConsole()
     myPythonConsole->parentWidget()->hide();
 }
 
-
-
-//******************************************************
-
-// TEST FUNCTIONS
-
-//******************************************************
-/*void XGUI_MainWindow::fillObjectBrowser()
+/*
+ * Creates dock widgets, places them in corresponding area
+ * and tabifies if necessary.
+ */
+void XGUI_MainWindow::createDockWidgets()
 {
-  QStringList aNames;
-  aNames << "Parameters" << "Constructions";
-  aNames << "Part 1" << "Part 2" << "Part 3";
-  aNames << "Properties";
-
-  QStringList aIcons;
-  aIcons << ":pictures/params_folder.png";
-  aIcons << ":pictures/constr_folder.png";
-  aIcons << ":pictures/part_ico.png";
-  aIcons << ":pictures/part_ico.png";
-  aIcons << ":pictures/part_ico.png";
-  aIcons << ":pictures/properties.png";
-
-  QList<QTreeWidgetItem*> aItems;
-  foreach(QString aName, aNames)
-  {
-    QTreeWidgetItem* aItem = new QTreeWidgetItem(myObjectBrowser);
-    aItem->setText(0, aName);
-    aItems.append(aItem);
-  }
-  for(int i = 0; i < aItems.length(); i++) {
-    aItems[i]->setIcon(0, QIcon(aIcons[i]));
-  }
-  myObjectBrowser->addTopLevelItems(aItems);
+  QDockWidget* aObjDock = createObjectBrowser();
+  addDockWidget(Qt::LeftDockWidgetArea, aObjDock);
+  QDockWidget* aPropPanelDock = createPropertyPanel();
+  addDockWidget(Qt::LeftDockWidgetArea, aPropPanelDock);
 
-  for(int i = 2; i < 5; i++) {
-    QTreeWidgetItem* aItem = new QTreeWidgetItem(aItems[i]);
-    aItem->setText(0, "Parameters");
-    aItem->setIcon(0, QIcon(":pictures/params_folder.png"));
-
-    aItem = new QTreeWidgetItem(aItems[i]);
-    aItem->setText(0, "Construction");
-    aItem->setIcon(0, QIcon(":pictures/constr_folder.png"));
-
-    aItem = new QTreeWidgetItem(aItems[i]);
-    aItem->setText(0, "Bodies");
-    aItem->setIcon(0, QIcon(":pictures/part_ico.png"));
+  tabifyDockWidget(aPropPanelDock, aObjDock);
+}
 
-    aItem = new QTreeWidgetItem(aItems[i]);
-    aItem->setText(0, "Features");
-    aItem->setIcon(0, QIcon(":pictures/features.png"));
-  }
-}*/
 
-void XGUI_MainWindow::addPropertyPanel()
+QDockWidget* XGUI_MainWindow::createPropertyPanel()
 {
   QDockWidget* aPropPanel = new QDockWidget(this);
-  aPropPanel->setWindowTitle("Point");
+  aPropPanel->setWindowTitle(tr("Property Panel"));
 
   QWidget* aContent = new QWidget(aPropPanel);
   QVBoxLayout* aMainLay = new QVBoxLayout(aContent);
   aMainLay->setContentsMargins(3, 3, 3, 3);
   aPropPanel->setWidget(aContent);
 
-  /*QWidget* aNameWgt = new QWidget(aContent);
-   QHBoxLayout* aNameLay = new QHBoxLayout(aNameWgt);
-   aNameLay->setContentsMargins(0,0,0,0);
-   aMainLay->addWidget(aNameWgt);
-
-   aNameLay->addWidget(new QLabel("Name", aNameWgt));
-   aNameLay->addWidget(new QLineEdit(aNameWgt));*/
-
-  QComboBox* aCombo = new QComboBox(aContent);
-  aCombo->addItem("By coordinates");
-  aMainLay->addWidget(aCombo);
-
-  QWidget* aGrpBox1 = new QWidget(aContent);
-  //aGrpBox1->setFlat(true);
-  QFormLayout* aFrmLay = new QFormLayout(aGrpBox1);
-  aFrmLay->setContentsMargins(0, 6, 0, 0);
-  aMainLay->addWidget(aGrpBox1);
-
-  QLabel* aLbl = new QLabel(aGrpBox1);
-  aLbl->setPixmap(QPixmap(":pictures/x_point.png"));
-  aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));
-
-  aLbl = new QLabel(aGrpBox1);
-  aLbl->setPixmap(QPixmap(":pictures/y_point.png"));
-  aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));
-
-  aLbl = new QLabel(aGrpBox1);
-  aLbl->setPixmap(QPixmap(":pictures/z_point.png"));
-  aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));
-
-  /*    aGrpBox1 = new QGroupBox("Normal vector", aContent);
-   aGrpBox1->setFlat(true);
-   aFrmLay = new QFormLayout(aGrpBox1);
-   aFrmLay->setContentsMargins(0, 6, 0, 0);
-   aMainLay->addWidget(aGrpBox1);
-
-   aLbl = new QLabel(aGrpBox1);
-   aLbl->setPixmap(QPixmap(":pictures/x_size.png"));
-   aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));
-
-   aLbl = new QLabel(aGrpBox1);
-   aLbl->setPixmap(QPixmap(":pictures/y_size.png"));
-   aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));
-
-   aLbl = new QLabel(aGrpBox1);
-   aLbl->setPixmap(QPixmap(":pictures/z_size.png"));
-   aFrmLay->addRow(aLbl, new QDoubleSpinBox(aGrpBox1));*/
-
+  QWidget* aCustomWidget = new QWidget(aContent);
+  aCustomWidget->setObjectName("PropertyPanelWidget");
+  aMainLay->addWidget(aCustomWidget);
   aMainLay->addStretch(1);
 
   QFrame* aFrm = new QFrame(aContent);
@@ -233,5 +139,18 @@ void XGUI_MainWindow::addPropertyPanel()
   aBtn->setFlat(true);
   aBtnLay->addWidget(aBtn);
 
-  addDockWidget(Qt::RightDockWidgetArea, aPropPanel);
+  return aPropPanel;
+}
+
+QDockWidget* XGUI_MainWindow::createObjectBrowser()
+{
+  QDockWidget* aObjDock = new QDockWidget(this);
+  aObjDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
+  aObjDock->setWindowTitle(tr("Object browser"));
+  myObjectBrowser = new XGUI_ObjectsBrowser(aObjDock);
+  //myObjectBrowser->setColumnCount(1);
+  //myObjectBrowser->setHeaderHidden(true);
+  aObjDock->setWidget(myObjectBrowser);
+//  fillObjectBrowser();
+  return aObjDock;
 }