1 #include "XGUI_MainWindow.h"
2 #include "XGUI_MainMenu.h"
8 #include <QMdiSubWindow>
11 #include <QToolButton>
13 #include <QTreeWidgetItem>
15 XGUI_MainWindow::XGUI_MainWindow(QWidget* parent) :
16 QMainWindow(parent), myObjectBrowser(0)
19 myMenuBar = new XGUI_MainMenu(this);
21 QDockWidget* aDoc = new QDockWidget(this);
22 aDoc->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
23 aDoc->setWindowTitle(tr("OBJECT_BROWSER_TITLE"));
24 myObjectBrowser = new QTreeWidget(aDoc);
25 myObjectBrowser->setColumnCount(1);
26 myObjectBrowser->setHeaderHidden(true);
27 aDoc->setWidget(myObjectBrowser);
28 addDockWidget(Qt::LeftDockWidgetArea, aDoc);
31 aDoc = new QDockWidget(this);
32 aDoc->setFeatures(QDockWidget::AllDockWidgetFeatures | QDockWidget::DockWidgetVerticalTitleBar);
33 aDoc->setMinimumHeight(20);
34 aDoc->setWindowTitle("Console");
35 QTextEdit* aTextEdt = new QTextEdit(aDoc);
36 aTextEdt->setText(">>>");
37 aTextEdt->setMinimumHeight(20);
38 aDoc->setWidget(aTextEdt);
39 addDockWidget(Qt::BottomDockWidgetArea, aDoc);
41 QMdiArea* aMdiArea = new QMdiArea(this);
42 setCentralWidget(aMdiArea);
44 aMdiArea->addSubWindow(getSubWindow(), Qt::FramelessWindowHint);
51 QWidget* XGUI_MainWindow::getSubWindow()
53 QMdiSubWindow* aSub = new QMdiSubWindow(this);
54 QLabel* aLbl = new QLabel(aSub);
55 aLbl->setFrameStyle(QFrame::Sunken);
56 aLbl->setFrameShape(QFrame::Panel);
57 aLbl->setPixmap(QPixmap(":pictures/ViewPort.png"));
58 aLbl->setScaledContents(true);
59 aSub->setWidget(aLbl);
61 QStringList aPictures;
62 aPictures<<":pictures/occ_view_camera_dump.png"<<":pictures/occ_view_style_switch.png";
63 aPictures<<":pictures/occ_view_triedre.png"<<":pictures/occ_view_fitall.png";
64 aPictures<<":pictures/occ_view_fitarea.png"<<":pictures/occ_view_zoom.png";
65 aPictures<<":pictures/occ_view_pan.png"<<":pictures/occ_view_glpan.png";
66 aPictures<<":pictures/occ_view_rotate.png"<<":pictures/occ_view_front.png";
67 aPictures<<":pictures/occ_view_back.png"<<":pictures/occ_view_left.png";
68 aPictures<<":pictures/occ_view_right.png"<<":pictures/occ_view_top.png";
69 aPictures<<":pictures/occ_view_bottom.png"<<":pictures/occ_view_clone.png";
71 QToolBar* aBar = new QToolBar(aSub);
72 aBar->setGeometry(0,0,500,30);
75 foreach(QString aName, aPictures) {
76 aBtn = new QAction(aBar);
77 aBtn->setIcon(QIcon(aName));
78 aBar->addAction(aBtn);
81 aBar = new QToolBar(aSub);
82 aBar->setGeometry(615,0,100,25);
83 QStringList aWndIcons;
84 aWndIcons<<":pictures/wnd_minimize.png"<<":pictures/wnd_maximize.png"<<":pictures/wnd_close.png";
85 foreach(QString aName, aWndIcons) {
86 aBtn = new QAction(aBar);
87 aBtn->setIcon(QIcon(aName));
88 aBar->addAction(aBtn);
95 XGUI_MainWindow::~XGUI_MainWindow(void)
99 //******************************************************
100 void XGUI_MainWindow::showObjectBrowser()
102 myObjectBrowser->parentWidget()->show();
105 //******************************************************
106 void XGUI_MainWindow::hideObjectBrowser()
108 myObjectBrowser->parentWidget()->hide();
111 //******************************************************
112 void XGUI_MainWindow::fillObjectBrowser()
115 aNames << "Parameters" << "Constructions";
116 aNames << "Part 1" << "Part 2" << "Part 3";
117 aNames << "Properties";
120 aIcons << ":pictures/params_folder.png";
121 aIcons << ":pictures/constr_folder.png";
122 aIcons << ":pictures/part_ico.png";
123 aIcons << ":pictures/part_ico.png";
124 aIcons << ":pictures/part_ico.png";
125 aIcons << ":pictures/properties.png";
127 QList<QTreeWidgetItem*> aItems;
128 foreach(QString aName, aNames) {
129 QTreeWidgetItem* aItem = new QTreeWidgetItem(myObjectBrowser);
130 aItem->setText(0, aName);
131 aItems.append(aItem);
133 for(int i = 0; i < aItems.length(); i++) {
134 aItems[i]->setIcon(0, QIcon(aIcons[i]));
136 myObjectBrowser->addTopLevelItems(aItems);
138 for (int i = 2; i < 5; i++) {
139 QTreeWidgetItem* aItem = new QTreeWidgetItem(aItems[i]);
140 aItem->setText(0, "Parameters");
141 aItem->setIcon(0, QIcon(":pictures/params_folder.png"));
143 aItem = new QTreeWidgetItem(aItems[i]);
144 aItem->setText(0, "Construction");
145 aItem->setIcon(0, QIcon(":pictures/constr_folder.png"));
147 aItem = new QTreeWidgetItem(aItems[i]);
148 aItem->setText(0, "Bodies");
149 aItem->setIcon(0, QIcon(":pictures/part_ico.png"));
151 aItem = new QTreeWidgetItem(aItems[i]);
152 aItem->setText(0, "Features");
153 aItem->setIcon(0, QIcon(":pictures/features.png"));