158deed18b5d5864cac8efd38db831ef71530d64
[roobuilder] / src / Builder4 / PopoverFileDetails.bjs
1 {
2  "build_module" : "builder",
3  "gen_extended" : false,
4  "items" : [
5   {
6    "# JsRender.JsRender file" : "null",
7    "# Project.Project project" : "",
8    "# bool new_window" : true,
9    "$ xns" : "Gtk",
10    "@ void success" : "(Project.Project pr, JsRender.JsRender file)",
11    "Xcls_MainWindow mainwindow" : "null",
12    "bool done" : false,
13    "bool modal" : true,
14    "id" : "PopoverFileDetails",
15    "items" : [
16     {
17      "$ pack" : "add",
18      "$ xns" : "Gtk",
19      "* pack" : "set_child",
20      "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
21      "bool hexpand" : true,
22      "bool homogeneous" : false,
23      "int margin_bottom" : 4,
24      "int margin_end" : 4,
25      "int margin_start" : 4,
26      "int margin_top" : 4,
27      "items" : [
28       {
29        "$ xns" : "Gtk",
30        "* columns" : 2,
31        "* pack" : "append",
32        "bool hexpand" : true,
33        "id" : "grid",
34        "int column_spacing" : 4,
35        "int margin_end" : 4,
36        "int margin_start" : 4,
37        "items" : [
38         {
39          "$ justify" : "Gtk.Justification.RIGHT",
40          "$ visible" : true,
41          "$ xns" : "Gtk",
42          "id" : "dir_dropdown_lbl",
43          "label" : "Create File in this Directory",
44          "x_options" : 4,
45          "xalign" : 0.90000000000000002,
46          "xtype" : "Label"
47         },
48         {
49          "$ xns" : "Gtk",
50          "id" : "dir_dropdown",
51          "int colspan" : 1,
52          "items" : [
53           {
54            "$ xns" : "Gtk",
55            "* prop" : "model",
56            "id" : "dir_model",
57            "strings" : "{}",
58            "xtype" : "StringList"
59           }
60          ],
61          "xtype" : "DropDown",
62          "| string getValue" : [
63           "() {",
64           "\treturn _this.dir_model.el.get_string(this.el.selected);",
65           "}"
66          ]
67         },
68         {
69          "$ justify" : "Gtk.Justification.RIGHT",
70          "$ xns" : "Gtk",
71          "id" : "filetype_lbl",
72          "label" : "File type",
73          "x_options" : 4,
74          "xalign" : 0.90000000000000002,
75          "xtype" : "Label"
76         },
77         {
78          "$ xns" : "Gtk",
79          "bool hexpand" : true,
80          "id" : "filetype",
81          "items" : [
82           {
83            "$ xns" : "Gtk",
84            "* prop" : "model",
85            "id" : "filetype_model",
86            "strings" : "{}",
87            "xtype" : "StringList",
88            "| void load" : [
89             "() {",
90             "    var el = this.el;",
91             "    ",
92             "    while (el.get_n_items() > 0) {",
93             "    \tel.remove(0);",
94             "\t}",
95             " \tel.append(\"bjs - User Interface File\");",
96             " ",
97             "    ",
98             " switch(_this.project.xtype) {",
99             " \tcase \"Roo\":",
100             " \t \tel.append(\"js - Javascript File\");",
101             " \t \tel.append(\"css - CSS File\");",
102             " \t \tel.append(\"php - Javascript File\");",
103             " \t \t",
104             "\t\tbreak;",
105             "",
106             "\tcase \"Gtk\":\t\t",
107             "\t\t\t",
108             " \t \tel.append(\"vala - Vala File\");",
109             " \t \tel.append(\"css - CSS File\");",
110             " \t \tel.append(\"other - Other Type\");",
111             " \t \tbreak;",
112             " \t default : ",
113             " \t \tbreak;",
114             "\t}",
115             "",
116             "\t",
117             "\t",
118             "\t",
119             "}"
120            ]
121           }
122          ],
123          "listeners" : {
124           "notify[\"selected\"]" : [
125            "() => {",
126            "",
127            " ",
128            "  ",
129            "    // directory is only available for non-bjs ",
130            "    this.showhide( );",
131            "",
132            " }"
133           ]
134          },
135          "xtype" : "DropDown",
136          "| string getValue" : [
137           "() {",
138           "\tif (this.el.selected == Gtk.INVALID_LIST_POSITION) {",
139           "\t\treturn \"\";",
140           "\t}",
141           "\t",
142           "\treturn _this.filetype_model.el.get_string(this.el.selected).split(\" \")[0];",
143           "}"
144          ],
145          "| void setValue" : [
146           "(string cur) {",
147           "\tvar el  = _this.filetype_model.el;",
148           "\tfor(var i= 0; i < el.get_n_items();i++)  {",
149           "\t\tif (el.get_string(i).has_prefix(cur)) {",
150           "\t\t\tthis.el.selected = i;",
151           "\t\t\tbreak;",
152           "\t\t}",
153           "\t}",
154           "}"
155          ],
156          "| void showhide" : [
157           "()   {",
158           "",
159           "",
160           "\t",
161           "\t",
162           "\t_this.title_lbl.el.hide();",
163           "\t_this.title.el.hide();",
164           "\t",
165           "\t_this.region_lbl.el.hide();",
166           "\t_this.region.el.hide();",
167           "\t",
168           "\t_this.parent_lbl.el.hide();",
169           "\t_this.parent.el.hide();",
170           "\t",
171           "\t_this.permname_lbl.el.hide();",
172           "\t_this.permname.el.hide();",
173           "\t",
174           "\t_this.modOrder_lbl.el.hide();",
175           "\t_this.modOrder.el.hide();",
176           "\t",
177           "\t_this.build_module_lbl.el.hide();",
178           "\t_this.build_module.el.hide();",
179           "\t",
180           "\t_this.gen_lbl.el.hide();",
181           "\t_this.gen.el.hide();",
182           " ",
183           "\tvar sel = this.getValue();",
184           "\t",
185           "\tswitch(_this.project.xtype) {",
186           "\t\tcase \"Roo\":",
187           "\t\t \t",
188           "\t\t\tif (sel == \"bjs\") {",
189           "\t\t\t\t_this.title_lbl.el.show();",
190           "\t\t\t\t_this.title.el.show();",
191           "\t\t\t\t",
192           "\t\t\t\t_this.region_lbl.el.show();",
193           "\t\t\t\t_this.region.el.show();",
194           "\t\t\t\t",
195           "\t\t\t\t_this.parent_lbl.el.show();",
196           "\t\t\t\t_this.parent.el.show();",
197           "\t\t\t\t",
198           "\t\t\t\t_this.permname_lbl.el.show();",
199           "\t\t\t\t_this.permname.el.show();",
200           "\t\t\t\t",
201           "\t\t\t\t_this.modOrder_lbl.el.show();",
202           "\t\t\t\t_this.modOrder.el.show();",
203           "\t\t\t",
204           "\t\t\t}",
205           "\t\t\t_this.build_module_model.load(null);",
206           "\t\t ",
207           "\t\t\t",
208           "\t\t\tbreak;",
209           "\t\tdefault: // vala..",
210           "\t\t",
211           "\t \t\t_this.build_module_lbl.el.show();",
212           "\t\t\t_this.build_module.el.show();",
213           "\t",
214           "\t\t\t_this.gen_lbl.el.show();",
215           "\t\t\t_this.gen.el.show();",
216           "\t\t    ",
217           "\t\t\tbreak;",
218           "\t}",
219           " ",
220           "    // load up the directories",
221           "    //??? why can we not create bjs files in other directories??",
222           "\t//if (!is_bjs && _this.file.path.length < 1) {",
223           "\t",
224           " ",
225           "\t\t",
226           "\t\t",
227           "\t//}",
228           "   ",
229           "    ",
230           "}",
231           ""
232          ]
233         },
234         {
235          "$ justify" : "Gtk.Justification.RIGHT",
236          "$ xns" : "Gtk",
237          "label" : "Component Name (File name without extension)",
238          "x_options" : 4,
239          "xalign" : 0.90000000000000002,
240          "xtype" : "Label"
241         },
242         {
243          "$ visible" : true,
244          "$ xns" : "Gtk",
245          "bool hexpand" : true,
246          "id" : "name",
247          "xtype" : "Entry"
248         },
249         {
250          "$ justify" : "Gtk.Justification.RIGHT",
251          "$ visible" : true,
252          "$ xns" : "Gtk",
253          "id" : "title_lbl",
254          "label" : "Title",
255          "x_options" : 4,
256          "xalign" : 0.90000000000000002,
257          "xtype" : "Label"
258         },
259         {
260          "$ visible" : true,
261          "$ xns" : "Gtk",
262          "* pack" : "attach,1,2,1,1",
263          "bool hexpand" : true,
264          "id" : "title",
265          "xtype" : "Entry"
266         },
267         {
268          "$ justify" : "Gtk.Justification.RIGHT",
269          "$ visible" : true,
270          "$ xns" : "Gtk",
271          "id" : "region_lbl",
272          "label" : "Region",
273          "tooltip_text" : "center, north, south, east, west",
274          "x_options" : 4,
275          "xalign" : 0.90000000000000002,
276          "xtype" : "Label"
277         },
278         {
279          "$ visible" : true,
280          "$ xns" : "Gtk",
281          "bool hexpand" : true,
282          "id" : "region",
283          "xtype" : "Entry"
284         },
285         {
286          "$ justify" : "Gtk.Justification.RIGHT",
287          "$ visible" : true,
288          "$ xns" : "Gtk",
289          "id" : "parent_lbl",
290          "label" : "Parent Name",
291          "x_options" : 4,
292          "xalign" : 0.90000000000000002,
293          "xtype" : "Label"
294         },
295         {
296          "$ visible" : true,
297          "$ xns" : "Gtk",
298          "id" : "parent",
299          "xtype" : "Entry"
300         },
301         {
302          "$ justify" : "Gtk.Justification.RIGHT",
303          "$ visible" : true,
304          "$ xns" : "Gtk",
305          "id" : "permname_lbl",
306          "label" : "Permission Name",
307          "x_options" : 4,
308          "xalign" : 0.90000000000000002,
309          "xtype" : "Label"
310         },
311         {
312          "$ visible" : true,
313          "$ xns" : "Gtk",
314          "id" : "permname",
315          "xtype" : "Entry"
316         },
317         {
318          "$ justify" : "Gtk.Justification.RIGHT",
319          "$ visible" : true,
320          "$ xns" : "Gtk",
321          "id" : "modOrder_lbl",
322          "label" : "Order (for tabs)",
323          "x_options" : 4,
324          "xalign" : 0.90000000000000002,
325          "xtype" : "Label"
326         },
327         {
328          "$ visible" : true,
329          "$ xns" : "Gtk",
330          "id" : "modOrder",
331          "xtype" : "Entry"
332         },
333         {
334          "$ justify" : "Gtk.Justification.RIGHT",
335          "$ visible" : true,
336          "$ xns" : "Gtk",
337          "id" : "build_module_lbl",
338          "label" : "Module to build",
339          "x_options" : 4,
340          "xalign" : 0.90000000000000002,
341          "xtype" : "Label"
342         },
343         {
344          "$ xns" : "Gtk",
345          "id" : "build_module",
346          "items" : [
347           {
348            "$ xns" : "Gtk",
349            "* prop" : "model",
350            "id" : "build_module_model",
351            "strings" : "{}",
352            "xtype" : "StringList",
353            "| void load" : [
354             "(Gee.HashMap<string,Project.GtkValaSettings>? compilegroups)",
355             "{",
356             "\t",
357             "\t_this.build_module.el.hide();",
358             "\t\t_this.build_module_lbl.el.hide();",
359             "\tvar el = _this.build_module_model.el;",
360             "\t while (el.get_n_items() > 0) {",
361             "\t\t\tel.remove(0);",
362             "\t}",
363             "\t",
364             "\tif (compilegroups == null) {",
365             "\t\treturn;",
366             "\t}",
367             "\tforeach(var k in compilegroups.keys) {",
368             "\t\tthis.el.append(k);",
369             "\t}",
370             "\tif (compilegroups.keys.size > 0) {",
371             "\t\t_this.build_module.el.selected = 0;",
372             "\t\t_this.build_module.el.show();",
373             "\t\t_this.build_module_lbl.el.show();",
374             "\t} else {",
375             "\t\t",
376             "\t}",
377             "\t",
378             "}"
379            ]
380           }
381          ],
382          "xtype" : "DropDown",
383          "| string getValue" : [
384           " ",
385           "() {",
386           "\tif (this.el.selected < 0) {",
387           "\t\treturn \"\";",
388           "\t}",
389           "\t",
390           "\treturn _this.build_module_model.el.get_string(this.el.selected);",
391           "}",
392           " "
393          ],
394          "| void setValue" : [
395           "(string str) {",
396           "\tvar m = _this.build_module_model.el;",
397           "\tfor(var i = 0; i < m.get_n_items(); i++) {",
398           "\t\tif (m.get_string(i) == str) {",
399           "\t\t\tthis.el.selected = i;",
400           "\t\t\treturn;",
401           "\t\t}",
402           "\t}",
403           "\t\t",
404           "}"
405          ]
406         },
407         {
408          "$ justify" : "Gtk.Justification.RIGHT",
409          "$ visible" : true,
410          "$ xns" : "Gtk",
411          "id" : "path_lbl",
412          "int colspan" : 1,
413          "label" : "Full path",
414          "x_options" : 4,
415          "xalign" : 0.90000000000000002,
416          "xtype" : "Label"
417         },
418         {
419          "$ visible" : true,
420          "$ xns" : "Gtk",
421          "bool editable" : false,
422          "bool hexpand" : true,
423          "id" : "path",
424          "int colspan" : 1,
425          "xtype" : "Entry"
426         },
427         {
428          "$ justify" : "Gtk.Justification.RIGHT",
429          "$ visible" : true,
430          "$ xns" : "Gtk",
431          "id" : "gen_lbl",
432          "int colspan" : 1,
433          "label" : "Generate as Extended (experimental)",
434          "x_options" : 4,
435          "xalign" : 0.90000000000000002,
436          "xtype" : "Label"
437         },
438         {
439          "$ xns" : "Gtk",
440          "id" : "gen",
441          "listeners" : {
442           "toggled" : [
443            "( ) => {",
444            "\t  ",
445            "\tthis.el.label = this.el.active ? \"Extended\" : \"Wrapped\";",
446            "",
447            "}",
448            ""
449           ]
450          },
451          "string label" : "Wrapped",
452          "xtype" : "CheckButton"
453         }
454        ],
455        "uint row_spacing" : 2,
456        "xtype" : "Grid",
457        "| void hideRow" : [
458         "(int row) ",
459         "{",
460         "\tvar el = _this.grid.el.get_child_at(0,row);",
461         "",
462         "\tel.hide();",
463         "\tel = _this.grid.el.get_child_at(1,row);",
464         "\tel.hide();",
465         "",
466         "}"
467        ],
468        "| void showAllRows" : [
469         "() {",
470         "\tfor (var i = 2; i < 10;i++) {",
471         "\t\tvar el = _this.grid.el.get_child_at(0,i);",
472         "\t\tel.show();",
473         "\t\tel = _this.grid.el.get_child_at(1,i);",
474         "\t\tel.show();",
475         "    }",
476         "}"
477        ]
478       }
479      ],
480      "xtype" : "Box"
481     },
482     {
483      "$ xns" : "Gtk",
484      "* prop" : "titlebar",
485      "bool show_title_buttons" : false,
486      "items" : [
487       {
488        "$ xns" : "Gtk",
489        "* pack" : "pack_start",
490        "listeners" : {
491         "clicked" : [
492          "() => { ",
493          "  \t_this.done = true;",
494          "    _this.el.hide(); ",
495          "}"
496         ]
497        },
498        "string label" : "Cancel",
499        "xtype" : "Button"
500       },
501       {
502        "$ css_classes" : "{ \"suggested-action\" }",
503        "$ xns" : "Gtk",
504        "* pack" : "pack_end",
505        "bool always_show_image" : true,
506        "bool hexpand" : false,
507        "id" : "save_btn",
508        "listeners" : {
509         "clicked" : [
510          "( ) =>  { ",
511          "",
512          " ",
513          "",
514          "",
515          "\tif (_this.name.el.get_text().length  < 1) {",
516          "\t    Xcls_StandardErrorDialog.singleton().show(",
517          "\t        _this.mainwindow.el,",
518          "\t        \"You have to set a Component name \"",
519          "\t    );",
520          "\t     ",
521          "\t    return;",
522          "\t}",
523          "\t// what does this do?",
524          "\t",
525          "\tvar isNew = _this.file.name.length  > 0 ? false : true;",
526          "\t/*",
527          "\tif (!isNew && this.file.name != _this.name.el.get_text()) {",
528          "\t    Xcls_StandardErrorDialog.singleton().show(",
529          "\t        this.el,",
530          "\t        \"Sorry changing names does not work yet. \"",
531          "\t    );",
532          "\t     ",
533          "\t    return;",
534          "\t}",
535          "\t*/",
536          "\t  ",
537          "  ",
538          "\t// FIXME - this may be more complicated...",
539          "\t//for (var i in this.def) {",
540          "\t//    this.file[i] =  this.get(i).el.get_text();",
541          "\t//}",
542          "",
543          "\tif (!isNew) {",
544          "\t  //  try {",
545          "\t  ",
546          "\t  \tvar old_target = _this.file.build_module;",
547          "         _this.updateFileFromEntry();",
548          "\t    if (_this.project.xtype == \"Gtk\" && old_target != _this.file.build_module) {",
549          "\t    \tvar gp = (JsRender.Gtk)_this.file;",
550          "\t    \tgp.updateCompileGroup(old_target,  _this.file.build_module);",
551          "    \t}",
552          "",
553          "\t      _this.done = true;",
554          "\t    _this.file.save();",
555          "\t    _this.el.hide();",
556          "\t    return;",
557          "\t}",
558          "\t",
559          "\t// ---------------- NEW FILES...",
560          "\tvar ftype = _this.filetype.getValue();",
561          "",
562          "\tif (ftype == \"\") {",
563          "\t\t// should not happen...",
564          "\t\t// so we are jut going to return without ",
565          "\t\tXcls_StandardErrorDialog.singleton().show(",
566          "\t        _this.mainwindow.el,",
567          "\t        \"You must select a file type. \"",
568          "\t    );",
569          "\t    return;",
570          "\t\t ",
571          "\t}",
572          "\t",
573          "\t",
574          "\tvar fn = _this.name.el.get_text();",
575          "\t",
576          "\t ",
577          "\tvar ext = ftype;",
578          "\t//var dir = _this.project.path; ",
579          "\t ",
580          "\t var dir = _this.dir_dropdown.getValue();",
581          "\t",
582          "\t ",
583          "\t",
584          "\t ",
585          "\tvar targetfile  = _this.project.path;",
586          "\tif (dir != \"\") {",
587          "\t\ttargetfile += dir;",
588          "\t}",
589          "\ttargetfile += \"/\" + fn;",
590          "\t",
591          "\t// strip the file type off the end..",
592          "\t",
593          "\ttry {",
594          "\t\tvar rx = new GLib.Regex(\"\\\\.\" + ext + \"$\",GLib.RegexCompileFlags.CASELESS);",
595          "\t\tfn = rx.replace(targetfile, targetfile.length, 0, \"\"); ",
596          "\t  } catch (RegexError e) {} // ignore.",
597          "\t  ",
598          "\t  targetfile += \".\" + ext;",
599          "\t  ",
600          "\t  ",
601          "\tif (GLib.FileUtils.test(targetfile, GLib.FileTest.EXISTS)) {",
602          "\t    Xcls_StandardErrorDialog.singleton().show(",
603          "\t        _this.mainwindow.el,",
604          "\t        \"That file already exists\"",
605          "\t    ); ",
606          "\t    return;",
607          "\t}",
608          "\tJsRender.JsRender f;",
609          "   try {",
610          "\t   f =  JsRender.JsRender.factory(",
611          "\t\t\text == \"bjs\" ? _this.file.project.xtype : \"PlainFile\",  ",
612          "\t\t\t_this.file.project, ",
613          "\t\t\ttargetfile);",
614          "\t} catch (JsRender.Error e) {",
615          "\t\tXcls_StandardErrorDialog.singleton().show(",
616          "\t        _this.mainwindow.el,",
617          "\t        \"Error creating file\"",
618          "\t    ); ",
619          "\t\treturn;",
620          "\t}",
621          "\t_this.file = f;",
622          "\t",
623          "\t",
624          "",
625          "\t",
626          "\t_this.updateFileFromEntry();",
627          "\t_this.file.loaded = true;",
628          "\t_this.file.save();",
629          "     _this.file.project.addFile(_this.file);",
630          "\t\t ",
631          "\t ",
632          " ",
633          "\t// what about .js ?",
634          "   _this.done = true;",
635          "\t_this.el.hide();",
636          "",
637          "// hopefull this will work with bjs files..",
638          "\t",
639          "\t_this.success(_this.project, _this.file);",
640          "   ",
641          "}"
642         ]
643        },
644        "string icon_name" : "document-save",
645        "string label" : "Save",
646        "xtype" : "Button"
647       }
648      ],
649      "title" : "Add / Edit File",
650      "xtype" : "HeaderBar"
651     }
652    ],
653    "listeners" : {
654     "close_request" : [
655      "( ) => {",
656      "\t_this.el.hide();",
657      "\treturn true;",
658      "}",
659      ""
660     ]
661    },
662    "string title" : "Add / Edit File",
663    "uint border_width" : 0,
664    "xtype" : "Window",
665    "| void show" : [
666     "(JsRender.JsRender c, Gtk.Window pwin, bool new_window) ",
667     "{",
668     "    ",
669     "    this.project = c.project;",
670     "    this.done = false;",
671     "    this.new_window = new_window;",
672     "    ",
673     "    //if (!this.el) {",
674     "        //this.init();",
675     "     //} ",
676     "     ",
677     "     ",
678     "",
679     "    _this.name.el.set_text(c.name);",
680     "    _this.title.el.set_text(c.title);",
681     "    _this.parent.el.set_text(c.parent);    ",
682     "    _this.region.el.set_text(c.region);",
683     "    _this.modOrder.el.set_text(c.modOrder);",
684     "    _this.permname.el.set_text(c.permname);",
685     " ",
686     "   _this.gen.el.active = c.gen_extended;",
687     "   ",
688     "\t_this.path_lbl.el.show();",
689     "    _this.path.el.show();",
690     "    _this.dir_dropdown_lbl.el.hide();",
691     "    _this.dir_dropdown.el.hide();",
692     "    if (c.name == \"\") {",
693     "    \t_this.path_lbl.el.hide();",
694     "\t    _this.path.el.hide();",
695     "\t    this.filetype_model.load();",
696     "        _this.dir_dropdown_lbl.el.show();",
697     "\t    _this.dir_dropdown.el.show();",
698     "\t    ",
699     "    }   else {",
700     "        _this.path.el.set_text(c.relpath);",
701     "    }",
702     "    ",
703     "    ",
704     "    if (this.project.xtype == \"Gtk\") {",
705     "    \tvar p = (Project.Gtk) this.project;",
706     "\t    this.build_module_model.load(p.compilegroups);",
707     "\t    // it will select first if available...",
708     "\t    // only for new files.",
709     "\t    if (c.name != \"\") {",
710     "\t\t    this.build_module.setValue(c.build_module);",
711     "\t    }",
712     "    }",
713     "\t     ",
714     "     ",
715     "    _this.file = c;",
716     "   ",
717     "   // this.el.set_size_request( 550, 100); // should expand height, but give  a min width.",
718     "",
719     "    this.el.set_transient_for(pwin);",
720     "    ",
721     "    // window + header?",
722     "     print(\"SHOWALL - POPIP\\n\");",
723     "    this.el.show();",
724     "    this.name.el.grab_focus();",
725     "    ",
726     "    _this.project.loadDirsToStringList(this.dir_model.el);",
727     "    ",
728     "    if (c.path.length > 0) {",
729     "\t    this.save_btn.el.set_label(\"Save\");",
730     "\t\t_this.filetype_lbl.el.hide();",
731     "\t\t_this.filetype.el.hide();",
732     "\t\t_this.filetype.showhide(); // as we only work on bjs files currently",
733     "    } else {",
734     "        this.save_btn.el.set_label(\"Create\");",
735     "\t    _this.filetype.el.show();",
736     "\t    _this.filetype_lbl.el.show();",
737     "\t    _this.filetype.showhide();",
738     "    }",
739     "    ",
740     "    ",
741     "    //this.success = c.success;",
742     "    ",
743     "    ",
744     "}"
745    ],
746    "| void updateFileFromEntry" : [
747     "() {",
748     "",
749     "        _this.file.title = _this.title.el.get_text();",
750     "        _this.file.region = _this.region.el.get_text();            ",
751     "        _this.file.parent = _this.parent.el.get_text();                        ",
752     "        _this.file.permname = _this.permname.el.get_text();                                    ",
753     "        _this.file.modOrder = _this.modOrder.el.get_text();",
754     "        _this.file.gen_extended = _this.gen.el.active;",
755     "        var new_name =  _this.name.el.get_text();",
756     "        if (_this.file.name.length  > 0 && _this.file.name != new_name) {",
757     "            try {",
758     "            \t_this.file.renameTo( new_name );",
759     "        \t} catch (JsRender.Error e) { } // do nothing?",
760     "        }",
761     "        ",
762     "        _this.file.build_module = _this.build_module.getValue();",
763     "        ",
764     "        ",
765     "        ",
766     "",
767     "                                                    ",
768     "}    "
769    ]
770   }
771  ],
772  "name" : "PopoverFileDetails"
773 }