1 static Xcls_PopoverFiles _PopoverFiles;
3 public class Xcls_PopoverFiles : Object
6 private Xcls_PopoverFiles _this;
8 public static Xcls_PopoverFiles singleton()
10 if (_PopoverFiles == null) {
11 _PopoverFiles= new Xcls_PopoverFiles();
15 public Xcls_view view;
16 public Xcls_model model;
17 public Xcls_namecol namecol;
18 public Xcls_iconsearch iconsearch;
19 public Xcls_iconscroll iconscroll;
20 public Xcls_iconview iconview;
21 public Xcls_iconmodel iconmodel;
22 public Xcls_file_container file_container;
23 public Xcls_fileview fileview;
24 public Xcls_filemodel filemodel;
25 public Xcls_filenamecol filenamecol;
28 public Xcls_MainWindow win;
29 public string lastfilter;
30 public bool in_onprojectselected;
31 public Project.Project selectedProject;
32 public bool is_loading;
33 public bool new_window;
34 public Gdk.Pixbuf missing_thumb_pixbuf;
35 public Gee.HashMap<string,Gdk.Pixbuf> image_cache;
37 public bool is_loaded;
40 public Xcls_PopoverFiles()
43 this.el = new Gtk.Popover( null );
47 this.in_onprojectselected = false;
48 this.is_loading = false;
49 this.new_window = false;
50 this.image_cache = null;
52 this.is_loaded = false;
55 this.el.width_request = 900;
56 this.el.height_request = 800;
57 this.el.hexpand = false;
59 this.el.position = Gtk.PositionType.TOP;
60 var child_0 = new Xcls_Box2( _this );
62 this.el.add ( child_0.el );
65 this.el.hide.connect( ( ) => {
68 //if (project != null) {
69 // this.selectProject(project);
71 if (_this.win.windowstate.project == null) {
77 // user defined functions
78 public void onProjectSelected (Project.Project project)
80 if (this.in_onprojectselected) {
83 this.in_onprojectselected = true;
86 this.selectedProject = project;
88 //this.clutterfiles.loadProject(proj);
92 _this.iconsearch.el.text = "";
98 //this.project_title_name.el.text = pr.name;
99 //this.project_title_path.el.text = pr.firstPath();
101 // file items contains a reference until we reload ...
105 GLib.Timeout.add(500, () => {
106 _this.iconsearch.el.grab_focus();
113 this.in_onprojectselected = false;
115 public void selectProject (Project.Project project) {
117 var sel = _this.view.el.get_selection();
122 _this.model.el.foreach((mod, path, iter) => {
125 mod.get_value(iter, 1, out val);
126 if ( ( (Project.Project)val.get_object()).fn != project.fn) {
127 print("SKIP %s != %s\n", ((Project.Project)val.get_object()).name , project.name);
128 return false;//continue
130 sel.select_iter(iter);
131 this.selectedProject = project;
132 this.onProjectSelected(project);
139 print("tried to select %s, could not find it", project.name);
142 public void show (Gtk.Widget on_el, Project.Project? project, bool new_window) {
143 //this.editor.show( file, node, ptype, key);
145 this.new_window = new_window;
148 this.el.show_all(); // show first - so we can hide stuff later.
149 if (project != null) {
151 this.selectProject(project);
156 this.win.el.get_size(out w, out h);
158 // left tree = 250, editor area = 500?
163 //var ww = on_el.get_allocated_width();
165 // width = should be max = w-ww , or 600 at best..?
167 this.el.set_size_request( w, h); // same as parent...
170 this.el.set_modal(true);
171 this.el.set_relative_to(on_el);
176 public void load () {
179 if (_this.is_loaded) {
182 _this.is_loading = true;
184 _this.is_loaded = true;
186 Project.Project.loadAll();
187 var projects = Project.Project.allProjectsByName();
190 var m = this.model.el;
193 for (var i = 0; i < projects.size; i++) {
195 m.set(iter, 0,projects.get(i).name );
197 var o = GLib.Value(typeof(Object));
198 o.set_object((Object)projects.get(i));
200 m.set_value(iter, 1, o);
203 m.set_sort_column_id(0, Gtk.SortType.ASCENDING);
204 _this.is_loading = false;
206 public void loadTreeView () {
207 var project = this.selectedProject;
209 this.filemodel.el.clear();
213 if (!(project is Project.Gtk)) {
214 //print ("not gtk... skipping files");
215 this.file_container.el.hide();
221 var filter = _this.iconsearch.el.text.down();
223 this.file_container.el.show();
224 var gpr = (Project.Gtk)project;
225 var def = gpr.compilegroups.get("_default_");
226 // not sure why the above is returng null!??
228 def = new Project.GtkValaSettings("_default_");
229 gpr.compilegroups.set("_default_", def);
231 var items = def.sources;
233 Gtk.TreeIter citer; // folder iter
234 Gtk.TreeIter fxiter; // file iter
235 for(var i =0 ; i < items.size; i++) {
236 // print ("cheking folder %s\n", items.get(i));
237 var files = gpr.filesForOpen(items.get(i));
243 if (files.size < 1) {
247 for(var j =0 ; j < files.size; j++) {
250 var ff = GLib.Path.get_basename(files.get(j)).down();
251 var dp = ff.last_index_of(".");
252 if (!ff.substring(0,dp < 0 ? ff.length :dp ).contains(filter)) {
263 this.filemodel.el.append(out citer,null);
264 this.filemodel.el.set(citer, 0, GLib.Path.get_basename(items.get(i)));
265 this.filemodel.el.set(citer, 1, null); // parent (empty as it's a folder)
268 // add the directory... items.get(i);
269 //var x = new Xcls_folderitem(this,items.get(i));
270 //this.fileitems.add(x);
271 //this.filelayout.el.add_child(x.el);
274 for(var j =0 ; j < files.size; j++) {
277 var ff = GLib.Path.get_basename(files.get(j)).down();
278 var dp = ff.last_index_of(".");
279 if (!ff.substring(0,dp < 0 ? ff.length :dp ).contains(filter)) {
285 this.filemodel.el.insert(out fxiter,citer, -1);
286 this.filemodel.el.set(fxiter, 0, GLib.Path.get_basename(files.get(j))); // filename
287 this.filemodel.el.set(fxiter, 1, files.get(j)); // Folder?
293 //this.el.set_value(citer, 1, items.get(i) );
295 _this.fileview.el.expand_all();
297 public void loadIconView () {
299 if (_this.image_cache == null) {
300 _this.image_cache = new Gee.HashMap<string,Gdk.Pixbuf>();
303 var project = this.selectedProject;
305 Gdk.Pixbuf pixbuf = null;
306 Gdk.Pixbuf bigpixbuf = null;
308 var m = this.iconmodel.el;
312 var filter = _this.iconsearch.el.text.down();
313 this.lastfilter = filter;
315 var fiter = project.sortedFiles().list_iterator();
319 if (_this.missing_thumb_pixbuf == null) {
320 var icon_theme = Gtk.IconTheme.get_default ();
321 _this.missing_thumb_pixbuf = icon_theme.load_icon ("package-x-generic", 92, 0);
322 _this.missing_thumb_pixbuf.ref();
332 while (fiter.next()) {
334 var file = fiter.get();
336 if (!file.name.down().contains(filter)) {
346 m.set(iter, 0,file ); // zero contains the file reference
347 m.set(iter, 1,file.nickType() + "\n" + file.nickName()); // marked up title?
348 m.set(iter, 2,file.nickType() ); // file type?
353 pixbuf = file.getIcon(92);
354 bigpixbuf = file.getIcon(368);
358 if (pixbuf == null) {
359 GLib.debug("PIXBUF is null? %s", file.name);
360 pixbuf = _this.missing_thumb_pixbuf;
361 bigpixbuf = _this.missing_thumb_pixbuf;
366 m.set(iter, 3,pixbuf);
367 m.set(iter, 4,bigpixbuf);
369 // this needs to add to the iconview?
371 //var a = new Xcls_fileitem(this,fiter.get());
372 //this.fileitems.add(a);
374 //this.filelayout.el.add_child(a.el);
377 public void setMainWindow (Xcls_MainWindow win) {
381 public class Xcls_Box2 : Object
384 private Xcls_PopoverFiles _this;
390 public Xcls_Box2(Xcls_PopoverFiles _owner )
393 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
397 // set gobject values
398 var child_0 = new Xcls_Box3( _this );
400 this.el.add ( child_0.el );
401 var child_1 = new Xcls_Box9( _this );
403 this.el.add ( child_1.el );
406 // user defined functions
408 public class Xcls_Box3 : Object
411 private Xcls_PopoverFiles _this;
417 public Xcls_Box3(Xcls_PopoverFiles _owner )
420 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
424 // set gobject values
425 var child_0 = new Xcls_Toolbar4( _this );
427 this.el.add ( child_0.el );
430 // user defined functions
432 public class Xcls_Toolbar4 : Object
434 public Gtk.Toolbar el;
435 private Xcls_PopoverFiles _this;
441 public Xcls_Toolbar4(Xcls_PopoverFiles _owner )
444 this.el = new Gtk.Toolbar();
448 // set gobject values
449 this.el.toolbar_style = Gtk.ToolbarStyle.BOTH;
450 var child_0 = new Xcls_ToolButton5( _this );
452 this.el.add ( child_0.el );
453 var child_1 = new Xcls_ToolButton6( _this );
455 this.el.add ( child_1.el );
456 var child_2 = new Xcls_ToolButton7( _this );
458 this.el.add ( child_2.el );
459 var child_3 = new Xcls_ToolButton8( _this );
461 this.el.add ( child_3.el );
464 // user defined functions
466 public class Xcls_ToolButton5 : Object
468 public Gtk.ToolButton el;
469 private Xcls_PopoverFiles _this;
475 public Xcls_ToolButton5(Xcls_PopoverFiles _owner )
478 this.el = new Gtk.ToolButton( null, "New Project" );
482 // set gobject values
483 this.el.icon_name = "folder-new";
486 this.el.clicked.connect( ( ) => {
488 // create a new file in project..
489 //Xcls_DialogNewComponent.singleton().show(
490 var pe = EditProject.singleton();
491 //pe.el.set_transient_for(_this.el);
492 pe.el.set_modal(true);
501 _this.win.windowstate.left_projects.is_loaded = false;
502 _this.win.windowstate.left_projects.load();
503 _this.win.windowstate.left_projects.selectProject(p);
510 // user defined functions
513 public class Xcls_ToolButton6 : Object
515 public Gtk.ToolButton el;
516 private Xcls_PopoverFiles _this;
522 public Xcls_ToolButton6(Xcls_PopoverFiles _owner )
525 this.el = new Gtk.ToolButton( null, "Project Properties" );
529 // set gobject values
530 this.el.icon_name = "emblem-system";
533 this.el.clicked.connect( ( ) => {
534 // should disable the button really.
535 if (_this.selectedProject == null) {
538 _this.win.windowstate.projectPopoverShow(this.el, _this.selectedProject);
542 // user defined functions
545 public class Xcls_ToolButton7 : Object
547 public Gtk.ToolButton el;
548 private Xcls_PopoverFiles _this;
554 public Xcls_ToolButton7(Xcls_PopoverFiles _owner )
557 this.el = new Gtk.ToolButton( null, "Delete Project" );
561 // set gobject values
562 this.el.icon_name = "user-trash";
565 this.el.clicked.connect( ( ) => {
567 var cd = DialogConfirm.singleton();
568 cd.el.set_transient_for(_this.el);
569 cd.el.set_modal(true);
571 var project = _this.windowstate.left_projects.getSelectedProject();
572 if (project == null) {
573 print("SKIP - no project\n");
578 if (Gtk.ResponseType.YES != cd.show("Confirm",
579 "Are you sure you want to delete project %s".printf(project.name))) {
585 Project.Project.remove(project);
586 _this.project = null;
588 _this.windowstate.left_projects.is_loaded = false;
589 _this.windowstate.left_projects.load();
590 _this.windowstate.clutterfiles.clearFiles();
596 // user defined functions
599 public class Xcls_ToolButton8 : Object
601 public Gtk.ToolButton el;
602 private Xcls_PopoverFiles _this;
608 public Xcls_ToolButton8(Xcls_PopoverFiles _owner )
611 this.el = new Gtk.ToolButton( null, "New File" );
615 // set gobject values
616 this.el.icon_name = "document-new";
619 this.el.clicked.connect( () => {
620 // create a new file in project..
621 print("add file selected\n");
623 if (_this.selectedProject == null) {
627 var f = JsRender.JsRender.factory(_this.selectedProject.xtype, _this.selectedProject, "");
628 _this.win.windowstate.file_details.show( f, this.el, _this.new_window );
629 } catch (JsRender.Error e) {}
634 // user defined functions
639 public class Xcls_Box9 : Object
642 private Xcls_PopoverFiles _this;
648 public Xcls_Box9(Xcls_PopoverFiles _owner )
651 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
655 // set gobject values
656 this.el.homogeneous = false;
657 var child_0 = new Xcls_ScrolledWindow10( _this );
659 this.el.add ( child_0.el );
660 var child_1 = new Xcls_Box15( _this );
662 this.el.add( child_1.el );
663 var child_2 = new Xcls_file_container( _this );
665 this.el.add ( child_2.el );
668 // user defined functions
670 public class Xcls_ScrolledWindow10 : Object
672 public Gtk.ScrolledWindow el;
673 private Xcls_PopoverFiles _this;
679 public Xcls_ScrolledWindow10(Xcls_PopoverFiles _owner )
682 this.el = new Gtk.ScrolledWindow( null, null );
686 // set gobject values
687 this.el.width_request = 150;
688 this.el.expand = true;
689 this.el.shadow_type = Gtk.ShadowType.IN;
690 var child_0 = new Xcls_view( _this );
692 this.el.add ( child_0.el );
696 this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
699 // user defined functions
701 public class Xcls_view : Object
703 public Gtk.TreeView el;
704 private Xcls_PopoverFiles _this;
710 public Xcls_view(Xcls_PopoverFiles _owner )
714 this.el = new Gtk.TreeView();
718 // set gobject values
719 this.el.enable_tree_lines = true;
720 this.el.headers_visible = true;
721 var child_0 = new Xcls_model( _this );
723 this.el.set_model ( child_0.el );
724 var child_1 = new Xcls_TreeViewColumn13( _this );
726 this.el.append_column ( child_1.el );
730 var description = new Pango.FontDescription();
731 description.set_size(9000);
732 this.el.override_font(description);
734 var selection = this.el.get_selection();
735 selection.set_mode( Gtk.SelectionMode.SINGLE);
738 this.el.cursor_changed.connect( () => {
739 if (_this.is_loading) {
746 var s = this.el.get_selection();
747 if (!s.get_selected(out mod, out iter)) {
753 mod.get_value(iter, 1 , out gval);
754 var project = (Project.Project)gval.get_object();
756 _this.onProjectSelected(project);
761 // user defined functions
763 public class Xcls_model : Object
765 public Gtk.ListStore el;
766 private Xcls_PopoverFiles _this;
772 public Xcls_model(Xcls_PopoverFiles _owner )
776 this.el = new Gtk.ListStore.newv( { typeof(string), typeof(Object) } );
780 // set gobject values
785 this.el.set_sort_func(0, (mod,a,b) => {
787 mod.get_value(a,0, out ga);
788 mod.get_value(b,0, out gb);
790 if ((string)ga == (string)gb) {
793 return (string)ga > (string)gb ? 1 : -1;
800 // user defined functions
803 public class Xcls_TreeViewColumn13 : Object
805 public Gtk.TreeViewColumn el;
806 private Xcls_PopoverFiles _this;
812 public Xcls_TreeViewColumn13(Xcls_PopoverFiles _owner )
815 this.el = new Gtk.TreeViewColumn();
819 // set gobject values
820 this.el.title = "Projects";
821 var child_0 = new Xcls_namecol( _this );
823 this.el.pack_start ( child_0.el , true );
827 this.el.add_attribute(_this.namecol.el , "markup", 0 );
830 // user defined functions
832 public class Xcls_namecol : Object
834 public Gtk.CellRendererText el;
835 private Xcls_PopoverFiles _this;
841 public Xcls_namecol(Xcls_PopoverFiles _owner )
844 _this.namecol = this;
845 this.el = new Gtk.CellRendererText();
849 // set gobject values
852 // user defined functions
858 public class Xcls_Box15 : Object
861 private Xcls_PopoverFiles _this;
867 public Xcls_Box15(Xcls_PopoverFiles _owner )
870 this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
874 // set gobject values
875 this.el.width_request = 600;
876 this.el.expand = true;
877 var child_0 = new Xcls_Box16( _this );
879 this.el.add( child_0.el );
880 var child_1 = new Xcls_iconscroll( _this );
882 this.el.add ( child_1.el );
885 // user defined functions
887 public class Xcls_Box16 : Object
890 private Xcls_PopoverFiles _this;
896 public Xcls_Box16(Xcls_PopoverFiles _owner )
899 this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
903 // set gobject values
904 this.el.hexpand = true;
905 var child_0 = new Xcls_iconsearch( _this );
907 this.el.add( child_0.el );
910 // user defined functions
912 public class Xcls_iconsearch : Object
914 public Gtk.SearchEntry el;
915 private Xcls_PopoverFiles _this;
921 public Xcls_iconsearch(Xcls_PopoverFiles _owner )
924 _this.iconsearch = this;
925 this.el = new Gtk.SearchEntry();
929 // set gobject values
930 this.el.hexpand = true;
931 this.el.placeholder_text = "type to filter results";
935 var description = Pango.FontDescription.from_string("monospace");
936 description.set_size(8000);
937 this.el.override_font(description);
940 this.el.changed.connect( ( ) => {
941 GLib.debug("Got '%s'", this.el.text);
943 if (this.el.text.down() != _this.lastfilter) {
944 _this.loadIconView();
945 _this.loadTreeView();
950 // user defined functions
954 public class Xcls_iconscroll : Object
956 public Gtk.ScrolledWindow el;
957 private Xcls_PopoverFiles _this;
963 public Xcls_iconscroll(Xcls_PopoverFiles _owner )
966 _this.iconscroll = this;
967 this.el = new Gtk.ScrolledWindow( null, null );
971 // set gobject values
972 this.el.width_request = 600;
973 this.el.expand = true;
974 this.el.shadow_type = Gtk.ShadowType.IN;
975 var child_0 = new Xcls_iconview( _this );
977 this.el.add ( child_0.el );
981 this.el.set_policy (Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
984 // user defined functions
986 public class Xcls_iconview : Object
988 public Gtk.IconView el;
989 private Xcls_PopoverFiles _this;
995 public Xcls_iconview(Xcls_PopoverFiles _owner )
998 _this.iconview = this;
999 this.el = new Gtk.IconView();
1003 // set gobject values
1004 this.el.markup_column = 1;
1005 this.el.pixbuf_column = 3;
1006 this.el.has_tooltip = true;
1007 this.el.item_width = 100;
1008 var child_0 = new Xcls_iconmodel( _this );
1010 this.el.model = child_0.el;
1019 this.el.item_activated.connect( (path) => {
1021 _this.win.windowstate.project = _this.selectedProject;
1028 this.el.model.get_iter(out iter, path);
1032 this.el.model.get_value(iter, 0 , out gval);
1033 var file = (JsRender.JsRender)gval;
1036 _this.win.windowstate.fileViewOpen(file, _this.new_window);
1041 this.el.query_tooltip.connect( (x, y, keyboard_tooltip, tooltip) => {
1044 Gtk.CellRenderer cell;
1045 _this.iconview.el.get_item_at_pos(x,y + (int) _this.iconscroll.el.vadjustment.value, out path, out cell);
1048 // GLib.debug("Tooltip? %d,%d scroll: %d",x,y, (int)_this.iconscroll.el.vadjustment.value);
1052 // GLib.debug("Tooltip? - no path");
1057 _this.iconmodel.el.get_iter(out iter, path);
1059 _this.iconmodel.el.get_value(iter, 4, out val);
1061 tooltip.set_icon((Gdk.Pixbuf) val.get_object());
1062 _this.iconview.el.set_tooltip_item(tooltip, path);
1067 // user defined functions
1069 public class Xcls_iconmodel : Object
1071 public Gtk.ListStore el;
1072 private Xcls_PopoverFiles _this;
1078 public Xcls_iconmodel(Xcls_PopoverFiles _owner )
1081 _this.iconmodel = this;
1082 this.el = new Gtk.ListStore.newv( { typeof(Object), typeof(string), typeof(string), typeof(Gdk.Pixbuf), typeof(Gdk.Pixbuf) } );
1086 // set gobject values
1089 // user defined functions
1095 public class Xcls_file_container : Object
1097 public Gtk.ScrolledWindow el;
1098 private Xcls_PopoverFiles _this;
1104 public Xcls_file_container(Xcls_PopoverFiles _owner )
1107 _this.file_container = this;
1108 this.el = new Gtk.ScrolledWindow( null, null );
1112 // set gobject values
1113 this.el.width_request = 100;
1114 this.el.expand = true;
1115 this.el.shadow_type = Gtk.ShadowType.IN;
1116 this.el.visible = false;
1117 var child_0 = new Xcls_fileview( _this );
1119 this.el.add ( child_0.el );
1123 this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
1126 // user defined functions
1128 public class Xcls_fileview : Object
1130 public Gtk.TreeView el;
1131 private Xcls_PopoverFiles _this;
1137 public Xcls_fileview(Xcls_PopoverFiles _owner )
1140 _this.fileview = this;
1141 this.el = new Gtk.TreeView();
1145 // set gobject values
1146 this.el.activate_on_single_click = false;
1147 this.el.expand = true;
1148 this.el.enable_tree_lines = true;
1149 this.el.headers_visible = true;
1150 var child_0 = new Xcls_filemodel( _this );
1152 this.el.set_model ( child_0.el );
1153 var child_1 = new Xcls_TreeViewColumn24( _this );
1155 this.el.append_column ( child_1.el );
1159 var description = new Pango.FontDescription();
1160 description.set_size(9000);
1161 this.el.override_font(description);
1163 var selection = this.el.get_selection();
1164 selection.set_mode( Gtk.SelectionMode.SINGLE);
1167 this.el.row_activated.connect( (path, col) => {
1172 this.el.model.get_iter(out iter, path);
1176 this.el.model.get_value(iter, 1 , out gval);
1177 var fn = (string)gval;
1178 if (fn.length < 1) {
1181 _this.win.windowstate.project = _this.selectedProject;
1184 var f = JsRender.JsRender.factory("PlainFile", _this.selectedProject, fn);
1185 _this.win.windowstate.fileViewOpen(f, _this.new_window);
1186 } catch (JsRender.Error e) {}
1189 this.el.cursor_changed.connect( () => {
1191 if (_this.is_loading) {
1198 var s = this.el.get_selection();
1199 if (!s.get_selected(out mod, out iter)) {
1205 mod.get_value(iter, 1 , out gval);
1206 var project = (Project.Project)gval.get_object();
1208 _this.project_selected(project);
1213 // user defined functions
1215 public class Xcls_filemodel : Object
1217 public Gtk.TreeStore el;
1218 private Xcls_PopoverFiles _this;
1224 public Xcls_filemodel(Xcls_PopoverFiles _owner )
1227 _this.filemodel = this;
1228 this.el = new Gtk.TreeStore.newv( { typeof(string), typeof(string) } );
1232 // set gobject values
1237 this.el.set_sort_func(0, (mod,a,b) => {
1239 mod.get_value(a,0, out ga);
1240 mod.get_value(b,0, out gb);
1242 if ((string)ga == (string)gb) {
1245 return (string)ga > (string)gb ? 1 : -1;
1252 // user defined functions
1255 public class Xcls_TreeViewColumn24 : Object
1257 public Gtk.TreeViewColumn el;
1258 private Xcls_PopoverFiles _this;
1264 public Xcls_TreeViewColumn24(Xcls_PopoverFiles _owner )
1267 this.el = new Gtk.TreeViewColumn();
1271 // set gobject values
1272 this.el.title = "File";
1273 var child_0 = new Xcls_filenamecol( _this );
1275 this.el.pack_start ( child_0.el , true );
1279 this.el.add_attribute(_this.filenamecol.el , "markup", 0 );
1282 // user defined functions
1284 public class Xcls_filenamecol : Object
1286 public Gtk.CellRendererText el;
1287 private Xcls_PopoverFiles _this;
1293 public Xcls_filenamecol(Xcls_PopoverFiles _owner )
1296 _this.filenamecol = this;
1297 this.el = new Gtk.CellRendererText();
1301 // set gobject values
1304 // user defined functions