123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- #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 UserView;
- class AboutView;
- class SettingView;
- class QStackedWidget;
- 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 initLoginPage();
- void initMainPage();
- 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 slotLogout();
- void slotCancelLogin();
- void homeViewClicked();
- void projectViewClicked();
- void expertViewClicked();
- void aboutViewClicked();
- void dataViewClicked();
- void settingViewClicked();
- void userViewClicked();
- private:
- CustomTitleBar *m_titleBar;
- QStackedWidget *m_mainStackedWidget;
- LoginView *m_loginView;
- 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;
- AboutView *m_aboutView;
- SettingView *m_settingView;
- UserView *m_userView;
- };
- #endif // MAINWINDOW_H
|