2 * as state management is a bit too complicated inside the builder
3 * it's better to seperate this into this class
5 * This class has references to all the Class instances that make up the window..
8 public class WindowState : Object
10 public MainWindow win;
21 public Xcls_WindowLeftTree left_tree;
22 public Xcls_WindowAddProp add_props;
31 public About(MainWindow win)
42 public void leftTreeInit()
45 this.left_tree = new Xcls_WindowLeftTree();
47 this.left_tree.main_window = _this.win;
49 this.win.tree.el.pack_start(this.left_tree.el,true, true,0);
50 this.left_tree.el.show_all();
52 this.left_tree.before_node_change.connect(() => {
53 return this.leftTreeBeforeChange();
57 this.left_tree.node_selected.connect((sel) => {
58 this.leftTreeNodeSelected(sel);
61 this.left_tree.changed.connect(() => {
62 this.window_rooview.requestRedraw();
63 this.left_tree.model.file.save();
68 public bool leftTreeBeforeChange(JsRender.Node? sel)
70 if (this.state != "codeedit") {
71 this.left_props.finish_editing();
74 if (!this.code_editor.saveContents()) {
80 public void leftTreeNodeSelected(JsRender.Node? sel)
83 print("node_selected called %s\n", (sel == null) ? "NULL" : "a value");
86 this.left_props.el.hide();
88 this.left_props.el.show();
89 this.left_props.load(this.left_tree.getActiveFile(), sel);
95 this.rightpalete.clear();
98 this.rightpalete.load(this.left_tree.getActiveFile().palete(), sel.fqn());
104 this.add_props.clear();
107 this.add_props.show(this.left_tree.getActiveFile().palete(), "props", sel.fqn());
113 this.add_props.clear();
116 this.add_props.show(_this.left_tree.getActiveFile().palete(), "signals", sel.fqn());
129 // ----------- properties adding list...
130 // listener uses the properties
131 public void propsAddInit()
134 this.add_props = new Xcls_WindowAddProp();
135 this.add_props.ref(); /// really?
136 ((Gtk.Container)(this.win.addpropsview.el.get_widget())).add(this.add_props.el);
137 //this.projectsettings.el.show_all();
139 var stage = _this.win.addpropsview.el.get_stage();
140 stage.set_background_color( Clutter.Color.from_string("#000"));
143 this.add_props.select.connect( (key,type,skel, etype) => {
144 this.left_props.addProp(etype, key, skel, type);
148 public void propsAddShow()
152 public propsAddHide()
157 // ----------- Add / Edit listener
158 // listener uses the properties
159 public listenerInit()
163 public listenerShow()
167 public listenerHide()