Salome HOME
refs #30 - Sketch base GUI: create, draw lines
[modules/shaper.git] / src / XGUI / XGUI_MainWindow.cpp
1 #include "XGUI_MainWindow.h"
2 #include "XGUI_Constants.h"
3 #include "XGUI_MainMenu.h"
4 #include "XGUI_ViewWindow.h"
5 #include "XGUI_Viewer.h"
6 #include "XGUI_ObjectsBrowser.h"
7
8 #include <PyConsole_Console.h>
9 #include <PyConsole_EnhInterp.h>
10
11 #include <QMdiArea>
12 #include <QTreeWidget>
13 #include <QDockWidget>
14 #include <QTextEdit>
15 #include <QLabel>
16 #include <QToolBar>
17 #include <QToolButton>
18 #include <QTreeWidgetItem>
19 #include <QLayout>
20 #include <QLineEdit>
21 #include <QGroupBox>
22 #include <QFormLayout>
23 #include <QDoubleSpinBox>
24 #include <QPushButton>
25 #include <QScrollArea>
26 #include <QComboBox>
27 #include <QAction>
28
29 XGUI_MainWindow::XGUI_MainWindow(QWidget* parent)
30     : QMainWindow(parent), 
31     myPythonConsole(0)
32 {
33   setWindowTitle(tr("New Geom"));
34   myMenuBar = new XGUI_MainMenu(this);
35
36   QMdiArea* aMdiArea = new QMdiArea(this);
37   setCentralWidget(aMdiArea);
38
39   myViewer = new XGUI_Viewer(this);
40 }
41
42 XGUI_MainWindow::~XGUI_MainWindow(void)
43 {
44 }
45
46 //******************************************************
47 QMdiArea* XGUI_MainWindow::mdiArea() const
48 {
49   return static_cast<QMdiArea*>(centralWidget());
50 }
51
52 //******************************************************
53 void XGUI_MainWindow::showPythonConsole()
54 {
55   if (!myPythonConsole) {
56
57     QDockWidget* aDoc = new QDockWidget(this);
58     aDoc->setFeatures(QDockWidget::AllDockWidgetFeatures | QDockWidget::DockWidgetVerticalTitleBar);
59     aDoc->setMinimumHeight(0);
60     aDoc->setWindowTitle("Console");
61     myPythonConsole = new PyConsole_EnhConsole( aDoc, new PyConsole_EnhInterp());
62     aDoc->setWidget(myPythonConsole);
63     addDockWidget(Qt::TopDockWidgetArea, aDoc);
64     tabifyDockWidget(myMenuBar->getLastDockWindow(), aDoc);
65   }
66   myPythonConsole->parentWidget()->show();
67 }
68
69 //******************************************************
70 void XGUI_MainWindow::hidePythonConsole()
71 {
72   if (myPythonConsole)
73     myPythonConsole->parentWidget()->hide();
74 }
75
76