X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FBuilder4%2FWindowState.vala;h=359677b662a610bec3b9db3efdd82725be885d9b;hb=1eb7406e95f4a90ed6e88f4a57efa53c329dc46d;hp=70250a26fb9b026177a2340b801b6676657eefa0;hpb=eb53da0e6164892df92bd2580fd6936ac3145337;p=app.Builder.js diff --git a/src/Builder4/WindowState.vala b/src/Builder4/WindowState.vala index 70250a26f..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(); + + // adding stuff + this.objectAddInit(); + this.propsAddInit(); + - // dialogs + // previews... + this.gtkViewInit(); + this.webkitViewInit(); - this.fileNewInit(); + // dialogs - this.children_loaded = true; + this.fileNewInit(); + + this.webkit_plugin = new Xcls_DialogPluginWebkit(); + this.template_select = new DialogTemplateSelect(); + this.children_loaded = true; } @@ -439,11 +447,32 @@ public class WindowState : Object this.window_gladeview =new Xcls_GtkView(); this.window_gladeview.ref(); } - + + public void easingSaveAll() + { + 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) { @@ -462,52 +491,49 @@ public class WindowState : Object case State.LISTENER: case State.PROP: - this.win.addpropsview.el.save_easing_state(); + this.win.addpropsview.el.set_scale(0.0f,0.0f); - this.win.addpropsview.el.restore_easing_state(); - break; + break; case State.CODE: this.code_editor.saveContents(); - this.win.codeeditview.el.save_easing_state(); + 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.save_easing_state(); + this.win.objectview.el.set_scale(0.0f,0.0f); - this.win.objectview.el.restore_easing_state(); - break; + break; case State.PROJECT: - this.win.projecteditview.el.save_easing_state(); + 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... - this.win.rooview.el.save_easing_state(); - this.win.rooview.el.show_all(); + + this.win.rooview.el.show_all(); this.win.rooview.el.set_easing_duration(1000); this.win.rooview.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, 0.0f); 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.save_easing_state(); - this.clutterfiles.el.set_easing_duration(1000); + 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(); @@ -515,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... @@ -531,12 +559,10 @@ public class WindowState : Object this.left_projects.el.hide(); if (oldstate != State.FILES) { // it's handled above.. - print ("changing state to preview from NOT files.."); - this.win.rooview.el.save_easing_state(); - this.resizeCanvasElements(); - + print ("changing state to preview from NOT files.."); + + this.win.rooview.el.set_scale(1.0f,1.0f); - this.win.rooview.el.restore_easing_state(); } break; @@ -549,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(); @@ -560,18 +588,13 @@ public class WindowState : Object - this.win.rooview.el.save_easing_state(); + // -- 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.save_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(); @@ -579,26 +602,27 @@ 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; } this.rightpalete.el.show_all(); this.rightpalete.load(this.left_tree.getActiveFile().palete(), n == null ? "*top" : n.fqn()); - this.win.rooview.el.save_easing_state(); - // this.resizeCanvasElements(); - this.win.rooview.el.restore_easing_state(); - - this.win.objectview.el.save_easing_state(); + + this.win.objectview.el.set_scale(1.0f,1.0f); - this.win.objectview.el.restore_easing_state(); + break; @@ -607,21 +631,16 @@ public class WindowState : Object this.code_editor.el.show_all(); // caller needs to call editor - show.... - this.win.rooview.el.save_easing_state(); - //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 { @@ -629,13 +648,11 @@ public class WindowState : Object this.vala_projectsettings.show((Project.Gtk)this.win.project); } - this.win.rooview.el.save_easing_state(); - // this.resizeCanvasElements(); - this.win.rooview.el.restore_easing_state(); - - this.win.projecteditview.el.save_easing_state(); + this.win.rooview.el.set_pivot_point(1.0f,1.0f); // bottom right.. + this.win.projecteditview.el.set_scale(1.0f,1.0f); - this.win.projecteditview.el.restore_easing_state(); + + break; case State.FILES: // can only get here from PREVIEW state.. in theory.. @@ -645,8 +662,7 @@ public class WindowState : Object this.left_projects.el.show(); - this.win.rooview.el.save_easing_state(); - this.win.rooview.el.set_easing_duration(1000); + this.win.rooview.el.set_easing_duration(1000); this.win.rooview.el.set_pivot_point(0.5f,0.5f); this.win.rooview.el.set_rotation_angle(Clutter.RotateAxis.Y_AXIS, 180.0f); this.win.rooview.el.set_opacity(0); @@ -657,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(); + } @@ -717,23 +734,16 @@ public class WindowState : Object print("WindowState.resizeCanvasElements = ingnore not loaded or no clutterfiles\n"); return; } - //print("WindowState.resizeCanvasElements = running"); - - - // ------- project view appears at top... - - - // ------- add property/object left - max 300px, min 50... (or disapear..) - + var avail = alloc.width < 50.0f ? 0 : alloc.width - 50.0f; var palsize = avail < 300.0f ? avail : 300.0f; - //print("set palsize size %f\n", palsize); - // palate / props : fixed 300 pix - + // -------- code edit min 600 var codesize = avail < 800.0f ? avail : 800.0f; + + //print("set code size %f\n", codesize); @@ -751,16 +761,19 @@ 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.restore_easing_state(); + // 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_scale(0.5f, 0.5f); + //this.win.rooview.el.restore_easing_state(); break; case State.CODE: this.win.codeeditview.el.set_size(codesize, alloc.height); var scale = avail > 0.0f ? (avail - codesize -10 ) / avail : 0.0f; - + //this.win.rooview.el.save_easing_state(); + this.win.rooview.el.set_scale(scale,scale); + // this.win.rooview.el.restore_easing_state(); break; case State.PROP: @@ -773,7 +786,9 @@ public class WindowState : Object case State.OBJECT: this.win.objectview.el.set_size(palsize, alloc.height); var scale = avail > 0.0f ? (avail - palsize -10 ) / avail : 0.0f; + //this.win.rooview.el.save_easing_state(); this.win.rooview.el.set_scale(scale,scale); + // this.win.rooview.el.restore_easing_state(); break; } } @@ -801,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) { @@ -842,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; }