Author: damoxc

Revision: 5080

Log:
        move the classes in deluge-ext to ext-extensions and remove deluge-ext

Diff:
Modified: trunk/deluge/ui/web/js/build.sh
===================================================================
--- trunk/deluge/ui/web/js/build.sh     2009-04-18 16:14:56 UTC (rev 5079)
+++ trunk/deluge/ui/web/js/build.sh     2009-04-18 16:20:07 UTC (rev 5080)
@@ -1,4 +1,4 @@
-DELUGE_FILES="rpc.js deluge.js deluge-ext.js deluge-login.js deluge-menus.js 
deluge-bars.js deluge-connections.js deluge-torrents.js deluge-details.js 
deluge-add.js deluge-preferences.js deluge-ui.js"
+DELUGE_FILES="rpc.js deluge.js deluge-login.js deluge-menus.js deluge-bars.js 
deluge-connections.js deluge-torrents.js deluge-details.js deluge-add.js 
deluge-preferences.js deluge-ui.js"
 ALL_FILES="ext-extensions-debug.js $DELUGE_FILES"
 
 scan() {

Deleted: trunk/deluge/ui/web/js/deluge-ext.js
===================================================================
--- trunk/deluge/ui/web/js/deluge-ext.js        2009-04-18 16:14:56 UTC (rev 
5079)
+++ trunk/deluge/ui/web/js/deluge-ext.js        2009-04-18 16:20:07 UTC (rev 
5080)
@@ -1,285 +0,0 @@
-/*
-Script: deluge-ext.js
-    Container for all classes that extend Exts native classes.
-
-Copyright:
-       (C) Damien Churchill 2009 <[email protected]>
-       This program is free software; you can redistribute it and/or modify
-       it under the terms of the GNU General Public License as published by
-       the Free Software Foundation; either version 3, or (at your option)
-       any later version.
-
-       This program is distributed in the hope that it will be useful,
-       but WITHOUT ANY WARRANTY; without even the implied warranty of
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       GNU General Public License for more details.
-
-       You should have received a copy of the GNU General Public License
-       along with this program.  If not, write to:
-               The Free Software Foundation, Inc.,
-               51 Franklin Street, Fifth Floor
-               Boston, MA  02110-1301, USA.
-*/
-
-Deluge.ProgressBar = Ext.extend(Ext.ProgressBar, {
-       initComponent: function() {
-               Deluge.ProgressBar.superclass.initComponent.call(this);
-       },
-       
-       updateProgress: function(value, text, animate) {
-               this.value = value || 0;
-               if (text) {
-                       this.updateText(text);
-               }
-               
-               if (this.rendered) {
-                       var w = 
Math.floor(value*this.el.dom.firstChild.offsetWidth / 100.0);
-               this.progressBar.setWidth(w, animate === true || (animate !== 
false && this.animate));
-               if (this.textTopEl) {
-                   //textTopEl should be the same width as the bar so overflow 
will clip as the bar moves
-                   this.textTopEl.removeClass('x-hidden').setWidth(w);
-               }
-               }
-               this.fireEvent('update', this, value, text);
-               return this;
-       }
-});
-Ext.reg('deluge-progressbar', Deluge.ProgressBar);
-
-Ext.tree.ColumnTree = Ext.extend(Ext.tree.TreePanel, {
-    lines:false,
-    borderWidth: Ext.isBorderBox ? 0 : 2, // the combined left/right border 
for each cell
-    cls:'x-column-tree',
-    
-    onRender : function(){
-        Ext.tree.ColumnTree.superclass.onRender.apply(this, arguments);
-        this.headers = this.body.createChild(
-            {cls:'x-tree-headers'},this.innerCt.dom);
-
-        var cols = this.columns, c;
-        var totalWidth = 0;
-
-        for(var i = 0, len = cols.length; i < len; i++){
-             c = cols[i];
-             totalWidth += c.width;
-             this.headers.createChild({
-                 cls:'x-tree-hd ' + (c.cls?c.cls+'-hd':''),
-                 cn: {
-                     cls:'x-tree-hd-text',
-                     html: c.header
-                 },
-                 style:'width:'+(c.width-this.borderWidth)+'px;'
-             });
-        }
-        this.headers.createChild({cls:'x-clear'});
-        // prevent floats from wrapping when clipped
-        this.headers.setWidth(totalWidth);
-        this.innerCt.setWidth(totalWidth);
-    }
-});
-
-Ext.tree.ColumnTreeNode = Ext.extend(Ext.tree.TreeNode, {
-       
-       setColumnValue: function(index, value) {
-               var t = this.getOwnerTree();
-               var oldValue = this[t.columns[index].dataIndex];
-               this[t.columns[index].dataIndex] = value;
-               this.attributes[[t.columns[index].dataIndex]] = value;
-               if (this.rendered) {
-                       this.ui.onColumnValueChange(this, index, value, 
oldValue);
-               }
-               this.fireEvent('columnvaluechange', this, index, value, 
oldValue);
-       }
-});
-
-Ext.tree.ColumnNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
-    focus: Ext.emptyFn, // prevent odd scrolling behavior
-       
-       onColumnValueChange: function(n, colIndex, value, oldValue) {
-               if (this.rendered) {
-                       var c = n.getOwnerTree().columns[colIndex];
-                       this.columnNodes[colIndex].innerHTML = (c.renderer ? 
c.renderer(value, n, null) : value);
-               }
-       },
-
-    renderElements : function(n, a, targetNode, bulkRender){
-        this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : 
'';
-
-        var t = n.getOwnerTree();
-        var cols = t.columns;
-        var bw = t.borderWidth;
-        var c = cols[0];
-        
-        var cb = typeof a.checked == 'boolean';
-               var href = a.href ? a.href : Ext.isGecko ? "" : "#";
-
-        var buf = [
-             '<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" 
class="x-tree-node-el x-tree-node-leaf x-unselectable ', a.cls,'" 
unselectable="on">',
-                '<div class="x-tree-col" style="width:',c.width-bw,'px;">',
-                    '<span 
class="x-tree-node-indent">',this.indentMarkup,"</span>",
-                    '<img src="', this.emptyIcon, '" class="x-tree-ec-icon 
x-tree-elbow">',
-                    '<img src="', a.icon || this.emptyIcon, '" 
class="x-tree-node-icon',(a.icon ? " x-tree-node-inline-icon" : ""),(a.iconCls 
? " "+a.iconCls : ""),'" unselectable="on" />',
-                    cb ? ('<input class="x-tree-node-cb" type="checkbox" ' + 
(a.checked ? 'checked="checked" />' : '/>')) : '',
-                    '<a hidefocus="on" class="x-tree-node-anchor" 
href="',href,'" tabIndex="1" ',
-                    a.hrefTarget ? ' target="'+a.hrefTarget+'"' : "", '>',
-                    '<span unselectable="on">', n.text || (c.renderer ? 
c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]),"</span></a>",
-                "</div>"];
-         for(var i = 1, len = cols.length; i < len; i++){
-             c = cols[i];
-
-             buf.push('<div class="x-tree-col ',(c.cls?c.cls:''),'" 
style="width:',c.width-bw,'px;">',
-                        '<div class="x-tree-col-text">',(c.renderer ? 
c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]),"</div>",
-                      "</div>");
-         }
-         buf.push(
-            '<div class="x-clear"></div></div>',
-            '<ul class="x-tree-node-ct" style="display:none;"></ul>',
-            "</li>");
-
-        if(bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()){
-            this.wrap = Ext.DomHelper.insertHtml("beforeBegin",
-                                n.nextSibling.ui.getEl(), buf.join(""));
-        }else{
-            this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, 
buf.join(""));
-        }
-
-        this.elNode = this.wrap.childNodes[0];
-        this.ctNode = this.wrap.childNodes[1];
-        var cs = this.elNode.firstChild.childNodes;
-        this.indentNode = cs[0];
-        this.ecNode = cs[1];
-        this.iconNode = cs[2];
-               var index = 3;
-        if(cb){
-            this.checkbox = cs[3];
-                       // fix for IE6
-                       this.checkbox.defaultChecked = this.checkbox.checked;   
                
-            index++;
-        }
-        this.anchor = cs[index];
-               this.columnNodes = [cs[index].firstChild];
-               for(var i = 1, len = cols.length; i < len; i++){
-                       this.columnNodes[i] = 
this.elNode.childNodes[i].firstChild;
-               }
-    }
-});
-
-Ext.form.FileUploadField = Ext.extend(Ext.form.TextField,  {
-    /**
-     * @cfg {String} buttonText The button text to display on the upload 
button (defaults to
-     * 'Browse...').  Note that if you supply a value for {...@link 
#buttonCfg}, the buttonCfg.text
-     * value will be used instead if available.
-     */
-    buttonText: 'Browse...',
-    /**
-     * @cfg {Boolean} buttonOnly True to display the file upload field as a 
button with no visible
-     * text field (defaults to false).  If true, all inherited TextField 
members will still be available.
-     */
-    buttonOnly: false,
-    /**
-     * @cfg {Number} buttonOffset The number of pixels of space reserved 
between the button and the text field
-     * (defaults to 3).  Note that this only applies if {...@link #buttonOnly} 
= false.
-     */
-    buttonOffset: 3,
-    /**
-     * @cfg {Object} buttonCfg A standard {...@link Ext.Button} config object.
-     */
-
-    // private
-    readOnly: true,
-    
-    /**
-     * @hide 
-     * @method autoSize
-     */
-    autoSize: Ext.emptyFn,
-    
-    // private
-    initComponent: function(){
-        Ext.form.FileUploadField.superclass.initComponent.call(this);
-        
-        this.addEvents(
-            /**
-             * @event fileselected
-             * Fires when the underlying file input field's value has changed 
from the user
-             * selecting a new file from the system file selection dialog.
-             * @param {Ext.form.FileUploadField} this
-             * @param {String} value The file value returned by the underlying 
file input field
-             */
-            'fileselected'
-        );
-    },
-    
-    // private
-    onRender : function(ct, position){
-        Ext.form.FileUploadField.superclass.onRender.call(this, ct, position);
-        
-        this.wrap = this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});
-        this.el.addClass('x-form-file-text');
-        this.el.dom.removeAttribute('name');
-        
-        this.fileInput = this.wrap.createChild({
-            id: this.getFileInputId(),
-            name: this.name||this.getId(),
-            cls: 'x-form-file',
-            tag: 'input', 
-            type: 'file',
-            size: 1
-        });
-        
-        var btnCfg = Ext.applyIf(this.buttonCfg || {}, {
-            text: this.buttonText
-        });
-        this.button = new Ext.Button(Ext.apply(btnCfg, {
-            renderTo: this.wrap
-        }));
-        
-        if(this.buttonOnly){
-            this.el.hide();
-            this.wrap.setWidth(this.button.getEl().getWidth());
-        }
-        
-        this.fileInput.on('change', function(){
-            var v = this.fileInput.dom.value;
-            this.setValue(v);
-            this.fireEvent('fileselected', this, v);
-        }, this);
-    },
-    
-    // private
-    getFileInputId: function(){
-        return this.id+'-file';
-    },
-    
-    // private
-    onResize : function(w, h){
-        Ext.form.FileUploadField.superclass.onResize.call(this, w, h);
-        
-        this.wrap.setWidth(w);
-        
-        if(!this.buttonOnly){
-            var w = this.wrap.getWidth() - this.button.getEl().getWidth() - 
this.buttonOffset;
-            this.el.setWidth(w);
-        }
-    },
-    
-    // private
-    preFocus : Ext.emptyFn,
-    
-    // private
-    getResizeEl : function(){
-        return this.wrap;
-    },
-
-    // private
-    getPositionEl : function(){
-        return this.wrap;
-    },
-
-    // private
-    alignErrorIcon : function(){
-        this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);
-    }
-    
-});
-Ext.reg('fileuploadfield', Ext.form.FileUploadField);

