12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QFrame>
- #include <QMainWindow>
- class PopUpAniStackedWidget;
- class QHBoxLayout;
- class NavigationInterface;
- class CustomTitleBar;
- class HomeView;
- class ProjectView;
- class ExpertManageView;
- class EvaluateView;
- class LoginView;
- class AboutView;
- class StackedWidget : public QFrame
- {
- Q_OBJECT
- public:
- StackedWidget(QWidget *parent = nullptr);
- void addWidget(QWidget *widget);
- void setCurrentWidget(QWidget *widget, bool popOut = false);
- void setCurrentIndex(int index, bool popOut = false);
- PopUpAniStackedWidget *view() const;
- signals:
- void currentWidgetChanged(QWidget *);
- private:
- QHBoxLayout *m_hBoxLayout;
- PopUpAniStackedWidget *m_view;
- };
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- MainWindow(QWidget *parent = nullptr);
- ~MainWindow();
- private:
- void initialize();
- void initWindow();
- void initLayout();
- void initNavigation();
- void connectSignalsAndSlots();
- void setNaviInterfaceHidden(bool hidden);
- int titleBarIndent() const;
- void resizeEvent(QResizeEvent *event) override;
- void showMainWidget();
- void switchTo(QWidget *widget, bool triggerByUser = true);
- private slots:
- void slotLogin();
- void slotCancelLogin();
- void homeViewClicked();
- void projectViewClicked();
- void expertViewClicked();
- void aboutViewClicked();
- void dataViewClicked();
- private:
- CustomTitleBar *m_titleBar;
- QWidget *m_mainWidget;
- QHBoxLayout *m_hBoxLayout;
- QHBoxLayout *m_widgetLayout;
- StackedWidget *m_stackWidget;
- NavigationInterface *m_naviInterface;
- HomeView *m_homeView;
- ProjectView *m_projectView;
- ExpertManageView *m_expertManageView;
- EvaluateView *m_evaluateView;
- LoginView *m_loginView;
- AboutView *m_aboutView;
- };
- #endif // MAINWINDOW_H
|