[tekui-devel] tekui: README: improved; Element:disconnectGlobal() now resets A...
Timm S. Mueller
tmueller at neoscientists.org
Thu May 15 00:08:40 CEST 2008
details: http://hg.teklib.org/tekui/rev/333aad91026c
changeset: 500:333aad91026c
user: Timm S. Mueller <tmueller at neoscientists.org>
date: Wed May 14 13:44:04 2008 +0200
description:
README: improved; Element:disconnectGlobal() now resets Application and Window
to false again; PopItem:disconnectGlobal() restores Application and Window
diffs (truncated from 529 to 100 lines):
diff -r c596266cb989 -r 333aad91026c README
--- a/README Wed May 14 10:08:54 2008 +0200
+++ b/README Wed May 14 13:44:04 2008 +0200
@@ -10,10 +10,11 @@
- 2. [[#overview : Technical overview]]
- 2.1. Selected features
- - 2.2. Themes
- - 2.3. C library
- - 2.4. Lua, C and object model
- - 2.5. Documentation system
+ - 2.2. Kinds of deployment
+ - 2.3. Themes
+ - 2.4. C library
+ - 2.5. Lua, C and object model
+ - 2.6. Documentation system
- 3. [[#installation : Installation]]
- 3.1. Requirements
@@ -70,9 +71,10 @@ below.
If you find this software useful, you have probably arranged to fit
it to a certain device or application - submit your additions and we
-will check them for inclusion to the source code repository. Regular
-developers are also welcome. Note, however, that if paying customers
-approach us, they will be served first and may keep us busy.
+will check them for inclusion to the public source code repository.
+Regular developers are also welcome. Note, however, that if paying
+customers approach us, they will be served first and may keep us
+busy.
=== 1.5. Authors and contact ===
@@ -100,28 +102,52 @@ looks of a host's native GUI (although t
looks of a host's native GUI (although this can be emulated to a
certain degree - see below for details).
-The only language currently supported for writing applications in is
-Lua. It is planned to surround the toolkit with an additional C
-library for making it fully generic. In this scenario, Lua would
-continue to play its role as the toolkit's notification and
-interconnection language.
-
-Note that the programming interface is nowhere complete and fully
+Note that the programming interfaces are nowhere complete and fully
stable yet, so be prepared for structural and API changes.
=== 2.1. Selected features ===
- * Automatic layouting and scalability
+ * Automatic layouting and scalability, themes
* Font-sensitivity, support for antialiased fonts
* Allows for multi-windowed and fullscreen applications
* Grids, tabs, canvases, scrollgroups, custom layout hooks
* Fully incremental refresh logic, backbuffers are not required
+ * Supplied with a documentation system supporting tekUI's object
+ model
* Works with stock (double precision), single precision and
integer versions of the Lua VM
- * Supplied with a documentation system supporting tekUI's object
- model
-
-=== 2.2. Themes ===
+
+=== 2.2. Kinds of deployment ===
+
+The only language currently supported for writing applications in is
+Lua. So, in its present state, the framework revolves around the Lua
+interpreter, and application programmers will have to use the
+existing Lua modules or create their own C bindings if they wish to
+communicate with their custom device. (Fortunately, creating C
+bindings is an easy and well-documented task in Lua. In addition to
+that, there are various examples contained in the tekUI package.)
+
+Our next development target is to fold the whole tekUI framework
+(including the interpreter, C library and some core classes) into a
+fully self-contained C library, which allows to spawn asynchronous
+"GUI tasklets" communicating with the main program via a pipe or
+socket using a highlevel application protocol. From this, we envision
+the following benefits:
+
+ * GUIs integrate smoothly even into I/O-burdened applications
+ (servers)
+ * strictest possible separation of GUI and functionality,
+ the GUI can be either a thread or a process
+ * Faulty GUI application code, as it is written in a safe language,
+ cannot crash the server, even if the device is without MMU
+
+This is why GUI creation is designed to be largely descriptive and
+data centric - no functions/lambdas are required to get a basic
+interface up and working. In this scenario, Lua would continue to
+play its role as the toolkit's notification and interconnection
+language.
+
+=== 2.3. Themes ===
The only admission to a more common appearance is that tekUI tries to
import the color scheme found in a GTK+ configuration file. It can be
@@ -133,7 +159,7 @@ possible. It is the only theme available
possible. It is the only theme available at the moment. Custom themes
More information about the tekui-devel
mailing list