]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - js/ui/swmlayout.js
Dos2Unix
[irc/quakenet/qwebirc.git] / js / ui / swmlayout.js
index edd33be545b4e9274d3ac436bc5651e18a918588..17a0e319b11d5d3ba58b40db96c50afe3db89ff6 100644 (file)
-var SWM_ANCHOR_NONE =   0x00;\r
-var SWM_ANCHOR_TOP =    0x01;\r
-var SWM_ANCHOR_BOTTOM = 0x02;\r
-var SWM_ANCHOR_LEFT =   0x04;\r
-var SWM_ANCHOR_RIGHT =  0x08;\r
-\r
-var SWMPanel = new Class({\r
-  initialize: function(parent, hidden) {\r
-    this.parent = parent;\r
-    \r
-    var element = new Element("div", {"styles": { "position": "absolute" } });\r
-    this.element = element;\r
-    this.element.wmpanel = this;\r
-    \r
-    if(hidden) {\r
-      this.setHidden(true);\r
-    } else {\r
-      this.hidden = false;\r
-    }\r
-    parent.addClass("swmelement");\r
-    \r
-    parent.appendChild(this.element);\r
-    this.anchor = SWM_ANCHOR_NONE;\r
-  },\r
-  setHeight: function(height) {\r
-    this.height = height;\r
-  },\r
-  setWidth: function(width) {\r
-    this.width = width;\r
-  },\r
-  setHidden: function(value) {\r
-    this.hidden = value;\r
-    if(value) {\r
-      this.element.setStyle("display", "none");\r
-    } else {\r
-      this.element.setStyle("display", "block");\r
-    }\r
-  }\r
-});\r
-\r
-window.addEvent("domready", function() {\r
-  function reworkLayout(container) {\r
-    function anchorFilter(x, anchor) {\r
-      return x.filter(function(y) {\r
-        if(y.anchor == anchor)\r
-          return true;\r
-      });\r
-    }\r
-    var x = container.getChildren().map(function(x) {\r
-      return x.wmpanel\r
-    });\r
-    var top = anchorFilter(x, SWM_ANCHOR_TOP);\r
-    var bottom = anchorFilter(x, SWM_ANCHOR_BOTTOM);\r
-    var none = anchorFilter(x, SWM_ANCHOR_NONE);\r
-\r
-    var left = anchorFilter(x, SWM_ANCHOR_LEFT);\r
-    var right = anchorFilter(x, SWM_ANCHOR_RIGHT);\r
-    \r
-    var tpos = 0;\r
-    for(var i=0;i<top.length;i++) {\r
-      if(top[i].hidden)\r
-        continue;\r
-      var obj = top[i].element;\r
-      obj.setStyles({"top": tpos + "px", "left": "0px", "right": "0px"});\r
-      tpos = tpos + obj.getSize().y;\r
-    }\r
-    \r
-    var bpos = 0;\r
-    for(var i=0;i<bottom.length;i++) {\r
-      if(bottom[i].hidden)\r
-        continue;\r
-      var obj = bottom[i].element;\r
-      obj.setStyles({"bottom": bpos + "px", "left": "0px", "right": "0px"});\r
-      bpos = bpos + obj.getSize().y;\r
-    }\r
-    \r
-    var lpos = 0;\r
-    for(var i=0;i<left.length;i++) {\r
-      if(left[i].hidden)\r
-        continue;\r
-      var obj = left[i].element;\r
-      obj.setStyles({"left": lpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
-      lpos = lpos + obj.getSize().x;\r
-    }\r
-\r
-    var rpos = 0;\r
-    for(var i=0;i<right.length;i++) {\r
-      if(right[i].hidden)\r
-        continue;\r
-      var obj = right[i].element;\r
-      obj.setStyles({"right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
-      rpos = rpos + obj.getSize().x;\r
-    }\r
-\r
-    for(var i=0;i<none.length;i++) {\r
-      if(none[i].hidden)\r
-        continue;\r
-      var obj = none[i].element;\r
-      obj.setStyles({"left": lpos + "px", "right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
-    }\r
-  }\r
-  \r
-  window.addEvent("resize", function() {\r
-    $$("div.swmelement").each(reworkLayout);\r
-  });\r
+var SWM_ANCHOR_NONE =   0x00;
+var SWM_ANCHOR_TOP =    0x01;
+var SWM_ANCHOR_BOTTOM = 0x02;
+var SWM_ANCHOR_LEFT =   0x04;
+var SWM_ANCHOR_RIGHT =  0x08;
+
+var SWMPanel = new Class({
+  initialize: function(parent, hidden) {
+    this.parent = parent;
+    
+    var element = new Element("div", {"styles": { "position": "absolute" } });
+    this.element = element;
+    this.element.wmpanel = this;
+    
+    if(hidden) {
+      this.setHidden(true);
+    } else {
+      this.hidden = false;
+    }
+    parent.addClass("swmelement");
+    
+    parent.appendChild(this.element);
+    this.anchor = SWM_ANCHOR_NONE;
+  },
+  setHeight: function(height) {
+    this.height = height;
+  },
+  setWidth: function(width) {
+    this.width = width;
+  },
+  setHidden: function(value) {
+    this.hidden = value;
+    if(value) {
+      this.element.setStyle("display", "none");
+    } else {
+      this.element.setStyle("display", "block");
+    }
+  }
+});
+
+window.addEvent("domready", function() {
+  function reworkLayout(container) {
+    function anchorFilter(x, anchor) {
+      return x.filter(function(y) {
+        if(y.anchor == anchor)
+          return true;
+      });
+    }
+    var x = container.getChildren().map(function(x) {
+      return x.wmpanel
+    });
+    var top = anchorFilter(x, SWM_ANCHOR_TOP);
+    var bottom = anchorFilter(x, SWM_ANCHOR_BOTTOM);
+    var none = anchorFilter(x, SWM_ANCHOR_NONE);
+
+    var left = anchorFilter(x, SWM_ANCHOR_LEFT);
+    var right = anchorFilter(x, SWM_ANCHOR_RIGHT);
+    
+    var tpos = 0;
+    for(var i=0;i<top.length;i++) {
+      if(top[i].hidden)
+        continue;
+      var obj = top[i].element;
+      obj.setStyles({"top": tpos + "px", "left": "0px", "right": "0px"});
+      tpos = tpos + obj.getSize().y;
+    }
+    
+    var bpos = 0;
+    for(var i=0;i<bottom.length;i++) {
+      if(bottom[i].hidden)
+        continue;
+      var obj = bottom[i].element;
+      obj.setStyles({"bottom": bpos + "px", "left": "0px", "right": "0px"});
+      bpos = bpos + obj.getSize().y;
+    }
+    
+    var lpos = 0;
+    for(var i=0;i<left.length;i++) {
+      if(left[i].hidden)
+        continue;
+      var obj = left[i].element;
+      obj.setStyles({"left": lpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+      lpos = lpos + obj.getSize().x;
+    }
+
+    var rpos = 0;
+    for(var i=0;i<right.length;i++) {
+      if(right[i].hidden)
+        continue;
+      var obj = right[i].element;
+      obj.setStyles({"right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+      rpos = rpos + obj.getSize().x;
+    }
+
+    for(var i=0;i<none.length;i++) {
+      if(none[i].hidden)
+        continue;
+      var obj = none[i].element;
+      obj.setStyles({"left": lpos + "px", "right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});
+    }
+  }
+  
+  window.addEvent("resize", function() {
+    $$("div.swmelement").each(reworkLayout);
+  });
 });
\ No newline at end of file