summaryrefslogtreecommitdiff
path: root/ui/splitter.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-01-26 20:46:18 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2024-02-05 13:42:52 -0500
commitffa5bfd73aa775acf2efb20c81ae995417d6d719 (patch)
tree9176ad2db8a971143019a028a4860ca695b3de07 /ui/splitter.h
parent97ac519092fc87e27c49ab21aafb41b77f40dc03 (diff)
Use new splitter in panes
Diffstat (limited to 'ui/splitter.h')
-rw-r--r--ui/splitter.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/ui/splitter.h b/ui/splitter.h
index 089de444..a26b6a9d 100644
--- a/ui/splitter.h
+++ b/ui/splitter.h
@@ -97,6 +97,18 @@ public:
void restoreState(const QSettings& settings, const QString& stateName);
void resetToDefault();
+ std::optional<SplitterWidgetSizing> sizing(const QString& key) const;
+ std::optional<SplitterWidgetSizing> sizing(QWidget* widget) const;
+ void setSizing(const QString& key, const SplitterWidgetSizing& sizing);
+ void setRequestedSize(const QString& key, float size);
+ void setRequestedSize(QWidget* widget, float size);
+
+ Qt::Orientation orientation() const { return m_orientation; }
+ void setOrientation(Qt::Orientation orientation);
+
+ QList<int> sizes() const;
+ void setSizes(const QList<int>& sizes);
+
protected:
virtual void paintEvent(QPaintEvent* event) override;
virtual void mousePressEvent(QMouseEvent* event) override;
@@ -109,7 +121,8 @@ protected:
private:
void forAllSplitterHandles(const std::function<void(size_t leftIdx, size_t rightIdx, int pos)>& func);
- void processLayout(const std::function<int(int availablePointSize)>& processPointSizeWidgets,
+ void processLayout(bool computeFromExisting,
+ const std::function<int(int availablePointSize)>& processPointSizeWidgets,
const std::function<void(int availableWidgetSize)>& processRelativeSizeWidgets);
void getWidgetsForSizingStyle(SplitterWidgetSizingStyle style,
std::set<SplitterWidget*>& widgets, std::vector<GroupInfo>& groups);
@@ -120,4 +133,7 @@ private:
const std::set<SplitterWidget*>& widgets, const std::vector<GroupInfo>& groups, int availableSize);
void calculateRequestedSizesForActualLayout();
void updateWidgetPositions();
+
+Q_SIGNALS:
+ void splitterMoved();
};