*
* write readers..
*
- * usage: seed generate.js
+ * usage: seed generate.js
+ *
+ *
+ *
+ *
+ *Hack needed to latest GLib-2.0.gir
+ *
+ * <record name="KeyFile" c:type="GKeyFile" disguised="1">
+ <constructor name="new" c:identifier="g_key_file_new">
+ <return-value transfer-ownership="full">
+ <type name="KeyFile" c:type="GKeyFile*"/>
+ </return-value>
+ </constructor>
+ *
+ *
+ * remove introspectable =0 from g_key_file_get_groups
+ * and add transfer-owneership = none to return value
+ * remove introspectable =0 from g_key_file_get_keys
+ * and add transfer-owneership = none to return value*
*
*/
Gda = imports.gi.Gda;
File = imports.File.File;
Options = imports.Options.Options;
-Gda.init();
+//Gda.init();
var prov = Gda.Config.list_providers ();
//print(prov.dump_as_string());
var map = {
'date' : 'date',
- 'datetime' : 'string',
+ 'datetime' : 'date',
+ 'time' : 'string', //bogus
'int' : 'int',
'bigint' : 'int',
-
+ 'double' : 'float',
'tinyint' : 'int',
+ 'smallint' : 'int',
'decimal' : 'float',
'float' : 'float',
'char' : 'string',
var groups = key_file.get_groups();
groups.forEach(function(g) {
ini[g] = {}
-
+ print("KEY:"+g);
var keys = key_file.get_keys(g);
- keys.forEach(function(k) {
+ if (!keys) { return; }
+ keys.forEach(function(k) {
ini[g][k] = key_file.get_value(g,k);
})
})
}
}
+
if (File.isDirectory(cfg.INI)) {
var dir = GLib.get_home_dir() + '/.Builder/Roo.data.JsonReader';
if (!File.isDirectory(dir)) {
+ print("mkdir " + dir);
File.mkdir(dir);
}
root : "data",
'*prop' : "reader",
id : 'id', // maybe no..
+
'|fields' : JSON.stringify(reader.reader, null,4).replace(/"/g,"'")
};
// GRIDS
dir = GLib.get_home_dir() + '/.Builder/Roo.GridPanel';
if (!File.isDirectory(dir)) {
+ print("mkdir " + dir);
File.mkdir(dir);
}
"fitContainer": true,
"tableName": reader.table,
"background": true,
+ "region" : 'center',
"listeners": {
"|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}"
},
"listeners": {
"|render": "function() \n" +
"{\n" +
- " _this.grid = this; \n" +
+ " _this.grid = this; \n" +
" //_this.dialog = Pman.Dialog.FILL_IN\n" +
" if (_this.panel.active) {\n" +
" this.footer.onClick('first');\n" +
" }\n" +
- "}"
+ "}",
+ "|rowdblclick": "function (_self, rowIndex, e)\n" +
+ "{\n" +
+ " if (!_this.dialog) return;\n" +
+ " _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n" +
+ " _this.grid.footer.onClick('first');\n" +
+ " }); \n" +
+ "}\n"
},
"|xns": "Roo.grid",
{
"*prop": "dataSource",
"xtype": "Store",
-
+ remoteSort : true,
+ '|sortInfo' : "{ field : '" + reader.firstTxtCol + "', direction: 'ASC' }",
"|xns": "Roo.data",
"items": [
"listeners": {
"|click": "function()\n"+
"{\n"+
- " //yourdialog.show( { id : 0 } , function() {\n"+
- " // _this.grid.footer.onClick('first');\n"+
- " //}); \n"+
+ " if (!_this.dialog) return;\n" +
+ " _this.dialog.show( { id : 0 } , function() {\n"+
+ " _this.grid.footer.onClick('first');\n"+
+ " }); \n"+
"}\n"
},
"|xns": "Roo.Toolbar"
" Roo.MessageBox.alert(\"Error\", s.length ? \"Select only one Row\" : \"Select a Row\");\n"+
" return;\n"+
" }\n"+
- " \n"+
- " //_this.dialog.show(s[0].data, function() {\n"+
- " // _this.grid.footer.onClick('first');\n"+
- " // }); \n"+
+ " if (!_this.dialog) return;\n" +
+ " _this.dialog.show(s[0].data, function() {\n"+
+ " _this.grid.footer.onClick('first');\n"+
+ " }); \n"+
" \n"+
"}\n"
"listeners": {
"|click": "function()\n"+
"{\n"+
- " //Pman.genericDelete(_this, _this.grid.tableName); \n"+
+ " Pman.genericDelete(_this, '" + reader.table + "'); \n"+
"}\n"+
" "
},
dir = GLib.get_home_dir() + '/.Builder/Roo.form.Form';
if (!File.isDirectory(dir)) {
+ print("mkdir " + dir);
File.mkdir(dir);
}
var formElements = [];
+ var formHeight = 50;
for (var k in reader.form) {
if (k == 'id') { // should really do primary key testing..
continue;
}
+ formHeight += reader.form[k].xtype == 'TextArea' ? 100 : 30;
+
formElements.push(reader.form[k]);
}
- formElements.push(reader.form['id']);
+ if (reader.form['id']) {
+ formElements.push(reader.form['id']);
+ }
+
print("WRITE: " + dir + '/' + cfg.DBNAME + '_' + reader.table + '.json');
var frmCfg =
dir = GLib.get_home_dir() + '/.Builder/Roo.form.ComboBox';
if (!File.isDirectory(dir)) {
+ print("mkdir " + dir);
File.mkdir(dir);
}
dir = GLib.get_home_dir() + '/.Builder/Roo.LayoutDialog';
if (!File.isDirectory(dir)) {
+ print("mkdir " + dir);
File.mkdir(dir);
}
var formElements = [];
"closable": false,
"collapsible": false,
- "height": 120,
+ "height": formHeight,
"resizable": false,
- "title": "Edit / Create Port",
+ "title": "Edit / Create " + reader.table,
"width": 400,
"xtype": "LayoutDialog",
"|xns": "Roo",