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 |
