X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/examples/ux/ColumnNodeUI.js?ds=inline diff --git a/examples/ux/ColumnNodeUI.js b/examples/ux/ColumnNodeUI.js new file mode 100644 index 00000000..16254db4 --- /dev/null +++ b/examples/ux/ColumnNodeUI.js @@ -0,0 +1,109 @@ +/*! + * Ext JS Library 3.0.0 + * Copyright(c) 2006-2009 Ext JS, LLC + * licensing@extjs.com + * http://www.extjs.com/license + */ +Ext.ns('Ext.ux.tree'); + +/** + * @class Ext.ux.tree.ColumnTree + * @extends Ext.tree.TreePanel + * + * @xtype columntree + */ +Ext.ux.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.header.createChild({cls:'x-tree-headers'}); + + var cols = this.columns, c; + var totalWidth = 0; + var scrollOffset = 19; // similar to Ext.grid.GridView default + + 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+scrollOffset); + this.innerCt.setWidth(totalWidth); + } +}); + +Ext.reg('columntree', Ext.ux.tree.ColumnTree); + +//backwards compat +Ext.tree.ColumnTree = Ext.ux.tree.ColumnTree; + + +/** + * @class Ext.ux.tree.ColumnNodeUI + * @extends Ext.tree.TreeNodeUI + */ +Ext.ux.tree.ColumnNodeUI = Ext.extend(Ext.tree.TreeNodeUI, { + focus: Ext.emptyFn, // prevent odd scrolling behavior + + 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 buf = [ + '