From bb6784e0e1a385cdd20b41d3254093e89a210332 Mon Sep 17 00:00:00 2001 From: pescuma Date: Wed, 31 Dec 2008 21:12:58 +0000 Subject: skins: Added SkinLib git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@120 c086bb3d-8645-0410-b8da-73a8550f86e7 --- Plugins/skins/SkinLib/Field.h | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Plugins/skins/SkinLib/Field.h (limited to 'Plugins/skins/SkinLib/Field.h') diff --git a/Plugins/skins/SkinLib/Field.h b/Plugins/skins/SkinLib/Field.h new file mode 100644 index 0000000..76fa68d --- /dev/null +++ b/Plugins/skins/SkinLib/Field.h @@ -0,0 +1,55 @@ +#ifndef __FIELD_H__ +# define __FIELD_H__ + +#include +#include +#include "tstring.h" +#include "Size.h" +#include "Position.h" + + + +enum FieldType +{ + SIMPLE_TEXT = 1, + SIMPLE_IMAGE, + SIMPLE_ICON, + CONTROL_LABEL, + CONTROL_BUTTON, + CONTROL_EDIT, + USER_DEFINED = 0x100 +}; + +class Field; +class FieldState; + +typedef void (*FieldCallback)(void *param, const Field *field); + + +class Field +{ +public: + Field(const char *name); + virtual ~Field(); + + virtual const char * getName() const; + virtual FieldType getType() const = 0; + + virtual FieldState * createState() = 0; + + virtual void setOnChangeCallback(FieldCallback cb, void *param = NULL); + +protected: + void fireOnChange() const; + +private: + const std::string name; + + FieldCallback onChangeCallback; + void *onChangeCallbackParam; +}; + + + + +#endif // __FIELD_H__ \ No newline at end of file -- cgit v1.2.3