21 #ifndef __ctkLayoutManager_h
22 #define __ctkLayoutManager_h
26 #include <QDomDocument>
31 #include "ctkWidgetsExport.h"
32 class ctkLayoutManagerPrivate;
88 Q_PROPERTY(
int spacing READ spacing WRITE setSpacing)
97 Q_INVOKABLE
void setViewport(QWidget* widget);
98 Q_INVOKABLE QWidget* viewport()
const;
105 void setSpacing(
int spacing);
112 void layoutChanged();
115 QScopedPointer<ctkLayoutManagerPrivate>
d_ptr;
116 ctkLayoutManager(ctkLayoutManagerPrivate* ptr, QWidget* viewport, QObject* parent);
118 virtual void onViewportChanged();
120 virtual void setupLayout();
122 virtual void setLayout(
const QDomDocument& newLayout);
123 const QDomDocument layout()
const;
128 virtual QLayoutItem* processElement(QDomElement element);
131 virtual QLayoutItem* processLayoutElement(QDomElement layoutElement);
134 virtual QLayoutItem* layoutFromXML(QDomElement layoutElement);
137 void processItemElement(QDomElement layoutElement, QLayoutItem* layoutItem);
140 virtual void addChildItemToLayout(QDomElement itemElement, QLayoutItem* childItem, QLayoutItem* layoutItem);
144 QWidgetItem* widgetItemFromXML(QDomElement layoutElement);
149 virtual void setupView(QDomElement layoutElement, QWidget* view);
158 virtual QWidget* viewFromXML(QDomElement layoutElement) = 0;