[tekui-devel] tekui: Window: added MouseX/MouseY properties, HoverElement is n...

Timm S. Mueller tmueller at neoscientists.org
Fri May 9 14:26:21 CEST 2008


details:   http://hg.teklib.org/tekui/rev/7a7dfd785384
changeset: 477:7a7dfd785384
user:      Timm S. Mueller <tmueller at neoscientists.org>
date:      Fri May 09 10:16:40 2008 +0200
description:
Window: added MouseX/MouseY properties, HoverElement is now calculated only if
necessary, during MOUSEMOVE and after relayout; Object:new(): class.init() now
creates an object table if none exists; ListView: added SelectMode ("none",
"single", "multi"), SelectLine and notification; List:checkLine() added;
Group: no longer creates a lambda with each TabButton, invisible tabs now
remain with uninitialized display; Gadget: now checks for focusability before
setting Focus; Focus:getElementByXY(): simplified/sped-up; FloatText: faster
text layout; Class:getSuper() added; Animation example classes now register
their interval timer only when they are getting visible

diffs (truncated from 1004 to 100 lines):

diff -r 3932a8f576a9 -r 7a7dfd785384 bin/bashing.lua
--- a/bin/bashing.lua	Fri May 09 09:04:45 2008 +0200
+++ b/bin/bashing.lua	Fri May 09 10:16:40 2008 +0200
@@ -4,15 +4,19 @@ local db = require "tek.lib.debug"
 local db = require "tek.lib.debug"
 db.level = 4
 
-ui.application:new {
-	Children = {
-		ui.window:new {
+ui.Application:new
+{
+	Children =
+	{
+		ui.Window:new
+		{
 			GridW = 2,
-			Children = {
-				ui.lissa:new { MaxWidth = 400, MaxHeight = 200, VAlign = "bottom" },
-				ui.lissa:new { MaxWidth = 200, MaxHeight = 400 },
-				ui.lissa:new { MaxWidth = 200, MaxHeight = 400, HAlign = "right" },
-				ui.lissa:new { MaxWidth = 400, MaxHeight = 200 },
+			Children =
+			{
+				ui.Lissa:new { MaxWidth = 400, MaxHeight = 200, VAlign = "bottom" },
+				ui.Lissa:new { MaxWidth = 200, MaxHeight = 400 },
+				ui.Lissa:new { MaxWidth = 200, MaxHeight = 400, HAlign = "right" },
+				ui.Lissa:new { MaxWidth = 400, MaxHeight = 200 },
 			},
 		},
 	},
diff -r 3932a8f576a9 -r 7a7dfd785384 bin/demo.lua
--- a/bin/demo.lua	Fri May 09 09:04:45 2008 +0200
+++ b/bin/demo.lua	Fri May 09 10:16:40 2008 +0200
@@ -446,13 +446,10 @@ ui.Application:new
 							{
 								Text = [[
 									Welcome to the tekUI Demo.
-									In the list to the left you find some
-									examples to demonstrate the abilities of
-									the tekUI toolkit.
-									Please note that the whole demo is written
-									as a single constructor; no functions are
-									needed to achieve its functionality.
-								]]
+
+									In the list to the left you find some examples to demonstrate the abilities of the tekUI toolkit.
+
+									Please note that the whole demo is written as a single constructor; thanks to the inbuilt notification system, no functions are needed to perform simple interconnections. ]]
 							},
 						},
 					},
diff -r 3932a8f576a9 -r 7a7dfd785384 bin/list.lua
--- a/bin/list.lua	Fri May 09 09:04:45 2008 +0200
+++ b/bin/list.lua	Fri May 09 10:16:40 2008 +0200
@@ -23,11 +23,12 @@ ui.Application:new
 					Object = ui.ListView:new
 					{
 						Id = "the-list",
+						SelectMode = "single",
 						ListObject = ui.List:new
 						{
 							Items =
 							{
-								{ "Adramelech" },
+								{ "Adramelech", },
 								{ "Baphomet" },
 								{ "Cathedral" },
 								{ "Deeds of Flesh" },
@@ -35,7 +36,7 @@ ui.Application:new
 								{ "Fleshcrawl" },
 								{ "Gorguts" },
 								{ "Hellhammer" },
-								{ "Immolation" },
+								{ "Immolation", },
 								{ "Judas Iscariot" },
 								{ "Kampfar" },
 								{ "Limbonic Art" },
@@ -78,18 +79,17 @@ ui.Application:new
 									}
 								}
 							},
--- 							["Pressed"] =
--- 							{
--- 								[true] =
--- 								{
--- 									{
--- 										ui.NOTIFY_SELF, ui.NOTIFY_FUNCTION, function(self)
--- 											self:setValue("CursorLine", self.CursorLine)
--- 											self:getSuper():onPress()
--- 										end,
--- 									}
--- 								}
--- 							}
+							["Pressed"] =
+							{
+								[true] =
+								{
+									{
+										ui.NOTIFY_SELF, ui.NOTIFY_FUNCTION, function(self)


More information about the tekui-devel mailing list