- if (c.path.length > 0) {
-
- this.save_btn.el.set_label("Save");
- } else {
- this.save_btn.el.set_label("Create");
-
-
- }
var ar = new Gee.ArrayList<string>();
_this.dbmodel.loadData(ar,"");
if (c.path.length > 0) {
+ this.save_btn.el.set_label("Save");
_this.filetype.el.hide();
_this.filetypelbl.el.hide();
-
+ _this.filetype.showhide(true); // as we only work on bjs files currently
} else {
-
+ this.save_btn.el.set_label("Create");
_this.ftdbmodel.loadData("bjs"); // fixme - need to determine type..
_this.filetype.el.show();
_this.filetypelbl.el.show();
var child_1 = new Xcls_grid( _this );
child_1.ref();
this.el.pack_start ( child_1.el , false,false,4 );
- var child_2 = new Xcls_Label29( _this );
+ var child_2 = new Xcls_HButtonBox29( _this );
child_2.ref();
- this.el.attach ( child_2.el , 0,7,1,1 );
- var child_3 = new Xcls_HButtonBox30( _this );
- child_3.ref();
- this.el.pack_end ( child_3.el , false,true,0 );
+ this.el.pack_end ( child_2.el , false,true,0 );
}
// user defined functions
is_bjs = ((string)vfname) == "bjs";
}
- for (var i = 2; i < 8;i++) {
- var el = _this.grid.el.get_child_at(0,i);
- if (is_bjs) {
- el.show();
- } else {
- el.hide();
- }
- el = _this.grid.el.get_child_at(1,i);
- if (is_bjs) {
- el.show();
- } else {
- el.hide();
- }
- }
-
-
+
+ // directory is only available for non-bjs
+ this.showhide(is_bjs);
});
}
// user defined functions
+ public void showhide (bool is_bjs) {
+ for (var i = 2; i < 9;i++) {
+ var el = _this.grid.el.get_child_at(0,i);
+
+ var showhide= is_bjs;
+ if (i> 7) {
+ showhide = !showhide;
+ }
+
+ if (showhide) {
+ el.show();
+ } else {
+ el.hide();
+ }
+ el = _this.grid.el.get_child_at(1,i);
+ if (showhide) {
+ el.show();
+ } else {
+ el.hide();
+ }
+ }
+ // load up the directories
+ //??? why can we not create bjs files in other directories??
+ if (!is_bjs && _this.file.path.length < 1) {
+ _this.dirmodel.loadData();
+
+
+ }
+
+
+ }
}
public class Xcls_ftdbcellrenderer : Object
{
}
// user defined functions
- public void loadData (Gee.ArrayList<string> data, string cur) {
+ public void loadData () {
+
+
+
this.el.clear();
+
+ if (!(_this.project is Project.Gtk)) {
+ return;
+ }
+ var sd = ((Project.Gtk)_this.project).sourcedirs();
+
Gtk.TreeIter iter;
var el = this.el;
// el.set_value(iter, 0, "");
// el.set_value(iter, 1, "aaa - Just add Element - aaa");
- el.append(out iter);
+ // el.append(out iter);
- el.set_value(iter, 0, "");
- el.set_value(iter, 1, "-- select a module --");
- _this.build_module.el.set_active_iter(iter);
+ // el.set_value(iter, 0, "");
+ // el.set_value(iter, 1, "-- select a directoyr --");
+ //_this.build_module.el.set_active_iter(iter);
- for (var i = 0; i < data.size;i++) {
+ for (var i = 0; i < sd.length;i++) {
el.append(out iter);
- el.set_value(iter, 0, data.get(i));
- el.set_value(iter, 1, data.get(i));
+ el.set_value(iter, 0, sd[i]);
+ el.set_value(iter, 1, sd[i]);
- if (data.get(i) == cur) {
- _this.build_module.el.set_active_iter(iter);
- }
+ //if (data.get(i) == cur) {
+ // _this.build_module.el.set_active_iter(iter);
+ // }
}
- this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);
+ // this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);
}
}
- public class Xcls_Label29 : Object
- {
- public Gtk.Label el;
- private Xcls_PopoverFileDetails _this;
-
-
- // my vars (def)
-
- // ctor
- public Xcls_Label29(Xcls_PopoverFileDetails _owner )
- {
- _this = _owner;
- this.el = new Gtk.Label( "Module to build (Vala only)" );
-
- // my vars (dec)
-
- // set gobject values
- this.el.justify = Gtk.Justification.RIGHT;
- this.el.xalign = 0.900000f;
- this.el.visible = true;
- }
-
- // user defined functions
- }
-
- public class Xcls_HButtonBox30 : Object
+ public class Xcls_HButtonBox29 : Object
{
public Gtk.HButtonBox el;
private Xcls_PopoverFileDetails _this;
// my vars (def)
// ctor
- public Xcls_HButtonBox30(Xcls_PopoverFileDetails _owner )
+ public Xcls_HButtonBox29(Xcls_PopoverFileDetails _owner )
{
_this = _owner;
this.el = new Gtk.HButtonBox();
this.el.margin_right = 4;
this.el.margin_left = 4;
this.el.margin_bottom = 4;
- var child_0 = new Xcls_Button31( _this );
+ var child_0 = new Xcls_Button30( _this );
child_0.ref();
this.el.add ( child_0.el );
var child_1 = new Xcls_save_btn( _this );
// user defined functions
}
- public class Xcls_Button31 : Object
+ public class Xcls_Button30 : Object
{
public Gtk.Button el;
private Xcls_PopoverFileDetails _this;
// my vars (def)
// ctor
- public Xcls_Button31(Xcls_PopoverFileDetails _owner )
+ public Xcls_Button30(Xcls_PopoverFileDetails _owner )
{
_this = _owner;
this.el = new Gtk.Button();
}
// ---------------- NEW FILES...
-
- var fn = _this.name.el.get_text();
- var dir = _this.project.firstPath(); // fixme.. should be based on a pulldown?
-
- var targetfile = dir + "/" + fn;
-
- // strip the file type off the end..
Gtk.TreeIter iter;
if (!_this.filetype.el.get_active_iter(out iter)) {
_this.mainwindow.el,
"You must select a file type. "
);
+ return;
+
}
+
+
+ var fn = _this.name.el.get_text();
+
Value ftypename;
_this.ftdbmodel.el.get_value (iter, 0, out ftypename);
var ext = ((string)ftypename);
+ var dir = _this.project.firstPath();
+ if (ext != "bjs") {
+
+ if (!_this.dir.el.get_active_iter(out iter)) {
+ // should not happen...
+ // so we are jut going to return without
+ StandardErrorDialog.show(
+ _this.mainwindow.el,
+ "You must select a directory "
+ );
+ return;
+ }
+ Value vdir;
+ _this.dirmodel.el.get_value (iter, 0, out vdir);
+ dir = (string)vdir;
+ }
+
+ var targetfile = dir + "/" + fn;
+
+ // strip the file type off the end..
+
var rx = new GLib.Regex("\\." + ext + "$",GLib.RegexCompileFlags.CASELESS);
targetfile = rx.replace(targetfile, targetfile.length, 0, "");