#include "osgvisualgui.h" #include #include #include #include osgVisualGUI::osgVisualGUI(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { debug = NULL; // GUI instanziieren ui.setupUi(this); // GUI-Klassen instanziieren & connectieren // Toolbars initialisieren void setupDockWidgets(); void setupToolbars(); void setupMenus(); // Windowgeometrie wiederherstellen QSettings settings; restoreGeometry(settings.value("mainwindow/maingeometry").toByteArray() ); restoreState( settings.value("mainwindow/DockwidgetLayout").toByteArray() ); // Und schlußendlich die GUI zeigen this->show(); } osgVisualGUI::~osgVisualGUI() { } void osgVisualGUI::closeEvent( QCloseEvent *event ) { // Close application this->hide(); // Save geometries QSettings settings; settings.setValue("mainwindow/maingeometry", saveGeometry()); settings.setValue("mainwindow/DockwidgetLayout", saveState() ); // Close debug widget if( debug != NULL ) { settings.setValue("debugwindow/geometry", debug->saveGeometry()); qInstallMsgHandler(0); debug->close(); } // accept event event->accept(); } void osgVisualGUI::setDebug(QTextEdit* debug_) { if ( debug_ != NULL ) { debug = debug_; ui.dW_Debug->setWidget(debug); } } void osgVisualGUI::setupDockWidgets() { } void osgVisualGUI::setupToolbars() { } void osgVisualGUI::setupMenus() { ui.menuEdit->addAction( ui.actionSettings ); } void osgVisualGUI::on_actionToggle_top_left_corner_triggered() { if( this->corner( Qt::TopLeftCorner ) == Qt::LeftDockWidgetArea ) setCorner( Qt::TopLeftCorner, Qt::BottomDockWidgetArea ); else if( this->corner( Qt::TopLeftCorner ) == Qt::BottomDockWidgetArea ) setCorner( Qt::TopLeftCorner, Qt::LeftDockWidgetArea ); } void osgVisualGUI::on_actionToggle_top_right_corner_triggered() { if( this->corner( Qt::TopRightCorner ) == Qt::RightDockWidgetArea ) setCorner( Qt::TopRightCorner, Qt::TopDockWidgetArea ); else if( this->corner( Qt::TopRightCorner ) == Qt::TopDockWidgetArea ) setCorner( Qt::TopRightCorner, Qt::RightDockWidgetArea ); } void osgVisualGUI::on_actionToggle_bottom_left_corner_triggered() { if( this->corner( Qt::BottomLeftCorner ) == Qt::LeftDockWidgetArea ) setCorner( Qt::BottomLeftCorner, Qt::BottomDockWidgetArea ); else if( this->corner( Qt::BottomLeftCorner ) == Qt::BottomDockWidgetArea ) setCorner( Qt::BottomLeftCorner, Qt::LeftDockWidgetArea ); } void osgVisualGUI::on_actionToggle_bottom_right_corner_triggered() { if( this->corner( Qt::BottomRightCorner ) == Qt::RightDockWidgetArea ) setCorner( Qt::BottomRightCorner, Qt::BottomDockWidgetArea ); else if( this->corner( Qt::BottomRightCorner ) == Qt::BottomDockWidgetArea ) setCorner( Qt::BottomRightCorner, Qt::RightDockWidgetArea ); } void osgVisualGUI::on_actionAbout_This_Programm_triggered() { QMessageBox::about( this, tr("About %1").arg(QApplication::applicationName()) , tr("OSG Visual is a GUI application for easy controlling and testing of the OSG-Visual programm.\n\n It is freely available unter GNU LGPL license\n\n Developement version 0.1\n\nLGPL icons created & copyright by the \"Crystal - Interaction Design Project\".\nPlease visit http://www.everaldo.com/crystal/") ); }