From 2b8bae453f611a0360046081288309ebaa87ff4c Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 3 Apr 2014 04:41:43 +1000 Subject: Docs++ --- ClientHamr/GuiLua/README | 27 +++++++++++++++++++-------- ClientHamr/GuiLua/skang.lua | 6 ++++++ 2 files changed, 25 insertions(+), 8 deletions(-) (limited to 'ClientHamr') diff --git a/ClientHamr/GuiLua/README b/ClientHamr/GuiLua/README index 72c1069..f60d7b2 100644 --- a/ClientHamr/GuiLua/README +++ b/ClientHamr/GuiLua/README @@ -1,11 +1,16 @@ GuiLua is basically a redo of my ancient Java based matrix-RAD system, -but using Lua and EFL. The ultimate goal is for the various ClientHamr -parts to be able to either host their own UI, or have it hosted in the -in world 3D window. Matrix-RAD's ability to run either server or client -side, with no change to the code, is great for this sort of thing. If I -can manage the ability to "tear off" windows, in other words, pull them -out of the 3D window to be real windows, then that's something people -have been asking for from LL forever. +but using Lua and EFL. Lua is entirely different from Java, and Lua +doesn't run in web browsers, so this version has similar concepts, and +similar names, it's not exactly the same. It's more accurate to say +this is in the spirit of matrix-RAD. + +The ultimate goal is for the various ClientHamr parts to be able to +either host their own UI, or have it hosted in the in world 3D window. +Matrix-RAD's ability to run either server or client side, with no change +to the code, is great for this sort of thing. If I can manage the +ability to "tear off" windows, in other words, pull them out of the 3D +window to be real windows, then that's something people have been asking +for from LL forever. Stdin/out might be good to use. Extantz starts up "client" programs, with a "use stdin/out" argument, the clients pass skang commands (open @@ -37,6 +42,10 @@ Initially GuiLua can wrap elementary / evas, with the goal of wrapping NAWS, just like matrix-RAD was originally planned. Then I can put off writing NAWS for another decade. lol +Might be nice to have a wrapper that is a web server that generates +standard HTML forms. No JavaScript, no HTML5, just plain old, +compatible with everything, HTML forms. + Design notes ------------ @@ -47,7 +56,9 @@ probably can deal with that though, I'm not familiar enough with them to know. Eo on the other hand allegedly offers introspection, which was always the corner stone of matrix-RAD. So access to elementary widgets via Eo might be possible. That's kinda the entire hook I'm hoping will -help to make matrix-RAD style stuff work as well as it did there. +help to make matrix-RAD style stuff work as well as it did there. +Apparently when they promised introspection with Eo, they meant compile +time, not run time. Edje Lua is restricted to scripts in edje files, AND sandboxed to those edje files as well. We want to step outside that sandbox, and run stand diff --git a/ClientHamr/GuiLua/skang.lua b/ClientHamr/GuiLua/skang.lua index b36b8a3..674f8f9 100644 --- a/ClientHamr/GuiLua/skang.lua +++ b/ClientHamr/GuiLua/skang.lua @@ -332,6 +332,12 @@ A parent is free to use it's own name space for anything it wants. Only the variables it specifies as managed Things are dealt with here. +Things that are tables are treated differently, in two different ways even. +Ordinary table Things are basically treated recursively, the table is a parent, and it gets it's own Things. +There is also 'Keyed' type table Things, where the keys to this table are arbitrary, but we still want to store Things in it. +In this case, when a table is assigned to this Keyed Thing, via a new key, a new table Thing is created by copying the parent Thing description. + + TODO - test.foo -> test.__index(test, 'foo') -> test.__values[foo]; if that's nil, and test.stuff[foo], then return an empty table instead? stuff.s = {a='foo'} -> changes a, deletes everything else, or should. -- cgit v1.1