Modified: trunk/deluge/ui/web/js/ext-extensions-debug.js
===================================================================
--- trunk/deluge/ui/web/js/ext-extensions-debug.js      2009-04-18 16:14:56 UTC 
(rev 5079)
+++ trunk/deluge/ui/web/js/ext-extensions-debug.js      2009-04-18 16:20:07 UTC 
(rev 5080)
@@ -458,7 +458,6 @@
 
 });
 
-
 /***
  * Concrete Strategy: Time
  */
@@ -472,4 +471,278 @@
        incrementConstant : Date.MINUTE,
        alternateIncrementValue : 1,
        alternateIncrementConstant : Date.HOUR
-});
\ No newline at end of file
+});
+
+Ext.tree.ColumnTree = Ext.extend(Ext.tree.TreePanel, {
+    lines:false,
+    borderWidth: Ext.isBorderBox ? 0 : 2, // the combined left/right border 
for each cell
+    cls:'x-column-tree',
+    
+    onRender : function(){
+        Ext.tree.ColumnTree.superclass.onRender.apply(this, arguments);
+        this.headers = this.body.createChild(
+            {cls:'x-tree-headers'},this.innerCt.dom);
+
+        var cols = this.columns, c;
+        var totalWidth = 0;
+
+        for(var i = 0, len = cols.length; i < len; i++){
+             c = cols[i];
+             totalWidth += c.width;
+             this.headers.createChild({
+                 cls:'x-tree-hd ' + (c.cls?c.cls+'-hd':''),
+                 cn: {
+                     cls:'x-tree-hd-text',
+                     html: c.header
+                 },
+                 style:'width:'+(c.width-this.borderWidth)+'px;'
+             });
+        }
+        this.headers.createChild({cls:'x-clear'});
+        // prevent floats from wrapping when clipped
+        this.headers.setWidth(totalWidth);
+        this.innerCt.setWidth(totalWidth);
+    }
+});
+
+Ext.tree.ColumnTreeNode = Ext.extend(Ext.tree.TreeNode, {
+       
+       setColumnValue: function(index, value) {
+               var t = this.getOwnerTree();
+               var oldValue = this[t.columns[index].dataIndex];
+               this[t.columns[index].dataIndex] = value;
+               this.attributes[[t.columns[index].dataIndex]] = value;
+               if (this.rendered) {
+                       this.ui.onColumnValueChange(this, index, value, 
oldValue);
+               }
+               this.fireEvent('columnvaluechange', this, index, value, 
oldValue);
+       }
+});
+
+Ext.tree.ColumnNodeUI = Ext.extend(Ext.tree.TreeNodeUI, {
+    focus: Ext.emptyFn, // prevent odd scrolling behavior
+       
+       onColumnValueChange: function(n, colIndex, value, oldValue) {
+               if (this.rendered) {
+                       var c = n.getOwnerTree().columns[colIndex];
+                       this.columnNodes[colIndex].innerHTML = (c.renderer ? 
c.renderer(value, n, null) : value);
+               }
+       },
+
+    renderElements : function(n, a, targetNode, bulkRender){
+        this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : 
'';
+
+        var t = n.getOwnerTree();
+        var cols = t.columns;
+        var bw = t.borderWidth;
+        var c = cols[0];
+        
+        var cb = typeof a.checked == 'boolean';
+               var href = a.href ? a.href : Ext.isGecko ? "" : "#";
+
+        var buf = [
+             '<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" 
class="x-tree-node-el x-tree-node-leaf x-unselectable ', a.cls,'" 
unselectable="on">',
+                '<div class="x-tree-col" style="width:',c.width-bw,'px;">',
+                    '<span 
class="x-tree-node-indent">',this.indentMarkup,"</span>",
+                    '<img src="', this.emptyIcon, '" class="x-tree-ec-icon 
x-tree-elbow">',
+                    '<img src="', a.icon || this.emptyIcon, '" 
class="x-tree-node-icon',(a.icon ? " x-tree-node-inline-icon" : ""),(a.iconCls 
? " "+a.iconCls : ""),'" unselectable="on" />',
+                    cb ? ('<input class="x-tree-node-cb" type="checkbox" ' + 
(a.checked ? 'checked="checked" />' : '/>')) : '',
+                    '<a hidefocus="on" class="x-tree-node-anchor" 
href="',href,'" tabIndex="1" ',
+                    a.hrefTarget ? ' target="'+a.hrefTarget+'"' : "", '>',
+                    '<span unselectable="on">', n.text || (c.renderer ? 
c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]),"</span></a>",
+                "</div>"];
+         for(var i = 1, len = cols.length; i < len; i++){
+             c = cols[i];
+
+             buf.push('<div class="x-tree-col ',(c.cls?c.cls:''),'" 
style="width:',c.width-bw,'px;">',
+                        '<div class="x-tree-col-text">',(c.renderer ? 
c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]),"</div>",
+                      "</div>");
+         }
+         buf.push(
+            '<div class="x-clear"></div></div>',
+            '<ul class="x-tree-node-ct" style="display:none;"></ul>',
+            "</li>");
+
+        if(bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()){
+            this.wrap = Ext.DomHelper.insertHtml("beforeBegin",
+                                n.nextSibling.ui.getEl(), buf.join(""));
+        }else{
+            this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, 
buf.join(""));
+        }
+
+        this.elNode = this.wrap.childNodes[0];
+        this.ctNode = this.wrap.childNodes[1];
+        var cs = this.elNode.firstChild.childNodes;
+        this.indentNode = cs[0];
+        this.ecNode = cs[1];
+        this.iconNode = cs[2];
+               var index = 3;
+        if(cb){
+            this.checkbox = cs[3];
+                       // fix for IE6
+                       this.checkbox.defaultChecked = this.checkbox.checked;   
                
+            index++;
+        }
+        this.anchor = cs[index];
+               this.columnNodes = [cs[index].firstChild];
+               for(var i = 1, len = cols.length; i < len; i++){
+                       this.columnNodes[i] = 
this.elNode.childNodes[i].firstChild;
+               }
+    }
+});
+
+Ext.form.FileUploadField = Ext.extend(Ext.form.TextField,  {
+    /**
+     * @cfg {String} buttonText The button text to display on the upload 
button (defaults to
+     * 'Browse...').  Note that if you supply a value for {...@link 
#buttonCfg}, the buttonCfg.text
+     * value will be used instead if available.
+     */
+    buttonText: 'Browse...',
+    /**
+     * @cfg {Boolean} buttonOnly True to display the file upload field as a 
button with no visible
+     * text field (defaults to false).  If true, all inherited TextField 
members will still be available.
+     */
+    buttonOnly: false,
+    /**
+     * @cfg {Number} buttonOffset The number of pixels of space reserved 
between the button and the text field
+     * (defaults to 3).  Note that this only applies if {...@link #buttonOnly} 
= false.
+     */
+    buttonOffset: 3,
+    /**
+     * @cfg {Object} buttonCfg A standard {...@link Ext.Button} config object.
+     */
+
+    // private
+    readOnly: true,
+    
+    /**
+     * @hide 
+     * @method autoSize
+     */
+    autoSize: Ext.emptyFn,
+    
+    // private
+    initComponent: function(){
+        Ext.form.FileUploadField.superclass.initComponent.call(this);
+        
+        this.addEvents(
+            /**
+             * @event fileselected
+             * Fires when the underlying file input field's value has changed 
from the user
+             * selecting a new file from the system file selection dialog.
+             * @param {Ext.form.FileUploadField} this
+             * @param {String} value The file value returned by the underlying 
file input field
+             */
+            'fileselected'
+        );
+    },
+    
+    // private
+    onRender : function(ct, position){
+        Ext.form.FileUploadField.superclass.onRender.call(this, ct, position);
+        
+        this.wrap = this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});
+        this.el.addClass('x-form-file-text');
+        this.el.dom.removeAttribute('name');
+        
+        this.fileInput = this.wrap.createChild({
+            id: this.getFileInputId(),
+            name: this.name||this.getId(),
+            cls: 'x-form-file',
+            tag: 'input', 
+            type: 'file',
+            size: 1
+        });
+        
+        var btnCfg = Ext.applyIf(this.buttonCfg || {}, {
+            text: this.buttonText
+        });
+        this.button = new Ext.Button(Ext.apply(btnCfg, {
+            renderTo: this.wrap
+        }));
+        
+        if(this.buttonOnly){
+            this.el.hide();
+            this.wrap.setWidth(this.button.getEl().getWidth());
+        }
+        
+        this.fileInput.on('change', function(){
+            var v = this.fileInput.dom.value;
+            this.setValue(v);
+            this.fireEvent('fileselected', this, v);
+        }, this);
+    },
+    
+    // private
+    getFileInputId: function(){
+        return this.id+'-file';
+    },
+    
+    // private
+    onResize : function(w, h){
+        Ext.form.FileUploadField.superclass.onResize.call(this, w, h);
+        
+        this.wrap.setWidth(w);
+        
+        if(!this.buttonOnly){
+            var w = this.wrap.getWidth() - this.button.getEl().getWidth() - 
this.buttonOffset;
+            this.el.setWidth(w);
+        }
+    },
+    
+    // private
+    preFocus : Ext.emptyFn,
+    
+    // private
+    getResizeEl : function(){
+        return this.wrap;
+    },
+
+    // private
+    getPositionEl : function(){
+        return this.wrap;
+    },
+
+    // private
+    alignErrorIcon : function(){
+        this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);
+    }
+    
+});
+Ext.reg('fileuploadfield', Ext.form.FileUploadField);
+
+/**
+  * Ext.ux.FullProgressBar Class
+  *
+  * @author Damien Churchill <[email protected]>
+  * @version 1.2
+  *
+  * @class Ext.deluge.ProgressBar
+  * @extends Ext.ProgressBar
+  * @constructor
+  * @param {Object} config Configuration options
+  */
+Ext.ux.FullProgressBar = Ext.extend(Ext.ProgressBar, {
+       initComponent: function() {
+               Ext.ux.FullProgressBar.superclass.initComponent.call(this);
+       },
+       
+       updateProgress: function(value, text, animate) {
+               this.value = value || 0;
+               if (text) {
+                       this.updateText(text);
+               }
+               
+               if (this.rendered) {
+                       var w = 
Math.floor(value*this.el.dom.firstChild.offsetWidth / 100.0);
+               this.progressBar.setWidth(w, animate === true || (animate !== 
false && this.animate));
+               if (this.textTopEl) {
+                   //textTopEl should be the same width as the bar so overflow 
will clip as the bar moves
+                   this.textTopEl.removeClass('x-hidden').setWidth(w);
+               }
+               }
+               this.fireEvent('update', this, value, text);
+               return this;
+       }
+});
+Ext.reg('fullprogressbar', Ext.ux.FullProgressBar);
\ No newline at end of file

