4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
14 * Private internal class for reading and applying state
16 Roo.LayoutStateManager = function(layout){
17 // default empty state
26 Roo.LayoutStateManager.prototype = {
27 init : function(layout, provider){
28 this.provider = provider;
29 var state = provider.get(layout.id+"-layout-state");
31 var wasUpdating = layout.isUpdating();
35 for(var key in state){
36 if(typeof state[key] != "function"){
37 var rstate = state[key];
38 var r = layout.getRegion(key);
41 r.resizeTo(rstate.size);
43 if(rstate.collapsed == true){
57 layout.on("regionresized", this.onRegionResized, this);
58 layout.on("regioncollapsed", this.onRegionCollapsed, this);
59 layout.on("regionexpanded", this.onRegionExpanded, this);
62 storeState : function(){
63 this.provider.set(this.layout.id+"-layout-state", this.state);
66 onRegionResized : function(region, newSize){
67 this.state[region.getPosition()].size = newSize;
71 onRegionCollapsed : function(region){
72 this.state[region.getPosition()].collapsed = true;
76 onRegionExpanded : function(region){
77 this.state[region.getPosition()].collapsed = false;