- 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.ftdbmodel.showhide(is_bjs);
+ _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();
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);
}
}
}
// ---------------- 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, "");