--- /dev/null
+/* -- to compile
+valac --pkg gio-2.0 --pkg posix --pkg gtk+-3.0 --pkg libnotify --pkg gtksourceview-3.0 --pkg libwnck-3.0 \
+ /tmp/WindowAddProp.vala -o /tmp/WindowAddProp
+*/
+
+
+/* -- to test class
+static int main (string[] args) {
+ Gtk.init (ref args);
+ new Xcls_WindowAddProp();
+ WindowAddProp.show_all();
+ Gtk.main ();
+ return 0;
+}
+*/
+
+
+public static Xcls_WindowAddProp WindowAddProp;
+
+public class Xcls_WindowAddProp : Object
+{
+ public Gtk.ScrolledWindow el;
+ private Xcls_WindowAddProp _this;
+
+ public Xcls_model model;
+ public Xcls_namecol namecol;
+ public Xcls_namerender namerender;
+
+ // my vars
+ public signal void select(string key, string type, string skel, string etype);
+
+ // ctor
+ public Xcls_WindowAddProp()
+ {
+ _this = this;
+ WindowAddProp = this;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars
+
+ // set gobject values
+ this.el.shadow_type = Gtk.ShadowType.IN;
+ var child_0 = new Xcls_TreeView2( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+
+ // init method
+ this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
+
+ }
+
+ // userdefined functions
+ public void clear() {
+ this.model.el.clear();
+
+ }
+ public void show(Palete.Palete pal, string etype, string xtype) {
+ this.model.el.clear();
+
+ Gtk.TreeIter iter;
+ var elementList = pal.getPropertiesFor( xtype,etype);
+
+
+ //print ("GOT " + elementList.length + " items for " + fullpath + "|" + type);
+ // console.dump(elementList);
+
+ var miter = elementList.map_iterator();
+ while (miter.next()) {
+ var p = miter.get_value();
+
+ this.model.el.append(out iter);
+
+ this.model.el.set(iter,
+ 0, p.name,
+ 1, p.type,
+ 2, "<b>" + p.name +"</b> <i>"+p.type+"</i>\n" +
+ GLib.Markup.escape_text(p.doctxt),
+ 3, p.sig,
+ 4, "<b>" + p.name +"</b> <span size=\"small\"><i>"+p.type+"</i></span>",
+ 5, etype,
+ -1
+ );
+ }
+ this.model.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
+
+ }
+
+ // skip |xns - no return type
+ public class Xcls_TreeView2 : Object
+ {
+ public Gtk.TreeView el;
+ private Xcls_WindowAddProp _this;
+
+
+ // my vars
+
+ // ctor
+ public Xcls_TreeView2(Xcls_WindowAddProp _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeView();
+
+ // my vars
+
+ // set gobject values
+ this.el.enable_tree_lines = true;
+ this.el.headers_visible = false;
+ this.el.tooltip_column = 2;
+ var child_0 = new Xcls_model( _this );
+ child_0.ref();
+ this.el.set_model ( child_0.el );
+ var child_1 = new Xcls_namecol( _this );
+ child_1.ref();
+ this.el.append_column ( child_1.el );
+
+ // init method
+ {
+ var description = new Pango.FontDescription();
+ description.set_size(8000);
+ this.el.modify_font(description);
+
+ this.el.get_selection().set_mode( Gtk.SelectionMode.SINGLE);
+
+
+
+
+
+ }
+
+ // listeners
+ this.el.row_activated.connect( (path, column) => {
+
+ Gtk.TreeIter iter;
+
+
+ var m = _this.model;
+
+ m.el.get_iter(out iter,path);
+
+
+ // var val = "";
+
+
+ var key = m.getValue(iter, 0);
+
+ var type = m.getValue(iter, 1);
+ var skel = m.getValue(iter, 3);
+ var etype = m.getValue(iter, 5);
+
+
+ _this.select(key,etype == "signals" ? "" : type,skel, etype);
+
+ }
+ );
+ }
+
+ // userdefined functions
+
+ // skip |xns - no return type
+ }
+ public class Xcls_model : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_WindowAddProp _this;
+
+
+ // my vars
+
+ // ctor
+ public Xcls_model(Xcls_WindowAddProp _owner )
+ {
+ _this = _owner;
+ _this.model = this;
+ this.el = new Gtk.ListStore( 6, typeof(string), // 0 real key
+typeof(string), // 1 real type
+typeof(string), // 2 docs ?
+typeof(string), // 3 visable desc
+typeof(string), // 4 function desc
+typeof(string) // 5 element type (event|prop)
+ );
+
+ // my vars
+
+ // set gobject values
+ }
+
+ // userdefined functions
+ public string getValue(Gtk.TreeIter iter, int col)
+ {
+
+ GLib.Value value;
+ this.el.get_value(iter, col, out value);
+
+ return (string)value;
+
+ }
+
+ // skip |xns - no return type
+ }
+ public class Xcls_namecol : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_WindowAddProp _this;
+
+
+ // my vars
+
+ // ctor
+ public Xcls_namecol(Xcls_WindowAddProp _owner )
+ {
+ _this = _owner;
+ _this.namecol = this;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars
+
+ // set gobject values
+ var child_0 = new Xcls_namerender( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , true );
+
+ // init method
+ this.el.add_attribute(_this.namerender.el , "markup", 4 );
+
+ }
+
+ // userdefined functions
+
+ // skip |xns - no return type
+ }
+ public class Xcls_namerender : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_WindowAddProp _this;
+
+
+ // my vars
+
+ // ctor
+ public Xcls_namerender(Xcls_WindowAddProp _owner )
+ {
+ _this = _owner;
+ _this.namerender = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars
+
+ // set gobject values
+ }
+
+ // userdefined functions
+
+ // skip |xns - no return type
+ }
+}