summaryrefslogtreecommitdiff
path: root/client/NOTES
diff options
context:
space:
mode:
authordeva <deva>2008-06-03 14:45:48 +0000
committerdeva <deva>2008-06-03 14:45:48 +0000
commit0febf6ea9cbd1a6e04e41339fc46d2e6b07da5e7 (patch)
treeda9cee1a15609b8aa2ed556160c5660819621db2 /client/NOTES
parentbb3fad646f94739a876869464a484c99795bce61 (diff)
LUA rocks
Diffstat (limited to 'client/NOTES')
-rw-r--r--client/NOTES66
1 files changed, 66 insertions, 0 deletions
diff --git a/client/NOTES b/client/NOTES
new file mode 100644
index 0000000..34b730b
--- /dev/null
+++ b/client/NOTES
@@ -0,0 +1,66 @@
+-*- auto-fill -*-
+#############################
+# LUA programmer i klienten #
+#############################
+OnChanged eventen kan som udgangspunkt daekke alle behov for
+udfoerelse af LUA kode.
+
+OnChanged lua koden skal returnere en boolean som er true hvis feltet
+er valid, eller false hvis det ikke er.
+
+Der skal stilles en raekke metoder til raadighed for programmerne, som
+kan interagere med felterne i makroen.
+ - getValue(feltnavn)
+ - setValue(feltnavn)
+
+Feltets egen vaerdig skal vaere tilknyttet lua variables 'value' saa
+det er let at lave simpel validering af feltets vaerdi.
+
+Der skal som udgangspunkt kun vaere et LUA objekt pr. macro, for at
+sikre gode svartider. Naar et nyt program skal udfoeres skal stakken
+saaledes kunne genbruges (tidligere vaerdier skal fjernes og nye skal
+indsaettes).
+
+LUA programmerne i XML'en:
+<lineedit name="linse4"
+ regexp="[24]*"
+ map="axis"
+ lua_validator="if( tonumber(value) == 42 ) then return true else return false end"
+ value="90K"/>
+
+eller maaske
+
+<lineedit name="linse4"
+ regexp="[24]*"
+ map="axis"
+ value="90K">
+ if( tonumber(value) == 42 )
+ then
+ return true
+ else
+ return false
+ end
+</lineedit>
+
+eller en loesning inspireret af query/maps paa serveren:
+<luaprograms>
+ <luaprogram name="dims">
+ if( tonumber(value) == 42 )
+ then
+ return true
+ else
+ return false
+ end
+ </luaprogram>
+</luaprograms>
+<lineedit name="linse4"
+ regexp="[24]*"
+ map="axis"
+ lua="dims"
+ value="90K"/>
+
+Det skal helt klart vaere sidstnaevnte!
+
+Der kan laves sanity checks paa runtime for at sikre at der ikke
+opstaar uendelige ulykker.
+F.eks kan man checke om man er i gang med setValue paa feltet selv. \ No newline at end of file