syntax: glob
+static\js\uglyui.js
+static\js\swmui.js
+static\js\qwebirc.js
static\js\debug
qwebirc\config.py
dropin.cache
-@echo off\r
-del compiled.js\r
-del concat.js\r
+rem @echo off\r
+mkdir compiled\r
+del /q compiled\*.js\r
+\r
cd js\r
-copy version.js + jslib.js + irc\ircconnection.js + irc\irclib.js + irc\baseirc.js + irc\irctracker.js + irc\commandparser.js + irc\ircclient.js + ui\uibase.js + ui\colour.js + ui\theme.js + ui\uglyui.js ..\concat.js /b\r
-cd ..\r
-java -jar bin\yuicompressor-2.3.5.jar concat.js > compiled.js\r
+copy version.js + jslib.js + irc\ircconnection.js + irc\irclib.js + irc\baseirc.js + irc\irctracker.js + irc\commandparser.js + irc\ircclient.js + ui\uibase.js + ui\colour.js + ui\theme.js ..\compiled\qwebirc-concat.js /b\r
+copy ui\swmlayout.js + ui\swmui.js ..\compiled\swmui-concat.js /b\r
+cd ..\compiled\r
+\r
+java -jar ..\bin\yuicompressor-2.3.5.jar qwebirc-concat.js > qwebirc-compiled.js\r
+if not %errorlevel% == 0 goto error\r
+\r
+java -jar ..\bin\yuicompressor-2.3.5.jar ..\js\ui\uglyui.js > uglyui-compiled.js\r
+if not %errorlevel% == 0 goto error\r
\r
-if %errorlevel% == 0 goto ok\r
+java -jar ..\bin\yuicompressor-2.3.5.jar swmui-concat.js > swmui-compiled.js\r
+if not %errorlevel% == 0 goto error\r
+goto ok\r
\r
-del compiled.js\r
+:error\r
+cd ..\r
+del /q compiled\*-compiled.js\r
pause\r
-goto ene\r
+goto end\r
\r
:ok\r
-del concat.js\r
-copy js\copyright.js + compiled.js /b static\js\qwebirc.js\r
-del compiled.js\r
+cd ..\r
+copy js\copyright.js + compiled\qwebirc-compiled.js /b static\js\qwebirc.js\r
+copy js\copyright.js + compiled\uglyui-compiled.js /b static\js\uglyui.js\r
+copy js\copyright.js + compiled\swmui-compiled.js /b static\js\swmui.js\r
+del /q compiled\*.js\r
+rmdir compiled\r
+\r
goto end\r
\r
:end\r
--- /dev/null
+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, id) {\r
+ this.parent = parent;\r
+ \r
+ var element = new Element("div", {"id": id, "styles": { "position": "absolute" } });\r
+ this.element = element;\r
+ this.element.wmpanel = this;\r
+\r
+ parent.addClass("wmelement");\r
+ \r
+ parent.appendChild(this.element);\r
+ this.anchor = ANCHOR_NONE;\r
+ },\r
+\r
+ setHeight: function(height) {\r
+ this.height = height;\r
+ },\r
+ \r
+ setWidth: function(width) {\r
+ this.width = width;\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
+ var obj = top[i].element;\r
+ obj.setStyles({"top": tpos + "px", "left": "0px", "right": "0px"});\r
+ tpos = tpos + obj.getSize()["size"]["y"];\r
+ }\r
+ \r
+ var bpos = 0;\r
+ for(var i=0;i<bottom.length;i++) {\r
+ var obj = bottom[i].element;\r
+ obj.setStyles({"bottom": bpos + "px", "left": "0px", "right": "0px"});\r
+ bpos = bpos + obj.getSize()["size"]["y"];\r
+ }\r
+ \r
+ var lpos = 0;\r
+ for(var i=0;i<left.length;i++) {\r
+ var obj = left[i].element;\r
+ obj.setStyles({"left": lpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
+ lpos = lpos + obj.getSize()["size"]["x"];\r
+ }\r
+\r
+ var rpos = 0;\r
+ for(var i=0;i<right.length;i++) {\r
+ var obj = right[i].element;\r
+ obj.setStyles({"right": rpos + "px", "top": tpos + "px", "bottom": bpos + "px"});\r
+ rpos = rpos + obj.getSize()["size"]["x"];\r
+ }\r
+\r
+ for(var i=0;i<none.length;i++) {\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[class=wmelement]").forEach(reworklayout);\r
+ });\r
+});
\ No newline at end of file
--- /dev/null
+var RootPanel;\r
+var TabPanel;\r
+var EntryPanel;\r
+var MainPanel;\r
+var NickList;\r
+var Content;\r
+\r
+window.addEvent("domready", function() {\r
+ RootPanel = $("container");\r
+ TabPanel = new Panel(RootPanel, "tabs");\r
+ \r
+ TabPanel.anchor = ANCHOR_TOP;\r
+ MainPanel = new Panel(RootPanel, "main");\r
+ \r
+ EntryPanel = new Panel(RootPanel, "entry");\r
+ EntryPanel.anchor = ANCHOR_BOTTOM;\r
+ \r
+ //EntryPanel.element.setHTML("<input/>");\r
+ EntryPanel.element.setHTML("<input class=\"inputwidth\"/>");\r
+ \r
+ var iw = $$("input[class=inputwidth]");\r
+ window.addEvent("resize", function() {\r
+ var s = EntryPanel.element.getSize()["size"]["x"] - 4;\r
+ iw.setStyle("width", s + "px");\r
+ });\r
+ //window.addEvent("domready", function() {\r
+ \r
+ Content = new Panel(MainPanel.element, "content");\r
+ Content.element.setStyle("overflow", "auto");\r
+ \r
+ NickList = new Panel(MainPanel.element, "nicklist");\r
+ NickList.anchor = ANCHOR_RIGHT;\r
+ NickList.element.setStyle("overflow", "auto");\r
+ \r
+ for(var i=0;i<100;i++) {\r
+ var e = new Element("div").setText("MOO");\r
+ \r
+ Content.element.appendChild(e);\r
+ }\r
+ \r
+ for(var i=0;i<10;i++) {\r
+ var e = new Element("div").setText("MOO");\r
+ \r
+ NickList.element.appendChild(e);\r
+ }\r
+\r
+ for(var i=0;i<5;i++) {\r
+ var e = new Element("span").setText("MOO" + i);\r
+ \r
+ TabPanel.element.appendChild(e);\r
+ }\r
+ \r
+ window.fireEvent("resize");\r
+});
\ No newline at end of file
--- /dev/null
+body, html {\r
+ height: 100%;\r
+ width: 100%;\r
+ margin: 0;\r
+ padding: 0;\r
+}\r
+\r
+div#container {\r
+ height: 100%;\r
+ width: 100%;\r
+}\r
+\r
+div#tabs {\r
+ background: #fdd;\r
+}\r
+\r
+div#main {\r
+ background: #ddf;\r
+}\r
+\r
+div#entry {\r
+ background: #dfd;\r
+}\r
+\r
+div#content {\r
+ background: #ddf;\r
+}\r
+\r
+div#nicklist {\r
+ background: #dff;\r
+}\r
+\r
+div#tabs span {\r
+ float: left;\r
+ min-width: 100px;\r
+ display: block;\r
+ border: 1px solid black;\r
+ margin-right: 2px;\r
+}\r
+\r
+div#entry input {\r
+ padding: 0px;\r
+}\r
+\r
+div#entry {\r
+}
\ No newline at end of file
<title>QuakeNet Web IRC</title>\r
<link rel="stylesheet" href="css/colours.css" type="text/css">\r
<link rel="stylesheet" href="css/uglyui.css" type="text/css">\r
- <script type="text/javascript" src="js/mootools-1.2-core.js"></script>\r
+<!-- <script type="text/javascript" src="js/mootools-1.2-core.js"></script>\r
<script type="text/javascript" src="js/debug/version.js"></script>\r
<script type="text/javascript" src="js/debug/jslib.js"></script>\r
<script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>\r
<script type="text/javascript" src="js/debug/ui/uibase.js"></script>\r
<script type="text/javascript" src="js/debug/ui/colour.js"></script>\r
<script type="text/javascript" src="js/debug/ui/theme.js"></script>\r
- <script type="text/javascript" src="js/debug/ui/uglyui.js"></script>\r
- <!--<script type="text/javascript" src="js/qwebirc.js"></script>-->\r
+ <script type="text/javascript" src="js/debug/ui/uglyui.js"></script>-->\r
+ <script type="text/javascript" src="js/qwebirc.js"></script>\r
+ <script type="text/javascript" src="js/swmui.js"></script>\r
<script type="text/javascript"> \r
window.addEvent("domready", function() {\r
var theme = new Theme();\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+ <title>QuakeNet Web IRC</title>\r
+ <link rel="stylesheet" href="css/colours.css" type="text/css">\r
+ <link rel="stylesheet" href="css/uglyui.css" type="text/css">\r
+<!-- <script type="text/javascript" src="js/mootools-1.2-core.js"></script>\r
+ <script type="text/javascript" src="js/debug/version.js"></script>\r
+ <script type="text/javascript" src="js/debug/jslib.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/irclib.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/baseirc.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/irctracker.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/commandparser.js"></script>\r
+ <script type="text/javascript" src="js/debug/irc/ircclient.js"></script>\r
+ <script type="text/javascript" src="js/debug/ui/uibase.js"></script>\r
+ <script type="text/javascript" src="js/debug/ui/colour.js"></script>\r
+ <script type="text/javascript" src="js/debug/ui/theme.js"></script>\r
+ <script type="text/javascript" src="js/debug/ui/uglyui.js"></script>-->\r
+ <script type="text/javascript" src="js/qwebirc.js"></script>\r
+ <script type="text/javascript" src="js/uglyui.js"></script>\r
+ <script type="text/javascript"> \r
+ window.addEvent("domready", function() {\r
+ var theme = new Theme();\r
+ var ui = new UglyUI($("ircui"), theme);\r
+\r
+ var IRC = new IRCClient({nickname: "mcgoogle"}, ui);\r
+ IRC.connect();\r
+ });\r
+ </script>\r
+</head>\r
+<body>\r
+ <div id="ircui"></div>\r
+</body>\r
+</html>
\ No newline at end of file