#include "XGUI_MainWindow.h"
+#include "XGUI_Constants.h"
#include "XGUI_MainMenu.h"
#include "XGUI_ViewWindow.h"
#include "XGUI_Viewer.h"
#include <QPushButton>
#include <QScrollArea>
#include <QComboBox>
-
+#include <QAction>
XGUI_MainWindow::XGUI_MainWindow(QWidget* parent)
: QMainWindow(parent),
- myObjectBrowser(0),
- myPythonConsole(0)
+ myObjectBrowser(0),
+ myPythonConsole(0),
+ myPropertyPanelDock(0)
{
setWindowTitle(tr("New Geom"));
myMenuBar = new XGUI_MainMenu(this);
myViewer = new XGUI_Viewer(this);
- createDockWidgets();
+ //createDockWidgets();
}
XGUI_MainWindow::~XGUI_MainWindow(void)
aDoc->setMinimumHeight(0);
aDoc->setWindowTitle("Console");
myPythonConsole = new PyConsole_EnhConsole( aDoc, new PyConsole_EnhInterp());
- //myPythonConsole = new QTextEdit(aDoc);
- //myPythonConsole->setGeometry(0,0,200, 50);
- //myPythonConsole->setText(">>>");
aDoc->setWidget(myPythonConsole);
- //myPythonConsole->setMinimumHeight(0);
addDockWidget(Qt::TopDockWidgetArea, aDoc);
tabifyDockWidget(myMenuBar->getLastDockWindow(), aDoc);
}
myPythonConsole->parentWidget()->hide();
}
+void XGUI_MainWindow::showPropertyPanel()
+{
+ QAction* aViewAct = myPropertyPanelDock->toggleViewAction();
+ //<! Restore ability to close panel from the window's menu
+ aViewAct->setEnabled(true);
+ myPropertyPanelDock->show();
+ myPropertyPanelDock->raise();
+}
+
+void XGUI_MainWindow::hidePropertyPanel()
+{
+ QAction* aViewAct = myPropertyPanelDock->toggleViewAction();
+ //<! Do not allow to show empty property panel
+ aViewAct->setEnabled(false);
+ myPropertyPanelDock->hide();
+}
+
/*
* Creates dock widgets, places them in corresponding area
* and tabifies if necessary.
{
QDockWidget* aObjDock = createObjectBrowser();
addDockWidget(Qt::LeftDockWidgetArea, aObjDock);
- QDockWidget* aPropPanelDock = createPropertyPanel();
- addDockWidget(Qt::LeftDockWidgetArea, aPropPanelDock);
+ myPropertyPanelDock = createPropertyPanel();
+ addDockWidget(Qt::LeftDockWidgetArea, myPropertyPanelDock);
+ hidePropertyPanel(); //<! Invisible by default
+ hideObjectBrowser();
+ tabifyDockWidget(aObjDock, myPropertyPanelDock);
+}
- tabifyDockWidget(aPropPanelDock, aObjDock);
+void XGUI_MainWindow::setPropertyPannelTitle(const QString& theTitle)
+{
+ myPropertyPanelDock->setWindowTitle(theTitle);
}
{
QDockWidget* aPropPanel = new QDockWidget(this);
aPropPanel->setWindowTitle(tr("Property Panel"));
+ QAction* aViewAct = aPropPanel->toggleViewAction();
+ aPropPanel->setObjectName(XGUI::PROP_PANEL);
QWidget* aContent = new QWidget(aPropPanel);
QVBoxLayout* aMainLay = new QVBoxLayout(aContent);
aPropPanel->setWidget(aContent);
QWidget* aCustomWidget = new QWidget(aContent);
- aCustomWidget->setObjectName("PropertyPanelWidget");
+ aCustomWidget->setObjectName(XGUI::PROP_PANEL_WDG);
aMainLay->addWidget(aCustomWidget);
aMainLay->addStretch(1);
QPushButton* aBtn = new QPushButton(QIcon(":pictures/button_help.png"), "", aFrm);
aBtn->setFlat(true);
+ //connect(aBtn, SIGNAL(clicked()), this, SIGNAL(propertyHelpPressed()));
aBtnLay->addWidget(aBtn);
aBtnLay->addStretch(1);
aBtn = new QPushButton(QIcon(":pictures/button_ok.png"), "", aFrm);
+ aBtn->setObjectName(XGUI::PROP_PANEL_OK);
aBtn->setFlat(true);
+ //connect(aBtn, SIGNAL(clicked()), this, SIGNAL(propertyOkPressed()));
aBtnLay->addWidget(aBtn);
aBtn = new QPushButton(QIcon(":pictures/button_cancel.png"), "", aFrm);
+ aBtn->setObjectName(XGUI::PROP_PANEL_CANCEL);
aBtn->setFlat(true);
+ //connect(aBtn, SIGNAL(clicked()), this, SIGNAL(propertyClosePressed()));
aBtnLay->addWidget(aBtn);
return aPropPanel;
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;
}