summaryrefslogtreecommitdiff
path: root/Plugins/skins/SkinLib/V8Wrappers.h
diff options
context:
space:
mode:
Diffstat (limited to 'Plugins/skins/SkinLib/V8Wrappers.h')
-rw-r--r--Plugins/skins/SkinLib/V8Wrappers.h65
1 files changed, 11 insertions, 54 deletions
diff --git a/Plugins/skins/SkinLib/V8Wrappers.h b/Plugins/skins/SkinLib/V8Wrappers.h
index 01781f7..4b7a672 100644
--- a/Plugins/skins/SkinLib/V8Wrappers.h
+++ b/Plugins/skins/SkinLib/V8Wrappers.h
@@ -1,70 +1,27 @@
#ifndef __V8_WRAPPERS_H__
# define __V8_WRAPPERS_H__
-#include <v8.h>
-#include <map>
-#include "DialogState.h"
-#include "TextFieldState.h"
-#include "ImageFieldState.h"
-#include "IconFieldState.h"
-#include "LabelFieldState.h"
-#include "ButtonFieldState.h"
-#include "EditFieldState.h"
+#include "V8Templates.h"
#include "SkinOptions.h"
-#ifdef UNICODE
-# define V8_TCHAR uint16_t
-#else
-# define V8_TCHAR char
-#endif
-class V8Wrappers
+class V8Wrappers : public V8Templates
{
public:
- v8::Handle<v8::Object> createDialogWrapper();
- v8::Handle<v8::Object> createOptionsWrapper();
- v8::Handle<v8::Object> createOptionWrapper();
- v8::Handle<v8::Object> createWrapper(FieldType type);
+ virtual v8::Handle<v8::Object> newState(FieldType type);
+ virtual void fillState(v8::Handle<v8::Object> obj, FieldState *state);
- v8::Handle<v8::Object> fillWrapper(v8::Handle<v8::Object> obj, FieldState *state);
- v8::Handle<v8::Object> fillWrapper(v8::Handle<v8::Object> obj, DialogState *state);
- v8::Handle<v8::Object> fillWrapper(v8::Handle<v8::Object> obj, SkinOptions *opts, bool configure);
- v8::Handle<v8::Object> fillWrapper(v8::Handle<v8::Object> obj, SkinOption *opt);
-
- void clearTemplates();
+ virtual v8::Handle<v8::ObjectTemplate> getOptionsTemplate();
+ virtual v8::Handle<v8::Object> newOptions();
+ virtual void fillOptions(v8::Handle<v8::Object> v8Obj, SkinOptions *obj, bool configure);
private:
- std::map<int, v8::Handle<v8::ObjectTemplate>> templs;
-
- void createDialogTemplate();
- void createOptionsTemplate();
- void createOptionTemplate();
- void createTemplateFor(FieldType type);
-
- void createTextTemplate();
- void createImageTemplate();
- void createIconTemplate();
- void createLabelTemplate();
- void createButtonTemplate();
- void createEditTemplate();
- void createFontTemplate();
- void createBorderTemplate();
-
- v8::Handle<v8::Object> createTextWrapper();
- v8::Handle<v8::Object> createImageWrapper();
- v8::Handle<v8::Object> createIconWrapper();
- v8::Handle<v8::Object> createLabelWrapper();
- v8::Handle<v8::Object> createButtonWrapper();
- v8::Handle<v8::Object> createEditWrapper();
+ v8::Persistent<v8::ObjectTemplate> optionsTemplate;
- v8::Handle<v8::Object> fillTextWrapper(v8::Handle<v8::Object> obj, TextFieldState *state);
- v8::Handle<v8::Object> fillImageWrapper(v8::Handle<v8::Object> obj, ImageFieldState *state);
- v8::Handle<v8::Object> fillIconWrapper(v8::Handle<v8::Object> obj, IconFieldState *state);
- v8::Handle<v8::Object> fillLabelWrapper(v8::Handle<v8::Object> obj, LabelFieldState *state);
- v8::Handle<v8::Object> fillButtonWrapper(v8::Handle<v8::Object> obj, ButtonFieldState *state);
- v8::Handle<v8::Object> fillEditWrapper(v8::Handle<v8::Object> obj, EditFieldState *state);
+protected:
+ virtual void addGlobalTemplateFields(v8::Handle<v8::ObjectTemplate> &templ);
- v8::Handle<v8::Object> newInstance(int type);
+ virtual void addSkinOptionTemplateFields(v8::Handle<v8::ObjectTemplate> &templ);
};