summaryrefslogtreecommitdiff
path: root/ui/tabwidget.h
diff options
context:
space:
mode:
authorkat <kat@vector35.com>2024-01-11 12:54:16 -0500
committerAlexander Taylor <alex@vector35.com>2024-01-18 15:09:20 -0500
commit44cdc49cbbcf337419b11ccd2135a804be540551 (patch)
tree50459cbc3ba3ba87cd6c3afdf129ff89cf47145f /ui/tabwidget.h
parenteba2c30317350785effc9a71ba3b52a2117f261d (diff)
Tabbar rework
Diffstat (limited to 'ui/tabwidget.h')
-rw-r--r--ui/tabwidget.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/ui/tabwidget.h b/ui/tabwidget.h
index 08ce60ea..e55abf60 100644
--- a/ui/tabwidget.h
+++ b/ui/tabwidget.h
@@ -88,6 +88,7 @@ struct BINARYNINJAUIAPI DockableTabInfo
QRect tabRect, closeButtonRect, closeIconRect;
bool modifiedIndicator;
bool canClose;
+ bool isDrag = false;
};
/*!
@@ -322,6 +323,29 @@ class BINARYNINJAUIAPI DockableTabWidget : public QWidget
void reparentTab(int oldIdx, DockableTabWidget* target, int newIdx);
};
+class BINARYNINJAUIAPI FlexibleTabBar : public QWidget
+{
+ DockableTabBar* m_bar;
+
+ QHBoxLayout* m_overallBarLayout;
+ QHBoxLayout* m_barLayout;
+ QHBoxLayout* m_leftLayout;
+ QHBoxLayout* m_rightLayout;
+
+public:
+ enum FlexibleTabBarWidgetLocation {
+ LeftCorner,
+ RightCorner,
+ AfterTabs
+ };
+ FlexibleTabBar(DockableTabBar* bar);
+ void addWidget(QWidget* widget, FlexibleTabBarWidgetLocation corner);
+ void insertWidget(int idx, QWidget* widget, FlexibleTabBarWidgetLocation corner);
+
+protected:
+ void paintEvent(QPaintEvent* event) override;
+};
+
/*!
\ingroup tabwidget