#include "metavis.h" #include "SettingDialog.h" #include #include #include #include #include #include #include #include #include "LineGraph.h" #include "CustomLineGraph.h" metavis::metavis(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); /* create settings object*/ settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TK", "metavis", this); setStyleSheet(styleSheet() + "QMainWindow::separator {background: rgb(200, 200, 200);width: 1px;height: 1px;}"); setStyleSheet(styleSheet() + "QTabBar::tab:selected {color: rgb(0, 122, 204);}"); setStyleSheet(styleSheet() + "QTabWidget::pane {border-top: 2px solid #C2C7CB;}"); createCustomWidget(); /*createCustomWidget(); createCustomWidget(); createCustomWidget();*/ readMainWindowSettings(); } void metavis::openSetting() { SettingDialog settingDialog(settings, this); /* Blocking operation */ settingDialog.exec(); } metavis::~metavis() { writeActualMainWindowSettings(); } void metavis::createChartWidget() { QDockWidget* dock = new QDockWidget("Customers", this); dock->setObjectName("TestWidget"); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); LineGraph* widget = new LineGraph(dock); widget->setMinimumSize(100, 100); dock->setBaseSize(300, 300); QPalette pal; pal.setColor(QPalette::Background, Qt::lightGray); dock->setPalette(pal); //widget->setPalette(pal); dock->setWidget(widget); addDockWidget(Qt::RightDockWidgetArea, dock); } void metavis::createWebEngineWidget() { QDockWidget* dock = new QDockWidget("Customers", this); dock->setObjectName("TestWidget"); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); QWebEngineView* view = new QWebEngineView(dock); view->load(QUrl("file:///web.html")); //view->load(QUrl("http://youtube.de/")); view->show(); view->setMinimumSize(200, 200); dock->setBaseSize(300, 300); QPalette pal; pal.setColor(QPalette::Background, Qt::lightGray); dock->setPalette(pal); view->setPalette(pal); dock->setWidget(view); addDockWidget(Qt::LeftDockWidgetArea, dock); } void metavis::createCustomWidget() { QDockWidget* dock = new QDockWidget("Customers", this); dock->setObjectName("TestWidget"); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); CustomLineGraph* widget = new CustomLineGraph(dock); widget->setMinimumSize(200, 200); widget->show(); widget->repaint(); dock->setBaseSize(300, 300); dock->repaint(); QPalette pal; pal.setColor(QPalette::Background, Qt::lightGray); //dock->setPalette(pal); //widget->setPalette(pal); dock->setWidget(widget); addDockWidget(Qt::LeftDockWidgetArea, dock); } void metavis::writeActualMainWindowSettings() { settings->beginGroup("MainWindow"); settings->setValue("maximized", isMaximized()); if (!isMaximized()) { /* position and size of the window if not maximized */ settings->setValue("pos", pos()); settings->setValue("size", size()); } settings->endGroup(); } void metavis::readMainWindowSettings() { settings->beginGroup("MainWindow"); if (settings->value("maximized", false).toBool()) { showMaximized(); } else { /* Position and size of the window if not maximized*/ resize(settings->value("size", QSize(600, 400)).toSize()); move(settings->value("pos", QPoint(200, 200)).toPoint()); } settings->endGroup(); }