5#include <QtCore/QTimer>
6#include <QtGui/QPainter>
7#include <QtGui/QPaintEvent>
8#include <QtWidgets/QWidget>
9#include <GeneratedFiles/imtgui/ui_CCustomLayoutWidgetForm.h>
12#include <iser/ISerializable.h>
13#include <iser/CXmlStringWriteArchive.h>
14#include <iser/CXmlStringReadArchive.h>
15#include <imtgui/ILayout.h>
16#include <imtgui/CLayoutSettingsDialog.h>
23class CCustomLayoutWidget;
34 typedef QList<QByteArray> IdsList;
35 typedef QList<int> SizeList;
47 void SetViewMode(ViewMode viewMode);
48 CHierarchicalLayoutWidget::ViewMode GetViewMode();
50 void SetAdditionalNames(QStringList& additionalNames);
51 void CleanLayoutRecursive(QLayout* layoutPtr);
53 void SetBorderColor(
const QColor &color);
54 QColor GetBorderColor()
const;
55 void SetBorderEnabled(
bool isBorderEnabled);
56 bool IsBorderEnabled()
const;
64 void EmitLayoutChanged(QByteArray
id, ILayout::LayoutType type,
int count);
65 void EmitDropEvent(QByteArray
id, QDropEvent* eventPtr);
66 void EmitOpenMenuEvent(QByteArray
id, QMouseEvent* eventPtr);
67 void EmitClearEvent(
const QByteArray&
id);
68 void EmitAddWidget(
const QByteArray&
id,
int index);
69 void EmitAddWidgetByViewId(
const QByteArray&
id,
const QByteArray& viewId);
70 void EmitDeleteWidget(
const QByteArray&
id);
71 void EmitSplitLayout(
const QByteArray&
id, ILayout::LayoutType type,
int width,
int height);
72 void EmitChangeIcon(
const QByteArray&
id);
73 void EmitRemoveIcon(
const QByteArray&
id);
74 void EmitChangeAlignTitle(
const QByteArray&
id,
const ILayout::AlignType& align);
75 void EmitChangeTitle(
const QByteArray&
id,
const QString& title);
76 void EmitChangeSizes(
const QByteArray&
id,
const SizeList& sizeList);
77 void EmitChangeProperties(
const QByteArray&
id);
80 typedef QMap<QByteArray, CCustomLayoutWidget*> CustomWidgetMap;
81 CustomWidgetMap m_customWidgetMap;
83 QStringList m_additionalNames;
98 void SetDefaultPalette();
99 void SetHighLightPalette();
100 bool SetWidget(QWidget* widgetPtr);
101 QWidget* GetWidget();
102 void SetName(QString name);
104 void SetEditMode(
bool isEditMode);
106 void SetId(
const QByteArray&
id);
108 void SetIcon(
const QPixmap &icon);
109 QByteArray GetViewId();
110 void SetViewId(
const QByteArray& viewId);
111 void SetTitleAlign(
const ILayout::AlignType &align);
112 ILayout::AlignType GetTitleAlign();
113 void SetLayoutProperties(
const ILayout::LayoutProperties &properties);
121 virtual void paintEvent(QPaintEvent* eventPtr) Q_DECL_OVERRIDE;
125 void OnChangeSettings();
126 void OnDeleteWidget();
127 void OnSplitVertical();
128 void OnSplitHorizontal();
130 void OnAlignCenter();
133 void OnTitleChanged();
141 QWidget* m_externalWidgetPtr;
142 ILayout::AlignType m_titleAlign;
143 ILayout::LayoutProperties m_properties;