37 QWidget* mainView,
const QString& title, QWidget* parent =
nullptr);
41 QWidget* mainView()
const noexcept;
44 void setNavigationWidget(QWidget* w);
45 QWidget* navigationWidget()
const noexcept;
47 void addView(QWidget* w,
const QString& title,
const QIcon& icon = {});
48 void removeView(QWidget* w);
49 void showView(QWidget* w);
50 void setViewTitle(QWidget* w,
const QString& title);
52 bool hasView(QWidget* w)
const noexcept;
53 QWidget* currentView()
const noexcept;
55 QWidget* viewContaining(QWidget* w)
const noexcept;
60 void releaseMainView();
63 void currentViewChanged(QWidget* view)
64 E_SIGNAL(SCORE_LIB_BASE_EXPORT, currentViewChanged, view)
66 void viewContextMenuRequested(QWidget* view, QPoint globalPos)
67 E_SIGNAL(SCORE_LIB_BASE_EXPORT, viewContextMenuRequested, view, globalPos)
70 bool eventFilter(QObject* obj, QEvent* ev) override;
75 void forgetView(QWidget* w);
78 int indexOf(QWidget* w) const noexcept;
79 void on_tabCloseRequested(
int index);
81 QHBoxLayout* m_navLayout{};
82 QWidget* m_navigationWidget{};
84 QStackedWidget* m_stack{};
85 QWidget* m_mainView{};
86 std::vector<QWidget*> m_views;