Mercurial > hg > svgui
diff widgets/PaneStack.h @ 108:4772fc75ac7c
* Some work on switching property box layout between one-box-per-pane
and one-box-overall layouts. Not enabled in GUI yet.
author | Chris Cannam |
---|---|
date | Mon, 26 Jun 2006 16:08:57 +0000 |
parents | 803830f186ef |
children |
line wrap: on
line diff
--- a/widgets/PaneStack.h Mon Jun 19 16:14:16 2006 +0000 +++ b/widgets/PaneStack.h Mon Jun 26 16:08:57 2006 +0000 @@ -17,10 +17,13 @@ #ifndef _PANESTACK_H_ #define _PANESTACK_H_ -#include <QSplitter> +#include <QFrame> class QWidget; class QLabel; +class QStackedWidget; +class QSplitter; +class QHBoxLayout; class View; class Pane; class Layer; @@ -28,7 +31,7 @@ class PropertyContainer; class PropertyStack; -class PaneStack : public QSplitter +class PaneStack : public QFrame { Q_OBJECT @@ -51,6 +54,14 @@ void setCurrentLayer(Pane *pane, Layer *layer); Pane *getCurrentPane(); + enum LayoutStyle { + SinglePropertyStackLayout = 1, + PropertyStackPerPaneLayout = 2 + }; + + LayoutStyle getLayoutStyle() const { return m_layoutStyle; } + void setLayoutStyle(LayoutStyle style); + signals: void currentPaneChanged(Pane *pane); void currentLayerChanged(Pane *pane, Layer *layer); @@ -68,16 +79,23 @@ struct PaneRec { - Pane *pane; - QWidget *propertyStack; - QLabel *currentIndicator; + Pane *pane; + QWidget *propertyStack; + QLabel *currentIndicator; + QFrame *frame; + QHBoxLayout *layout; }; std::vector<PaneRec> m_panes; std::vector<PaneRec> m_hiddenPanes; + QSplitter *m_splitter; + QStackedWidget *m_propertyStackStack; + ViewManager *m_viewManager; // I don't own this void sizePropertyStacks(); + + LayoutStyle m_layoutStyle; }; #endif