Mercurial > hg > svgui
comparison view/PaneStack.h @ 1459:42c87368287c
Merge from branch single-point
author | Chris Cannam |
---|---|
date | Fri, 17 May 2019 10:02:52 +0100 |
parents | 8afea53332f3 |
children | 69b7fdd6394f |
comparison
equal
deleted
inserted
replaced
1441:8d5bf4ab98ef | 1459:42c87368287c |
---|---|
23 #include "base/BaseTypes.h" | 23 #include "base/BaseTypes.h" |
24 | 24 |
25 class QWidget; | 25 class QWidget; |
26 class QLabel; | 26 class QLabel; |
27 class QStackedWidget; | 27 class QStackedWidget; |
28 class QVBoxLayout; | |
28 class QSplitter; | 29 class QSplitter; |
29 class QGridLayout; | 30 class QGridLayout; |
30 class QPushButton; | 31 class QPushButton; |
31 class View; | 32 class View; |
32 class Pane; | 33 class Pane; |
39 class PaneStack : public QFrame | 40 class PaneStack : public QFrame |
40 { | 41 { |
41 Q_OBJECT | 42 Q_OBJECT |
42 | 43 |
43 public: | 44 public: |
44 PaneStack(QWidget *parent, ViewManager *viewManager); | 45 PaneStack(QWidget *parent, |
46 ViewManager *viewManager); | |
45 | 47 |
46 Pane *addPane(bool suppressPropertyBox = false); // I own the returned value | 48 Pane *addPane(bool suppressPropertyBox = false); // I own the returned value |
47 Pane *insertPane(int index, bool suppressPropertyBox = false); // I own the returned value | |
48 void deletePane(Pane *pane); // Deletes the pane, but _not_ its layers | 49 void deletePane(Pane *pane); // Deletes the pane, but _not_ its layers |
49 | 50 |
50 int getPaneCount() const; // Returns only count of visible panes | 51 int getPaneCount() const; // Returns only count of visible panes |
51 Pane *getPane(int n); // Of visible panes; I own the returned value | 52 Pane *getPane(int n); // Of visible panes; I own the returned value |
52 int getPaneIndex(Pane *pane); // so getPane(index)==pane; -1 if absent | 53 int getPaneIndex(Pane *pane); // so getPane(index)==pane; -1 if absent |
67 PropertyStackPerPaneLayout = 2 | 68 PropertyStackPerPaneLayout = 2 |
68 }; | 69 }; |
69 | 70 |
70 LayoutStyle getLayoutStyle() const { return m_layoutStyle; } | 71 LayoutStyle getLayoutStyle() const { return m_layoutStyle; } |
71 void setLayoutStyle(LayoutStyle style); | 72 void setLayoutStyle(LayoutStyle style); |
73 | |
74 enum ResizeMode { | |
75 UserResizeable = 0, | |
76 AutoResizeOnly = 1 | |
77 }; | |
78 | |
79 ResizeMode getResizeMode() const { return m_resizeMode; } | |
80 void setResizeMode(ResizeMode); | |
72 | 81 |
73 void setPropertyStackMinWidth(int mw); | 82 void setPropertyStackMinWidth(int mw); |
74 | 83 |
75 void setShowPaneAccessories(bool show); // current indicator, close button | 84 void setShowPaneAccessories(bool show); // current indicator, close button |
76 | 85 |
130 std::vector<PaneRec> m_hiddenPanes; | 139 std::vector<PaneRec> m_hiddenPanes; |
131 | 140 |
132 bool m_showAccessories; | 141 bool m_showAccessories; |
133 bool m_showAlignmentViews; | 142 bool m_showAlignmentViews; |
134 | 143 |
135 QSplitter *m_splitter; | 144 QSplitter *m_splitter; // constitutes the stack in UserResizeable mode |
145 QWidget *m_autoResizeStack; // constitutes the stack in AutoResizeOnly mode | |
146 QVBoxLayout *m_autoResizeLayout; | |
147 | |
136 QStackedWidget *m_propertyStackStack; | 148 QStackedWidget *m_propertyStackStack; |
137 | 149 |
138 ViewManager *m_viewManager; // I don't own this | 150 ViewManager *m_viewManager; // I don't own this |
139 int m_propertyStackMinWidth; | 151 int m_propertyStackMinWidth; |
140 void sizePropertyStacks(); | 152 void sizePropertyStacks(); |
143 | 155 |
144 void unlinkAlignmentViews(); | 156 void unlinkAlignmentViews(); |
145 void relinkAlignmentViews(); | 157 void relinkAlignmentViews(); |
146 | 158 |
147 LayoutStyle m_layoutStyle; | 159 LayoutStyle m_layoutStyle; |
160 ResizeMode m_resizeMode; | |
148 }; | 161 }; |
149 | 162 |
150 #endif | 163 #endif |
151 | 164 |