Modified: trunk/deluge/ui/web/js/ext-extensions.js
===================================================================
--- trunk/deluge/ui/web/js/ext-extensions.js    2009-04-18 16:14:56 UTC (rev 
5079)
+++ trunk/deluge/ui/web/js/ext-extensions.js    2009-04-18 16:20:07 UTC (rev 
5080)
@@ -1 +1 @@
-Ext.namespace("Ext.ux.form");Ext.ux.form.Spinner=function(a){Ext.ux.form.Spinner.superclass.constructor.call(this,a);this.addEvents({spin:true,spinup:true,spindown:true})};Ext.extend(Ext.ux.form.Spinner,Ext.form.TriggerField,{triggerClass:"x-form-spinner-trigger",splitterClass:"x-form-spinner-splitter",alternateKey:Ext.EventObject.shiftKey,strategy:undefined,onRender:function(b,a){Ext.ux.form.Spinner.superclass.onRender.call(this,b,a);this.splitter=this.wrap.createChild({tag:"div",cls:this.splitterClass,style:"width:13px;
 
height:2px;"});this.splitter.show().setRight((Ext.isIE)?1:2);this.splitter.show().setTop(10);this.proxy=this.trigger.createProxy("",this.splitter,true);this.proxy.addClass("x-form-spinner-proxy");this.proxy.setStyle("left","0px");this.proxy.setSize(14,1);this.proxy.hide();this.dd=new
 
Ext.dd.DDProxy(this.splitter.dom.id,"SpinnerDrag",{dragElId:this.proxy.id});this.initSpinner()},initTrigger:function(){this.trigger.addClassOnOver("x-form-trigger-over");this.t
 
rigger.addClassOnClick("x-form-trigger-click")},initSpinner:function(){this.keyNav=new
 
Ext.KeyNav(this.el,{up:function(a){a.preventDefault();this.onSpinUp()},down:function(a){a.preventDefault();this.onSpinDown()},pageUp:function(a){a.preventDefault();this.onSpinUpAlternate()},pageDown:function(a){a.preventDefault();this.onSpinDownAlternate()},scope:this});this.repeater=new
 
Ext.util.ClickRepeater(this.trigger);this.repeater.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.on("mouseover",this.onMouseOver,this,{preventDefault:true});this.trigger.on("mouseout",this.onMouseOut,this,{preventDefault:true});this.trigger.on("mousemove",this.onMouseMove,this,{preventDefault:true});this.trigger.on("mousedown",this.onMouseDown,this,{preventDefault:true});this.trigger.on("mouseup",this.onMouseUp,this,{preventDefault:true});this.wrap.on("mousewheel",this.handleMouseWheel,this);this.dd.setXConstraint(0,0,10);this.dd.setYConstraint(1500,1500,10);this.dd.endDrag=this.e
 
ndDrag.createDelegate(this);this.dd.startDrag=this.startDrag.createDelegate(this);this.dd.onDrag=this.onDrag.createDelegate(this);if("object"==typeof
 
this.strategy&&this.strategy.xtype){switch(this.strategy.xtype){case"number":this.strategy=new
 
Ext.ux.form.Spinner.NumberStrategy(this.strategy);break;case"date":this.strategy=new
 
Ext.ux.form.Spinner.DateStrategy(this.strategy);break;case"time":this.strategy=new
 Ext.ux.form.Spinner.TimeStrategy(this.strategy);break;default:delete 
(this.strategy);break}delete 
(this.strategy.xtype)}if(this.strategy==undefined){this.strategy=new 
Ext.ux.form.Spinner.NumberStrategy()}},onMouseOver:function(){if(this.disabled){return}var
 
a=this.getMiddle();this.__tmphcls=(Ext.EventObject.getPageY()<a)?"x-form-spinner-overup":"x-form-spinner-overdown";this.trigger.addClass(this.__tmphcls)},onMouseOut:function(){this.trigger.removeClass(this.__tmphcls)},onMouseMove:function(){if(this.disabled){return}var
 a=this.getMiddle();if(((Ext.EventObject.getPageY
 
()>a)&&this.__tmphcls=="x-form-spinner-overup")||((Ext.EventObject.getPageY()<a)&&this.__tmphcls=="x-form-spinner-overdown")){}},onMouseDown:function(){if(this.disabled){return}var
 
a=this.getMiddle();this.__tmpccls=(Ext.EventObject.getPageY()<a)?"x-form-spinner-clickup":"x-form-spinner-clickdown";this.trigger.addClass(this.__tmpccls)},onMouseUp:function(){this.trigger.removeClass(this.__tmpccls)},onTriggerClick:function(){if(this.disabled||this.getEl().dom.readOnly){return}var
 b=this.getMiddle();var 
a=(Ext.EventObject.getPageY()<b)?"Up":"Down";this["onSpin"+a]()},getMiddle:function(){var
 b=this.trigger.getTop();var c=this.trigger.getHeight();var a=b+(c/2);return 
a},isSpinnable:function(){if(this.disabled||this.getEl().dom.readOnly){Ext.EventObject.preventDefault();return
 false}return 
true},handleMouseWheel:function(a){if(this.wrap.hasClass("x-trigger-wrap-focus")==false){return}var
 
b=a.getWheelDelta();if(b>0){this.onSpinUp();a.stopEvent()}else{if(b<0){this.onSpinDown();a.sto
 
pEvent()}}},startDrag:function(){this.proxy.show();this._previousY=Ext.fly(this.dd.getDragEl()).getTop()},endDrag:function(){this.proxy.hide()},onDrag:function(){if(this.disabled){return}var
 b=Ext.fly(this.dd.getDragEl()).getTop();var 
a="";if(this._previousY>b){a="Up"}if(this._previousY<b){a="Down"}if(a!=""){this["onSpin"+a]()}this._previousY=b},onSpinUp:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinUpAlternate();return}else{this.strategy.onSpinUp(this)}this.fireEvent("spin",this);this.fireEvent("spinup",this)},onSpinDown:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinDownAlternate();return}else{this.strategy.onSpinDown(this)}this.fireEvent("spin",this);this.fireEvent("spindown",this)},onSpinUpAlternate:function(){if(this.isSpinnable()==false){return}this.strategy.onSpinUpAlternate(this);this.fireEvent("spin",this);this.fireEvent("spinup",this)},onSpinDownAlternate:function(){if(th
 
is.isSpinnable()==false){return}this.strategy.onSpinDownAlternate(this);this.fireEvent("spin",this);this.fireEvent("spindown",this)}});Ext.reg("uxspinner",Ext.ux.form.Spinner);Ext.ux.form.Spinner.Strategy=function(a){Ext.apply(this,a)};Ext.extend(Ext.ux.form.Spinner.Strategy,Ext.util.Observable,{defaultValue:0,minValue:undefined,maxValue:undefined,incrementValue:1,alternateIncrementValue:5,validationTask:new
 
Ext.util.DelayedTask(),onSpinUp:function(a){this.spin(a,false,false)},onSpinDown:function(a){this.spin(a,true,false)},onSpinUpAlternate:function(a){this.spin(a,false,true)},onSpinDownAlternate:function(a){this.spin(a,true,true)},spin:function(a,c,b){this.validationTask.delay(500,function(){a.validate()})},fixBoundries:function(a){return
 
a}});Ext.ux.form.Spinner.NumberStrategy=function(a){Ext.ux.form.Spinner.NumberStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.NumberStrategy,Ext.ux.form.Spinner.Strategy,{allowDecimals:true,decimalPrecision:2,
 
spin:function(b,e,c){Ext.ux.form.Spinner.NumberStrategy.superclass.spin.call(this,b,e,c);var
 a=parseFloat(b.getValue());var 
d=(c==true)?this.alternateIncrementValue:this.incrementValue;(e==true)?a-=d:a+=d;a=(isNaN(a))?this.defaultValue:a;a=this.fixBoundries(a);b.setRawValue(a)},fixBoundries:function(b){var
 
a=b;if(this.minValue!=undefined&&a<this.minValue){a=this.minValue}if(this.maxValue!=undefined&&a>this.maxValue){a=this.maxValue}return
 this.fixPrecision(a)},fixPrecision:function(b){var 
a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return 
a?"":b}return 
parseFloat(parseFloat(b).toFixed(this.decimalPrecision))}});Ext.ux.form.Spinner.DateStrategy=function(a){Ext.ux.form.Spinner.DateStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.DateStrategy,Ext.ux.form.Spinner.Strategy,{defaultValue:new
 
Date(),format:"Y-m-d",incrementValue:1,incrementConstant:Date.DAY,alternateIncrementValue:1,alternateIncrementConstant:Date.MONTH,spin:func
 tion(d,g,e){Ext.ux.form.Spinner.DateStrategy.superclass.spin.call(this);var 
a=d.getRawValue();a=Date.parseDate(a,this.format);var c=(g==true)?-1:1;var 
f=(e==true)?this.alternateIncrementValue:this.incrementValue;var 
b=(e==true)?this.alternateIncrementConstant:this.incrementConstant;if(typeof 
this.defaultValue=="string"){this.defaultValue=Date.parseDate(this.defaultValue,this.format)}a=(a)?a.add(b,c*f):this.defaultValue;a=this.fixBoundries(a);d.setRawValue(Ext.util.Format.date(a,this.format))},fixBoundries:function(b){var
 d=b;var c=(typeof 
this.minValue=="string")?Date.parseDate(this.minValue,this.format):this.minValue;var
 a=(typeof 
this.maxValue=="string")?Date.parseDate(this.maxValue,this.format):this.maxValue;if(this.minValue!=undefined&&d<c){d=c}if(this.maxValue!=undefined&&d>a){d=a}return
 
d}});Ext.ux.form.Spinner.TimeStrategy=function(a){Ext.ux.form.Spinner.TimeStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.TimeStrategy,Ext.ux.form.Spinner.D
 
ateStrategy,{format:"H:i",incrementValue:1,incrementConstant:Date.MINUTE,alternateIncrementValue:1,alternateIncrementConstant:Date.HOUR});
\ No newline at end of file
+Ext.namespace("Ext.ux.form");Ext.ux.form.Spinner=function(a){Ext.ux.form.Spinner.superclass.constructor.call(this,a);this.addEvents({spin:true,spinup:true,spindown:true})};Ext.extend(Ext.ux.form.Spinner,Ext.form.TriggerField,{triggerClass:"x-form-spinner-trigger",splitterClass:"x-form-spinner-splitter",alternateKey:Ext.EventObject.shiftKey,strategy:undefined,onRender:function(b,a){Ext.ux.form.Spinner.superclass.onRender.call(this,b,a);this.splitter=this.wrap.createChild({tag:"div",cls:this.splitterClass,style:"width:13px;
 
height:2px;"});this.splitter.show().setRight((Ext.isIE)?1:2);this.splitter.show().setTop(10);this.proxy=this.trigger.createProxy("",this.splitter,true);this.proxy.addClass("x-form-spinner-proxy");this.proxy.setStyle("left","0px");this.proxy.setSize(14,1);this.proxy.hide();this.dd=new
 
Ext.dd.DDProxy(this.splitter.dom.id,"SpinnerDrag",{dragElId:this.proxy.id});this.initSpinner()},initTrigger:function(){this.trigger.addClassOnOver("x-form-trigger-over");this.t
 
rigger.addClassOnClick("x-form-trigger-click")},initSpinner:function(){this.keyNav=new
 
Ext.KeyNav(this.el,{up:function(a){a.preventDefault();this.onSpinUp()},down:function(a){a.preventDefault();this.onSpinDown()},pageUp:function(a){a.preventDefault();this.onSpinUpAlternate()},pageDown:function(a){a.preventDefault();this.onSpinDownAlternate()},scope:this});this.repeater=new
 
Ext.util.ClickRepeater(this.trigger);this.repeater.on("click",this.onTriggerClick,this,{preventDefault:true});this.trigger.on("mouseover",this.onMouseOver,this,{preventDefault:true});this.trigger.on("mouseout",this.onMouseOut,this,{preventDefault:true});this.trigger.on("mousemove",this.onMouseMove,this,{preventDefault:true});this.trigger.on("mousedown",this.onMouseDown,this,{preventDefault:true});this.trigger.on("mouseup",this.onMouseUp,this,{preventDefault:true});this.wrap.on("mousewheel",this.handleMouseWheel,this);this.dd.setXConstraint(0,0,10);this.dd.setYConstraint(1500,1500,10);this.dd.endDrag=this.e
 
ndDrag.createDelegate(this);this.dd.startDrag=this.startDrag.createDelegate(this);this.dd.onDrag=this.onDrag.createDelegate(this);if("object"==typeof
 
this.strategy&&this.strategy.xtype){switch(this.strategy.xtype){case"number":this.strategy=new
 
Ext.ux.form.Spinner.NumberStrategy(this.strategy);break;case"date":this.strategy=new
 
Ext.ux.form.Spinner.DateStrategy(this.strategy);break;case"time":this.strategy=new
 Ext.ux.form.Spinner.TimeStrategy(this.strategy);break;default:delete 
(this.strategy);break}delete 
(this.strategy.xtype)}if(this.strategy==undefined){this.strategy=new 
Ext.ux.form.Spinner.NumberStrategy()}},onMouseOver:function(){if(this.disabled){return}var
 
a=this.getMiddle();this.__tmphcls=(Ext.EventObject.getPageY()<a)?"x-form-spinner-overup":"x-form-spinner-overdown";this.trigger.addClass(this.__tmphcls)},onMouseOut:function(){this.trigger.removeClass(this.__tmphcls)},onMouseMove:function(){if(this.disabled){return}var
 a=this.getMiddle();if(((Ext.EventObject.getPageY
 
()>a)&&this.__tmphcls=="x-form-spinner-overup")||((Ext.EventObject.getPageY()<a)&&this.__tmphcls=="x-form-spinner-overdown")){}},onMouseDown:function(){if(this.disabled){return}var
 
a=this.getMiddle();this.__tmpccls=(Ext.EventObject.getPageY()<a)?"x-form-spinner-clickup":"x-form-spinner-clickdown";this.trigger.addClass(this.__tmpccls)},onMouseUp:function(){this.trigger.removeClass(this.__tmpccls)},onTriggerClick:function(){if(this.disabled||this.getEl().dom.readOnly){return}var
 b=this.getMiddle();var 
a=(Ext.EventObject.getPageY()<b)?"Up":"Down";this["onSpin"+a]()},getMiddle:function(){var
 b=this.trigger.getTop();var c=this.trigger.getHeight();var a=b+(c/2);return 
a},isSpinnable:function(){if(this.disabled||this.getEl().dom.readOnly){Ext.EventObject.preventDefault();return
 false}return 
true},handleMouseWheel:function(a){if(this.wrap.hasClass("x-trigger-wrap-focus")==false){return}var
 
b=a.getWheelDelta();if(b>0){this.onSpinUp();a.stopEvent()}else{if(b<0){this.onSpinDown();a.sto
 
pEvent()}}},startDrag:function(){this.proxy.show();this._previousY=Ext.fly(this.dd.getDragEl()).getTop()},endDrag:function(){this.proxy.hide()},onDrag:function(){if(this.disabled){return}var
 b=Ext.fly(this.dd.getDragEl()).getTop();var 
a="";if(this._previousY>b){a="Up"}if(this._previousY<b){a="Down"}if(a!=""){this["onSpin"+a]()}this._previousY=b},onSpinUp:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinUpAlternate();return}else{this.strategy.onSpinUp(this)}this.fireEvent("spin",this);this.fireEvent("spinup",this)},onSpinDown:function(){if(this.isSpinnable()==false){return}if(Ext.EventObject.shiftKey==true){this.onSpinDownAlternate();return}else{this.strategy.onSpinDown(this)}this.fireEvent("spin",this);this.fireEvent("spindown",this)},onSpinUpAlternate:function(){if(this.isSpinnable()==false){return}this.strategy.onSpinUpAlternate(this);this.fireEvent("spin",this);this.fireEvent("spinup",this)},onSpinDownAlternate:function(){if(th
 
is.isSpinnable()==false){return}this.strategy.onSpinDownAlternate(this);this.fireEvent("spin",this);this.fireEvent("spindown",this)}});Ext.reg("uxspinner",Ext.ux.form.Spinner);Ext.ux.form.Spinner.Strategy=function(a){Ext.apply(this,a)};Ext.extend(Ext.ux.form.Spinner.Strategy,Ext.util.Observable,{defaultValue:0,minValue:undefined,maxValue:undefined,incrementValue:1,alternateIncrementValue:5,validationTask:new
 
Ext.util.DelayedTask(),onSpinUp:function(a){this.spin(a,false,false)},onSpinDown:function(a){this.spin(a,true,false)},onSpinUpAlternate:function(a){this.spin(a,false,true)},onSpinDownAlternate:function(a){this.spin(a,true,true)},spin:function(a,c,b){this.validationTask.delay(500,function(){a.validate()})},fixBoundries:function(a){return
 
a}});Ext.ux.form.Spinner.NumberStrategy=function(a){Ext.ux.form.Spinner.NumberStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.NumberStrategy,Ext.ux.form.Spinner.Strategy,{allowDecimals:true,decimalPrecision:2,
 
spin:function(b,e,c){Ext.ux.form.Spinner.NumberStrategy.superclass.spin.call(this,b,e,c);var
 a=parseFloat(b.getValue());var 
d=(c==true)?this.alternateIncrementValue:this.incrementValue;(e==true)?a-=d:a+=d;a=(isNaN(a))?this.defaultValue:a;a=this.fixBoundries(a);b.setRawValue(a)},fixBoundries:function(b){var
 
a=b;if(this.minValue!=undefined&&a<this.minValue){a=this.minValue}if(this.maxValue!=undefined&&a>this.maxValue){a=this.maxValue}return
 this.fixPrecision(a)},fixPrecision:function(b){var 
a=isNaN(b);if(!this.allowDecimals||this.decimalPrecision==-1||a||!b){return 
a?"":b}return 
parseFloat(parseFloat(b).toFixed(this.decimalPrecision))}});Ext.ux.form.Spinner.DateStrategy=function(a){Ext.ux.form.Spinner.DateStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.DateStrategy,Ext.ux.form.Spinner.Strategy,{defaultValue:new
 
Date(),format:"Y-m-d",incrementValue:1,incrementConstant:Date.DAY,alternateIncrementValue:1,alternateIncrementConstant:Date.MONTH,spin:func
 tion(d,g,e){Ext.ux.form.Spinner.DateStrategy.superclass.spin.call(this);var 
a=d.getRawValue();a=Date.parseDate(a,this.format);var c=(g==true)?-1:1;var 
f=(e==true)?this.alternateIncrementValue:this.incrementValue;var 
b=(e==true)?this.alternateIncrementConstant:this.incrementConstant;if(typeof 
this.defaultValue=="string"){this.defaultValue=Date.parseDate(this.defaultValue,this.format)}a=(a)?a.add(b,c*f):this.defaultValue;a=this.fixBoundries(a);d.setRawValue(Ext.util.Format.date(a,this.format))},fixBoundries:function(b){var
 d=b;var c=(typeof 
this.minValue=="string")?Date.parseDate(this.minValue,this.format):this.minValue;var
 a=(typeof 
this.maxValue=="string")?Date.parseDate(this.maxValue,this.format):this.maxValue;if(this.minValue!=undefined&&d<c){d=c}if(this.maxValue!=undefined&&d>a){d=a}return
 
d}});Ext.ux.form.Spinner.TimeStrategy=function(a){Ext.ux.form.Spinner.TimeStrategy.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.form.Spinner.TimeStrategy,Ext.ux.form.Spinner.D
 
ateStrategy,{format:"H:i",incrementValue:1,incrementConstant:Date.MINUTE,alternateIncrementValue:1,alternateIncrementConstant:Date.HOUR});Ext.tree.ColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,borderWidth:Ext.isBorderBox?0:2,cls:"x-column-tree",onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.body.createChild({cls:"x-tree-headers"},this.innerCt.dom);var
 e=this.columns,f;var b=0;for(var 
d=0,a=e.length;d<a;d++){f=e[d];b+=f.width;this.headers.createChild({cls:"x-tree-hd
 
"+(f.cls?f.cls+"-hd":""),cn:{cls:"x-tree-hd-text",html:f.header},style:"width:"+(f.width-this.borderWidth)+"px;"})}this.headers.createChild({cls:"x-clear"});this.headers.setWidth(b);this.innerCt.setWidth(b)}});Ext.tree.ColumnTreeNode=Ext.extend(Ext.tree.TreeNode,{setColumnValue:function(b,d){var
 c=this.getOwnerTree();var 
a=this[c.columns[b].dataIndex];this[c.columns[b].dataIndex]=d;this.attributes[[c.columns[b].dataIndex]]=d;if(this.rendered){this.ui.onC
 
olumnValueChange(this,b,d,a)}this.fireEvent("columnvaluechange",this,b,d,a)}});Ext.tree.ColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,onColumnValueChange:function(f,b,d,a){if(this.rendered){var
 
e=f.getOwnerTree().columns[b];this.columnNodes[b].innerHTML=(e.renderer?e.renderer(d,f,null):d)}},renderElements:function(e,q,l,r){this.indentMarkup=e.parentNode?e.parentNode.ui.getChildIndent():"";var
 s=e.getOwnerTree();var p=s.columns;var o=s.borderWidth;var m=p[0];var f=typeof 
q.checked=="boolean";var b=q.href?q.href:Ext.isGecko?"":"#";var d=['<li 
class="x-tree-node"><div ext:tree-node-id="',e.id,'" class="x-tree-node-el 
x-tree-node-leaf x-unselectable ',q.cls,'" unselectable="on">','<div 
class="x-tree-col" style="width:',m.width-o,'px;">','<span 
class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img 
src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img 
src="',q.icon||this.emptyIcon,'" class="x-tree-node-icon',(q.icon?" 
x-tree-node-inline-ico
 n":""),(q.iconCls?" "+q.iconCls:""),'" unselectable="on" />',f?('<input 
class="x-tree-node-cb" type="checkbox" '+(q.checked?'checked="checked" 
/>':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',b,'" 
tabIndex="1" ',q.hrefTarget?' target="'+q.hrefTarget+'"':"",">",'<span 
unselectable="on">',e.text||(m.renderer?m.renderer(q[m.dataIndex],e,q):q[m.dataIndex]),"</span></a>","</div>"];for(var
 g=1,k=p.length;g<k;g++){m=p[g];d.push('<div class="x-tree-col 
',(m.cls?m.cls:""),'" style="width:',m.width-o,'px;">','<div 
class="x-tree-col-text">',(m.renderer?m.renderer(q[m.dataIndex],e,q):q[m.dataIndex]),"</div>","</div>")}d.push('<div
 class="x-clear"></div></div>','<ul class="x-tree-node-ct" 
style="display:none;"></ul>',"</li>");if(r!==true&&e.nextSibling&&e.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",e.nextSibling.ui.getEl(),d.join(""))}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",l,d.join(""))}this.elNode=this.wrap.childNodes[0];this.
 ctNode=this.wrap.childNodes[1];var 
j=this.elNode.firstChild.childNodes;this.indentNode=j[0];this.ecNode=j[1];this.iconNode=j[2];var
 
h=3;if(f){this.checkbox=j[3];this.checkbox.defaultChecked=this.checkbox.checked;h++}this.anchor=j[h];this.columnNodes=[j[h].firstChild];for(var
 
g=1,k=p.length;g<k;g++){this.columnNodes[g]=this.elNode.childNodes[g].firstChild}}});Ext.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.form.FileUploadField.superclass.initComponent.call(this);this.addEvents("fileselected")},onRender:function(c,a){Ext.form.FileUploadField.superclass.onRender.call(this,c,a);this.wrap=this.el.wrap({cls:"x-form-field-wrap
 
x-form-file-wrap"});this.el.addClass("x-form-file-text");this.el.dom.removeAttribute("name");this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:"x-form-file",tag:"input",type:"file",size:1}
 );var b=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new 
Ext.Button(Ext.apply(b,{renderTo:this.wrap}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth())}this.fileInput.on("change",function(){var
 
d=this.fileInput.dom.value;this.setValue(d);this.fireEvent("fileselected",this,d)},this)},getFileInputId:function(){return
 
this.id+"-file"},onResize:function(a,b){Ext.form.FileUploadField.superclass.onResize.call(this,a,b);this.wrap.setWidth(a);if(!this.buttonOnly){var
 
a=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(a)}},preFocus:Ext.emptyFn,getResizeEl:function(){return
 this.wrap},getPositionEl:function(){return 
this.wrap},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])}});Ext.reg("fileuploadfield",Ext.form.FileUploadField);Ext.ux.FullProgressBar=Ext.extend(Ext.ProgressBar,{initComponent:function(){Ext.ux.FullProgressBar.superclass.initComponent.call(this)},up
 
dateProgress:function(c,d,b){this.value=c||0;if(d){this.updateText(d)}if(this.rendered){var
 
a=Math.floor(c*this.el.dom.firstChild.offsetWidth/100);this.progressBar.setWidth(a,b===true||(b!==false&&this.animate));if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(a)}}this.fireEvent("update",this,c,d);return
 this}});Ext.reg("fullprogressbar",Ext.ux.FullProgressBar);
\ No newline at end of file



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to