6#include <QtCore/QByteArray>
10#include <iser/ISerializable.h>
17class ILayout:
virtual public iser::ISerializable
20 typedef QList<int> SizeList;
26 LT_HORIZONTAL_SPLITTER,
30 I_DECLARE_ENUM(LayoutType,
33 LT_HORIZONTAL_SPLITTER,
43 I_DECLARE_ENUM(AlignType, AT_LEFT, AT_RIGHT, AT_H_CENTER);
45 struct LayoutProperties
49 isFixedLayout =
true; isBorderEnabled =
true; borderColor = QColor(
"#808080");
50 minWidth = minHeight = 0; maxWidth = maxHeight = 16777215;
51 leftMargin = rightMargin = topMargin = bottomMargin = 3;
70 virtual QByteArray GetLayoutId()
const = 0;
75 virtual void SetType(
const LayoutType& type) = 0;
80 virtual LayoutType GetType()
const = 0;
85 virtual void SetTitle(
const QString& title) = 0;
90 virtual QString GetTitle()
const = 0;
95 virtual void SetTitleAlign(
const AlignType& align) = 0;
100 virtual AlignType GetTitleAlign()
const = 0;
105 virtual void SetIcon(
const QPixmap& icon) = 0;
110 virtual QPixmap GetIcon()
const = 0;
115 virtual void SetViewId(
const QByteArray& viewId) = 0;
120 virtual QByteArray GetViewId()
const = 0;
125 virtual void SetSizes(
const SizeList& sizes) = 0;
130 virtual SizeList GetSizes()
const = 0;
135 virtual void SetLayoutProperties(
const LayoutProperties &properties) = 0;
140 virtual LayoutProperties GetLayoutProperties()
const = 0;
145 virtual ILayout* GetParent()
const = 0;
150 virtual int GetChildsCount()
const = 0;
155 virtual ILayout* GetChild(
int index)
const = 0;
160 virtual void InsertChild(
int index, ILayout* layout) = 0;
165 virtual void AppendChild(ILayout* layout) = 0;
170 virtual ILayout* TakeChild(
int index) = 0;
175 virtual ILayout* TakeFirst() = 0;
180 virtual ILayout* TakeLast() = 0;
185 virtual void Clear() = 0;
190 virtual ILayout* FindChild(
const QByteArray&
id)
const = 0;
195 virtual ILayout* RemoveChild(
const QByteArray&
id) = 0;
200 virtual void SplitLayout(ILayout::LayoutType type,
int width,
int height) = 0;