4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
13 // This is a support class used internally by the Grid components
14 Roo.grid.SplitDragZone = function(grid, hd, hd2){
16 this.view = grid.getView();
17 this.proxy = this.view.resizeProxy;
18 Roo.grid.SplitDragZone.superclass.constructor.call(this, hd,
19 "gridSplitters" + this.grid.getGridEl().id, {
20 dragElId : Roo.id(this.proxy.dom), resizeFrame:false
22 this.setHandleElId(Roo.id(hd));
23 this.setOuterHandleElId(Roo.id(hd2));
26 Roo.extend(Roo.grid.SplitDragZone, Roo.dd.DDProxy, {
29 b4StartDrag : function(x, y){
30 this.view.headersDisabled = true;
31 this.proxy.setHeight(this.view.mainWrap.getHeight());
32 var w = this.cm.getColumnWidth(this.cellIndex);
33 var minw = Math.max(w-this.grid.minColumnWidth, 0);
34 this.resetConstraints();
35 this.setXConstraint(minw, 1000);
36 this.setYConstraint(0, 0);
40 Roo.dd.DDProxy.prototype.b4StartDrag.call(this, x, y);
44 handleMouseDown : function(e){
45 ev = Roo.EventObject.setEvent(e);
46 var t = this.fly(ev.getTarget());
47 if(t.hasClass("x-grid-split")){
48 this.cellIndex = this.view.getCellIndex(t.dom);
50 this.cm = this.grid.colModel;
51 if(this.cm.isResizable(this.cellIndex) && !this.cm.isFixed(this.cellIndex)){
52 Roo.grid.SplitDragZone.superclass.handleMouseDown.apply(this, arguments);
57 endDrag : function(e){
58 this.view.headersDisabled = false;
59 var endX = Math.max(this.minX, Roo.lib.Event.getPageX(e));
60 var diff = endX - this.startPos;
61 this.view.onColumnSplitterMoved(this.cellIndex, this.cm.getColumnWidth(this.cellIndex)+diff);
64 autoOffset : function(){