"* pack" : "add",
"items" : [
{
- "$ columns" : "typeof(string),typeof(string)",
+ "$ columns" : "typeof(string),typeof(string),typeof(Gdk.Pixbuf)",
"$ xns" : "Gtk",
"* pack" : "set_model",
"id" : "model",
{
"$ xns" : "Gtk",
"* init" : [
- " this.el.add_attribute(_this.txtrender.el , \"markup\", 1 );",
- " ",
+ "this.el.add_attribute(_this.txtrender.el , \"markup\", 1 );",
+ "this.el.add_attribute(_this.iconrender.el , \"pixbuf\", 2 );",
""
],
"* pack" : "append_column",
"items" : [
+ {
+ "$ xns" : "Gtk",
+ "* pack" : "pack_start,true",
+ "id" : "iconrenderer",
+ "xtype" : "CellRendererPixbuf"
+ },
{
"$ xns" : "Gtk",
"* pack" : "pack_start,true",
"",
"",
" Gtk.TreeIter citer;",
+ " var ic = Gtk.IconTheme.get_default();",
+ "\tvar pixdef = ic.load_icon(\"emblem-new\", 32,0);",
"",
" for(var i =0 ; i < tr.length; i++) {",
" this.model.el.append(out citer); ",
" var dname = tr[i];",
+ " var cls = dname;",
" if (dname.contains(\":\")) {",
"\t\t\tvar ar = dname.split(\":\");",
"\t\t\tdname = \"<b>\" + ar[1] +\"</b> - <i>\"+ar[0]+\"</i>\";",
+ "\t\t\tcls = ar[1]; /// possibly?",
"\t\t}",
" ",
" this.model.el.set_value(citer, 0, tr[i] ); // used data. ",
" this.model.el.set_value(citer, 1, dname ); // displayed value.",
" ",
+ " var clsb = cls.split(\".\");",
+ " var sub = clsb.length > 1 ? clsb[1].down() : \"\";",
+ " ",
+ " var pix = pixdef;",
+ " var fn = \"/usr/share/glade/pixmaps/hicolor/22x22/actions/widget-gtk-\" + sub;",
+ " if (FileUtils.test (fn, FileTest.IS_REGULAR)) {",
+ "\t pix = Gdk.Pixbuf.from_file (fn)",
+ " }",
+ " ",
+ " ",
+ " this.model.el.set_value(citer, 2, pix );",
+ " ",
+ " ",
" }",
" this.model.el.set_sort_column_id(1,Gtk.SortType.ASCENDING);",
" ",
return _PopoverAddObject;
}
public Xcls_model model;
+ public Xcls_iconrenderer iconrenderer;
public Xcls_txtrender txtrender;
// my vars (def)
Gtk.TreeIter citer;
+ var ic = Gtk.IconTheme.get_default();
+ var pixdef = ic.load_icon("emblem-new", 32,0);
for(var i =0 ; i < tr.length; i++) {
this.model.el.append(out citer);
var dname = tr[i];
+ var cls = dname;
if (dname.contains(":")) {
var ar = dname.split(":");
dname = "<b>" + ar[1] +"</b> - <i>"+ar[0]+"</i>";
+ cls = ar[1]; /// possibly?
}
this.model.el.set_value(citer, 0, tr[i] ); // used data.
this.model.el.set_value(citer, 1, dname ); // displayed value.
+ var clsb = cls.split(".");
+ var sub = clsb.length > 1 ? clsb[1].down() : "";
+
+ var pix = pixdef;
+ var fn = "/usr/share/glade/pixmaps/hicolor/22x22/actions/widget-gtk-" + sub;
+ if (FileUtils.test (fn, FileTest.IS_REGULAR)) {
+ pix = Gdk.Pixbuf.from_file (fn)
+ }
+
+
+ this.model.el.set_value(citer, 2, pix );
+
+
}
this.model.el.set_sort_column_id(1,Gtk.SortType.ASCENDING);
{
_this = _owner;
_this.model = this;
- this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
+ this.el = new Gtk.ListStore( 2, typeof(string),typeof(string),typeof(Gdk.Pixbuf) );
// my vars (dec)
// set gobject values
this.el.title = "Drag to add Object";
- var child_0 = new Xcls_txtrender( _this );
+ var child_0 = new Xcls_iconrenderer( _this );
child_0.ref();
this.el.pack_start ( child_0.el , true );
+ var child_1 = new Xcls_txtrender( _this );
+ child_1.ref();
+ this.el.pack_start ( child_1.el , true );
// init method
this.el.add_attribute(_this.txtrender.el , "markup", 1 );
+ this.el.add_attribute(_this.iconrender.el , "pixbuf", 2 );
}
// user defined functions
}
+ public class Xcls_iconrenderer : Object
+ {
+ public Gtk.CellRendererPixbuf el;
+ private Xcls_PopoverAddObject _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_iconrenderer(Xcls_PopoverAddObject _owner )
+ {
+ _this = _owner;
+ _this.iconrenderer = this;
+ this.el = new Gtk.CellRendererPixbuf();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
public class Xcls_txtrender : Object
{
public Gtk.CellRendererText el;