--- /dev/null
+<html><head><title>/home/alan/gitlive/roojs1/Roo/LayoutStateManager.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+ * Based on:
+ * Ext JS Library 1.1.1
+ * Copyright(c) 2006-2007, Ext JS, LLC.
+ *
+ * Originally Released Under LGPL - original licence link has changed is not relivant.
+ *
+ * Fork - LGPL
+ * <script type="text/javascript">
+ */
+
+
+/*
+ * Private internal class for reading and applying state
+ */
+</span><span class="jsdoc-var">Roo.LayoutStateManager </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-comment">// default empty state
+ </span><span class="jsdoc-var">this.state </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">north</span><span class="jsdoc-syntax">: {},
+ </span><span class="jsdoc-var">south</span><span class="jsdoc-syntax">: {},
+ </span><span class="jsdoc-var">east</span><span class="jsdoc-syntax">: {},
+ </span><span class="jsdoc-var">west</span><span class="jsdoc-syntax">: {}
+ };
+};
+
+</span><span class="jsdoc-var">Roo.LayoutStateManager.prototype </span><span class="jsdoc-syntax">= {
+ </span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">provider</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.provider </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">provider</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">state </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">provider.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout.id</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">"-layout-state"</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">wasUpdating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout.isUpdating</span><span class="jsdoc-syntax">();
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">wasUpdating</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">layout.beginUpdate</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">"function"</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rstate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
+ </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout.getRegion</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">rstate</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.size</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">r.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.size</span><span class="jsdoc-syntax">);
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.collapsed </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">r.collapse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
+ </span><span class="jsdoc-var">r.expand</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
+ }
+ }
+ }
+ }
+ </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">wasUpdating</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">layout.endUpdate</span><span class="jsdoc-syntax">();
+ }
+ </span><span class="jsdoc-var">this.state </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">;
+ }
+ </span><span class="jsdoc-var">this.layout </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"regionresized"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionResized</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"regioncollapsed"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionCollapsed</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"regionexpanded"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionExpanded</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">storeState </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
+ </span><span class="jsdoc-var">this.provider.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.layout.id</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">"-layout-state"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">);
+ },
+
+ </span><span class="jsdoc-var">onRegionResized </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">onRegionCollapsed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
+ },
+
+ </span><span class="jsdoc-var">onRegionExpanded </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">){
+ </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
+ </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
+ }
+};</span></code></body></html>
\ No newline at end of file