diff options
Diffstat (limited to 'Plugins/skins/SkinLib/DialogState.h')
-rw-r--r-- | Plugins/skins/SkinLib/DialogState.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Plugins/skins/SkinLib/DialogState.h b/Plugins/skins/SkinLib/DialogState.h new file mode 100644 index 0000000..08b98d6 --- /dev/null +++ b/Plugins/skins/SkinLib/DialogState.h @@ -0,0 +1,45 @@ +#ifndef __DIALOG_STATE_H__
+# define __DIALOG_STATE_H__
+
+#include "Dialog.h"
+#include "FieldState.h"
+#include "BorderState.h"
+
+
+/// This have to be deleted before the owning dialog
+/// It is responsible for freeing the FieldStates
+class DialogState
+{
+public:
+ ~DialogState();
+
+ Dialog * getDialog() const;
+
+ std::vector<FieldState *> fields;
+ FieldState * getField(const char *name) const;
+
+ int getWidth() const;
+ void setWidth(int width);
+
+ int getHeight() const;
+ void setHeight(int height);
+
+ BorderState * getBorders();
+ const BorderState * getBorders() const;
+
+private:
+ DialogState(Dialog *dialog);
+
+ Dialog *dialog;
+
+ Size size;
+ BorderState borders;
+
+ int getHorizontalBorders() const;
+ int getVerticalBorders() const;
+
+ friend class Dialog;
+};
+
+
+#endif // __DIALOG_STATE_H__
\ No newline at end of file |