Files
DataStructureProject/mainwindow.cpp
T

70 lines
1.8 KiB
C++

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "car.h"
#include <QDialog>
#include <QLabel>
#include <QScrollArea>
#include <logwindow.h>
#include <QDebug>
#include "ParkingLotWidget.h"
#include "monitor.h"
#include "carlist.h"
#include "logindialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
logWindow = LogWindow::newInstance(this);
list = CarList::newInstance(this);
LoginDialog::getInstance(this);
Monitor *monitor = new Monitor(this);
setWindowFlags(Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
resize(monitor->size());
installEventFilter(this);
connect(logWindow, &LogWindow::onCloseButtonClicked, monitor, &Monitor::closeLogWindow);
connect(list, &CarList::onCloseButtonClicked, monitor, &Monitor::closeListWindow);
}
MainWindow::~MainWindow()
{
delete ui;
// delete monitor;
// delete logWindow;
}
void MainWindow::open(void) {
QDialog dialog;
dialog.setWindowTitle(tr("Hello, dialog!"));
dialog.exec();
}
void MainWindow::showLogWindow(bool enable)
{
if (enable) {
logWindow->setGeometry(x()+width() + 15, y() + 35, 400, 450);
logWindow->show();
activateWindow();
} else
logWindow->hide();
}
void MainWindow::showListWindow(bool enable)
{
if (enable) {
list->setGeometry(x()+width() + 15, y() + width() / 2, 400, 450);
list->show();
activateWindow();
} else
list->hide();
}
bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
if (event->type() == QEvent::Move) {
logWindow->setGeometry(x()+width() + 15, y() + 35, 400, 450);
list->setGeometry(x()+width() + 15, y() + width() / 2, 400, 450);
}
return QWidget::eventFilter(obj, event);
}