summaryrefslogtreecommitdiff
path: root/plugins/Skins/SkinLib/FieldState.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Skins/SkinLib/FieldState.h')
-rw-r--r--plugins/Skins/SkinLib/FieldState.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/plugins/Skins/SkinLib/FieldState.h b/plugins/Skins/SkinLib/FieldState.h
new file mode 100644
index 0000000000..d7c552105f
--- /dev/null
+++ b/plugins/Skins/SkinLib/FieldState.h
@@ -0,0 +1,108 @@
+#ifndef __FIELD_STATE_H__
+# define __FIELD_STATE_H__
+
+#include "Field.h"
+#include "BorderState.h"
+
+class DialogState;
+
+enum HORIZONTAL_ALIGN
+{
+ HORIZONTAL_ALIGN_LEFT = 1,
+ HORIZONTAL_ALIGN_CENTER,
+ HORIZONTAL_ALIGN_RIGHT
+};
+
+enum VERTICAL_ALIGN
+{
+ VERTICAL_ALIGN_TOP = 1,
+ VERTICAL_ALIGN_CENTER,
+ VERTICAL_ALIGN_BOTTOM
+};
+
+
+class FieldState
+{
+public:
+ virtual ~FieldState();
+
+ virtual Field * getField() const;
+ virtual DialogState * getDialog() const;
+
+ virtual Size getPreferedSize() const = 0;
+
+ // Used inside script
+
+ virtual int getX() const;
+ virtual void setX(int x);
+
+ virtual int getY() const;
+ virtual void setY(int y);
+
+ virtual int getWidth() const;
+ virtual void setWidth(int width);
+
+ virtual int getHeight() const;
+ virtual void setHeight(int height);
+
+ virtual int getLeft() const;
+ virtual void setLeft(int left);
+
+ virtual int getTop() const;
+ virtual void setTop(int top);
+
+ virtual int getRight() const;
+ virtual void setRight(int right);
+
+ virtual int getBottom() const;
+ virtual void setBottom(int bottom);
+
+ virtual bool isVisible() const;
+ virtual void setVisible(bool visible);
+
+ virtual bool isEnabled() const;
+
+ virtual const TCHAR * getToolTip() const;
+ virtual void setToolTip(const TCHAR *tooltip);
+
+ virtual BorderState * getBorders();
+ virtual const BorderState * getBorders() const;
+
+ virtual HORIZONTAL_ALIGN getHAlign() const;
+ virtual void setHAlign(HORIZONTAL_ALIGN halign);
+
+ virtual VERTICAL_ALIGN getVAlign() const;
+ virtual void setVAlign(VERTICAL_ALIGN valign);
+
+ virtual bool isEmpty() const = 0;
+
+ // Results
+
+ virtual RECT getInsideRect(bool raw = false) const;
+ virtual RECT getRect(bool raw = false) const;
+
+protected:
+ FieldState(DialogState *dialog, Field *field);
+
+ Field *field;
+ DialogState *dialog;
+
+ Size size;
+ Position pos;
+ int usingX;
+ int usingY;
+ bool visible;
+ BorderState borders;
+ bool tooltipSet;
+ std::tstring tooltip;
+ HORIZONTAL_ALIGN halign;
+ VERTICAL_ALIGN valign;
+
+ int getHorizontalBorders() const;
+ int getVerticalBorders() const;
+
+ friend class Field;
+};
+
+
+#endif // __FIELD_STATE_H__