X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FBuilder4%2FWindowState.vala;h=359677b662a610bec3b9db3efdd82725be885d9b;hb=1eb7406e95f4a90ed6e88f4a57efa53c329dc46d;hp=948d4128bb29cc673cac65e719709084b3e82697;hpb=91ac3fcc89d364a5aeb2362de568739cbe436c67;p=app.Builder.js diff --git a/src/Builder4/WindowState.vala b/src/Builder4/WindowState.vala index 948d4128b..359677b66 100644 --- a/src/Builder4/WindowState.vala +++ b/src/Builder4/WindowState.vala @@ -38,36 +38,44 @@ public class WindowState : Object public Xcls_ClutterFiles clutterfiles; public Xcls_WindowLeftProjects left_projects; // can not see where this is initialized.. + + public DialogTemplateSelect template_select; + + // dialogs?? + public Xcls_DialogPluginWebkit webkit_plugin; + // ctor public WindowState(Xcls_MainWindow win) { - this.win = win; - // initialize - - // left elements.. - this.leftTreeInit(); - this.propsListInit(); - - // on clutter space... - this.projectEditInit(); - this.codeEditInit(); - this.projectListInit(); - this.fileViewInit(); - - // adding stuff - this.objectAddInit(); - this.propsAddInit(); - - - // previews... - this.gtkViewInit(); - this.webkitViewInit(); + this.win = win; + // initialize + + // left elements.. + this.leftTreeInit(); + this.propsListInit(); + + // on clutter space... + this.projectEditInit(); + this.codeEditInit(); + this.projectListInit(); + this.fileViewInit(); - // dialogs + // adding stuff + this.objectAddInit(); + this.propsAddInit(); - this.fileNewInit(); - this.children_loaded = true; + // previews... + this.gtkViewInit(); + this.webkitViewInit(); + + // dialogs + + this.fileNewInit(); + + this.webkit_plugin = new Xcls_DialogPluginWebkit(); + this.template_select = new DialogTemplateSelect(); + this.children_loaded = true; } @@ -439,17 +447,32 @@ public class WindowState : Object this.window_gladeview =new Xcls_GtkView(); this.window_gladeview.ref(); } - - public void switchState(State new_state) + + public void easingSaveAll() { - - // save the easing state of everything.. this.win.addpropsview.el.save_easing_state(); this.win.codeeditview.el.save_easing_state(); this.win.objectview.el.save_easing_state(); this.win.projecteditview.el.save_easing_state(); this.win.rooview.el.save_easing_state(); this.clutterfiles.el.save_easing_state(); + + } + public void easingRestoreAll() + { + this.win.addpropsview.el.restore_easing_state(); + this.win.codeeditview.el.restore_easing_state(); + this.win.objectview.el.restore_easing_state(); + this.win.projecteditview.el.restore_easing_state(); + this.win.rooview.el.restore_easing_state(); + this.clutterfiles.el.restore_easing_state(); + + } + public void switchState(State new_state) + { + + // save the easing state of everything.. + this.easingSaveAll(); switch (this.state) { @@ -470,8 +493,7 @@ public class WindowState : Object case State.PROP: this.win.addpropsview.el.set_scale(0.0f,0.0f); - this.win.addpropsview.el.restore_easing_state(); - break; + break; case State.CODE: @@ -479,21 +501,21 @@ public class WindowState : Object this.code_editor.saveContents(); this.win.codeeditview.el.set_scale(0.0f,0.0f); - this.win.codeeditview.el.restore_easing_state(); - break; + break; case State.OBJECT: this.win.objectview.el.set_scale(0.0f,0.0f); - this.win.objectview.el.restore_easing_state(); - break; + break; case State.PROJECT: + if (this.win.project.xtype == "Gtk") { + this.vala_projectsettings.save(); + } this.win.projecteditview.el.set_scale(0.0f,0.0f); - this.win.projecteditview.el.restore_easing_state(); - break; + break; case State.FILES: // hide files... @@ -504,15 +526,14 @@ public class WindowState : Object this.win.rooview.el.set_scale(1.0f,1.0f); this.win.rooview.el.set_pivot_point(0.5f,0.5f); this.win.rooview.el.set_opacity(0xff); - this.win.rooview.el.restore_easing_state(); + this.clutterfiles.el.set_easing_duration(1000); this.clutterfiles.el.set_pivot_point(0.5f,0.5f); this.clutterfiles.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, -180.0f); this.clutterfiles.el.set_opacity(0); - this.clutterfiles.el.restore_easing_state(); - + //this.clutterfiles.el.hide(); @@ -520,13 +541,15 @@ public class WindowState : Object } - this.resizeCanvasElements(); + var oldstate =this.state; this.state = new_state; - + + this.buttonsShowHide(); + switch (this.state) { case State.PREVIEW: // this is the default state when working... @@ -538,10 +561,8 @@ public class WindowState : Object // it's handled above.. print ("changing state to preview from NOT files.."); - this.resizeCanvasElements(); - + this.win.rooview.el.set_scale(1.0f,1.0f); - this.win.rooview.el.restore_easing_state(); } break; @@ -554,6 +575,8 @@ public class WindowState : Object if (ae == null) { this.state = oldstate; this.buttonsShowHide(); + this.resizeCanvasElements(); + this.easingRestoreAll(); return; } this.add_props.el.show_all(); @@ -567,16 +590,11 @@ public class WindowState : Object // -- FIXME? this needs to be State aware? - this.resizeCanvasElements(); - + this.win.rooview.el.set_pivot_point(1.0f,0.5f); - this.win.rooview.el.restore_easing_state(); - - - + this.win.addpropsview.el.set_scale(1.0f,1.0f); - this.win.addpropsview.el.restore_easing_state(); - break; + break; case State.OBJECT: var n = this.left_tree.getActiveElement(); @@ -584,12 +602,16 @@ public class WindowState : Object if (this.left_tree.model.file == null) { this.state =oldstate; this.buttonsShowHide(); + this.resizeCanvasElements(); + this.easingRestoreAll(); return; } if (n == null && this.left_tree.model.file.tree != null) { this.state = oldstate; this.buttonsShowHide(); + this.resizeCanvasElements(); + this.easingRestoreAll(); return; } @@ -597,13 +619,10 @@ public class WindowState : Object this.rightpalete.load(this.left_tree.getActiveFile().palete(), n == null ? "*top" : n.fqn()); - // this.resizeCanvasElements(); - this.win.rooview.el.restore_easing_state(); - - + this.win.objectview.el.set_scale(1.0f,1.0f); - this.win.objectview.el.restore_easing_state(); + break; @@ -612,20 +631,16 @@ public class WindowState : Object this.code_editor.el.show_all(); // caller needs to call editor - show.... - //this.resizeCanvasElements(); - this.win.rooview.el.restore_easing_state(); - + - this.win.codeeditview.el.save_easing_state(); - this.win.codeeditview.el.set_scale(1.0f,1.0f); - this.win.codeeditview.el.restore_easing_state(); - break; + this.win.codeeditview.el.set_scale(1.0f,1.0f); + break; case State.PROJECT: - if (this.win.project.xtype == "Roo") { + if (this.win.project.xtype == "Roo") { this.projectsettings.el.show_all(); this.projectsettings.show(this.win.project); } else { @@ -633,12 +648,11 @@ public class WindowState : Object this.vala_projectsettings.show((Project.Gtk)this.win.project); } + this.win.rooview.el.set_pivot_point(1.0f,1.0f); // bottom right.. - this.resizeCanvasElements(); this.win.projecteditview.el.set_scale(1.0f,1.0f); - this.win.projecteditview.el.restore_easing_state(); - this.win.rooview.el.restore_easing_state(); + break; case State.FILES: // can only get here from PREVIEW state.. in theory.. @@ -659,22 +673,23 @@ public class WindowState : Object this.left_projects.selectProject(this.win.project); } - this.win.rooview.el.restore_easing_state(); this.clutterfiles.el.show_all(); - this.clutterfiles.el.save_easing_state(); + this.clutterfiles.el.set_easing_duration(1000); this.clutterfiles.el.set_pivot_point(0.5f,0.5f); this.clutterfiles.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, 0.0f); this.clutterfiles.el.set_opacity(0xff); - this.clutterfiles.el.restore_easing_state(); + break; } - + this.resizeCanvasElements(); + this.easingRestoreAll(); + } @@ -747,7 +762,8 @@ public class WindowState : Object this.win.projecteditview.el.set_size(alloc.width-50, alloc.height / 2.0f); // this.win.rooview.el.save_easing_state(); - this.win.rooview.el.set_size(alloc.width / 2.0f, alloc.height / 2.0f); + //this.win.rooview.el.set_size(alloc.width / 2.0f, alloc.height / 2.0f); + this.win.rooview.el.set_scale(0.5f, 0.5f); //this.win.rooview.el.restore_easing_state(); break; @@ -800,7 +816,7 @@ public class WindowState : Object this.win.addfilebutton.el.hide(); this.win.delprojectbutton.el.hide(); this.win.new_window.el.hide(); - + this.win.reload_resources.el.hide(); switch (this.state) { @@ -841,6 +857,7 @@ public class WindowState : Object this.win.addfilebutton.el.show(); this.win.delprojectbutton.el.show(); this.win.new_window.el.show(); + this.win.reload_resources.el.show(); break; }