From d15232d88c6f0c2ed3bbbbd3998d565521e75bd0 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 7 Oct 2021 16:43:42 -0600 Subject: Modify tab bar to span entire top of window --- ui/tabwidget.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/ui/tabwidget.h b/ui/tabwidget.h index 58f6ac83..fd982b9d 100644 --- a/ui/tabwidget.h +++ b/ui/tabwidget.h @@ -133,20 +133,34 @@ protected: virtual void wheelEvent(QWheelEvent* event) override; }; +class BINARYNINJAUIAPI DockableTabBarWithCornerWidget: public QWidget +{ + DockableTabBar* m_bar; + QHBoxLayout* m_barLayout; + +protected: + virtual void paintEvent(QPaintEvent* event) override; + +public: + DockableTabBarWithCornerWidget(DockableTabBar* bar); + DockableTabBar* tabBar() const { return m_bar; } + void setCornerWidget(QWidget* widget, Qt::Corner corner = Qt::TopRightCorner); +}; + class BINARYNINJAUIAPI DockableTabWidget: public QWidget { Q_OBJECT DockableTabCollection* m_collection; DockableTabBar* m_bar; - QHBoxLayout* m_barLayout; + DockableTabBarWithCornerWidget* m_cornerWidget; QStackedWidget* m_widgets; void addReparentedTab(DockableTabWidget* source, int idx, QWidget* widget, const QString& title, const QString& toolTip); public: - DockableTabWidget(DockableTabCollection* collection); + DockableTabWidget(DockableTabCollection* collection, DockableTabBar* bar = nullptr); int addTab(QWidget* widget, const QString& title); int insertTab(int idx, QWidget* widget, const QString& title); @@ -169,9 +183,6 @@ public: virtual QSize sizeHint() const override; -protected: - virtual void paintEvent(QPaintEvent* event) override; - Q_SIGNALS: void tabCloseRequested(int idx); void currentChanged(int idx); -- cgit v1.3.1