dbgenerate.js
[app.Builder.js] / README.txt
1 App Builder
2
3 This is a Seed based application builder.. - currently basically a prototype..
4
5
6 The idea is that it can build applications both web based (using roojs) and Desktop based using Gtk
7 and the gobject introspection bindings.
8
9 It's kind of like Glade on steroids..
10
11 ----------------------------------------------------
12 Usage:
13
14 seed gtkrun.js Builder
15
16 -> create a project
17 -> add a folder to the project
18 -> add a file to the project..
19 Files are JSON data files at present.. 
20
21 -----------------------------------------------------
22 Where it is..
23
24 * basic builder app runs - you can build a tree of elements making up a interface for roo and gtk.
25 * listeners are  created correctly.
26 * listeners with gtk prototypes
27 * Gtk properties that are enums - now show a combo selector..
28 * application is used to write itself...
29 * Projects can be created and deleted (basically a directory)
30 * sourceview to uses spaces rather than tabs. (and autoindents..)
31 * Help view - load docs..
32 * highlight in gtk preview - works but is klunky..
33 * Support for extra code in Roo HTML is done by "Set extra HTML in rendere"
34 -----------------------------------------------------
35
36 TODO (Gtk)
37 * Tables are not rendering first time round..
38 * Dialog buttons - need special rendering on preview.
39 * Icon-size (should be an enum...??)
40 * (Image|....??? ).stock - should be a list of stock icons..
41 * fix pulldowns for types.. - it's a bit hap hazard with the delayed / loading of settings.
42 * packing - gather from methods to find out which match.. (including false)
43 * adding a file does not display on project tree straight awya..
44 * templates for elements... - eg. defaults for classic elements.
45 * sort out add heirachy for Gtk..
46 * Project Tree needs to work perhaps like a left hand popout.
47 * make heirachy editor...
48 * new file = should specify type (eg. gtk window etc..)
49 * Help view - next/back.. url?
50 -----------------------------------------------------
51
52 TODO (Roo)
53 * file properties - title, parent etc..
54
55 -----------------------------------------------------
56
57 Thoughts...
58 * Widget definition files.. (to replace our 'Usage.txt' files)
59 -> defaults  { ... }
60 -> onAdd(name_of_parent, cfg) { modifies defaults.. }
61 -> validParents : [ .... ]
62 -> validChildren???: [ .... ]
63
64 * how to handle stuff like GtkTable.. - 
65  - needs cols,rows in constructor.
66  - child properties do not appear to work?  -- investigate?
67
68 * XObject - Use Buildable interface???
69   
70 * Preview area - use glade widgets?
71
72 -----------------------------------------------------
73 Concepts
74
75 Basically both Roo and JS are built using a tree of elements (tagged with xtype/xns)
76 sub elements always go in the items array..
77 we have some special properties of elements, eg.
78
79 *prop (a property of the parent)
80 xtype (element type) eg. Window / Button etc..
81 |xns  (namespace) = eg. Gtk/Roo etc.
82
83 |**** anything starting with a pipe is raw data field rather than quoted..
84
85
86 each element can have a property listeners which is where the listeners go...
87
88