summaryrefslogtreecommitdiff
path: root/Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp
diff options
context:
space:
mode:
authorpescuma <pescuma@c086bb3d-8645-0410-b8da-73a8550f86e7>2008-12-31 21:12:58 +0000
committerpescuma <pescuma@c086bb3d-8645-0410-b8da-73a8550f86e7>2008-12-31 21:12:58 +0000
commitbb6784e0e1a385cdd20b41d3254093e89a210332 (patch)
treec5d9c91b42a74baa30682fcbb717116a1df9c126 /Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp
parent204a27b2f949cababbc13aff26755756987789a0 (diff)
skins: Added SkinLib
git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@120 c086bb3d-8645-0410-b8da-73a8550f86e7
Diffstat (limited to 'Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp')
-rw-r--r--Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp b/Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp
new file mode 100644
index 0000000..8a42cf5
--- /dev/null
+++ b/Plugins/skins/SkinLib/ControlFieldState_v8_wrapper.cpp
@@ -0,0 +1,38 @@
+#include "globals.h"
+#include "ControlFieldState_v8_wrapper.h"
+#include <v8.h>
+#include "ControlFieldState.h"
+#include "utf8_helpers.h"
+
+using namespace v8;
+
+
+#ifdef UNICODE
+# define V8_TCHAR uint16_t
+#else
+# define V8_TCHAR char
+#endif
+
+
+static Handle<Value> Get_ControlFieldState_text(Local<String> property, const AccessorInfo &info)
+{
+ Local<Object> self = info.Holder();
+ Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
+ ControlFieldState *tmp = (ControlFieldState *) wrap->Value();
+ return String::New((const V8_TCHAR *) tmp->getText());
+}
+
+static void Set_ControlFieldState_text(Local<String> property, Local<Value> value, const AccessorInfo& info)
+{
+ Local<Object> self = info.Holder();
+ Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
+ ControlFieldState *tmp = (ControlFieldState *) wrap->Value();
+ String::Utf8Value utf8_value(value);
+ tmp->setText(Utf8ToTchar(*utf8_value));
+}
+
+
+void AddControlFieldStateAcessors(Handle<ObjectTemplate> &templ)
+{
+ templ->SetAccessor(String::New("text"), Get_ControlFieldState_text, Set_ControlFieldState_text);
+}