From cb89806824b0e317ac1a2f324d699b5fdd207ec7 Mon Sep 17 00:00:00 2001 From: Derrell Lipman Date: Sun, 11 Feb 2007 21:54:14 +0000 Subject: r21286: Tree column now resizes wiith splitter adjustment, but scrollbars don't yet update properly (This used to be commit a66b64026a5d80a1e16b2fc9665143512975a53e) --- .../class/qx/ui/table/AbstractResizeBehavior.js | 9 ++++---- .../class/qx/ui/table/DefaultResizeBehavior.js | 2 +- .../class/qx/ui/table/ResizeTableColumnModel.js | 26 +++++++++++----------- .../framework/source/class/qx/ui/table/Table.js | 5 +++++ 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/AbstractResizeBehavior.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/AbstractResizeBehavior.js index 0446c47289..004a810738 100644 --- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/AbstractResizeBehavior.js +++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/AbstractResizeBehavior.js @@ -71,7 +71,8 @@ qx.Proto.onAppear = function(tableColumnModel, event) /** - * Called when the window is resized. + * Called when the table width changes due to either a window size change + * or a parent object changing size causing the table to change size. * * @param tableColumnModel {qx.ui.table.ResizeTableColumnModel} * The table column model in use. Of particular interest is the property @@ -80,11 +81,11 @@ qx.Proto.onAppear = function(tableColumnModel, event) * of columns. * * @param event - * The onwindowresize event object. + * The ontablewidthchanged event object. */ -qx.Proto.onWindowResize = function(tableColumnModel, event) +qx.Proto.onTableWidthChanged = function(tableColumnModel, event) { - throw new Error("onWindowResize is abstract"); + throw new Error("onTableWidthChanged is abstract"); }; diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/DefaultResizeBehavior.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/DefaultResizeBehavior.js index 39ab740f82..cfcd912dd4 100644 --- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/DefaultResizeBehavior.js +++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/DefaultResizeBehavior.js @@ -198,7 +198,7 @@ qx.Proto.onAppear = function(tableColumnModel, event) // overloaded -qx.Proto.onWindowResize = function(tableColumnModel, event) +qx.Proto.onTableWidthChanged = function(tableColumnModel, event) { // Calculate column widths this._computeColumnsFlexWidth(tableColumnModel, event); diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/ResizeTableColumnModel.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/ResizeTableColumnModel.js index ec7d902e28..329c3a1da5 100644 --- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/ResizeTableColumnModel.js +++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/ResizeTableColumnModel.js @@ -21,6 +21,7 @@ #module(table) #require(qx.ui.table.DefaultResizeBehavior) +#embed(qx.icontheme/16/actions/view-refresh.png) ************************************************************************ */ @@ -50,7 +51,7 @@ function() * The behavior to use. * * The provided behavior must extend {link @AbstractResizeBehavior} and - * implement the onAppear, onWindowResize, + * implement the onAppear, onTableWidthChanged, * onColumnWidthChanged and onVisibilityChangedmethods. */ qx.OO.addProperty( @@ -90,9 +91,8 @@ qx.Proto.init = function(numColumns, table) // We'll do our column resizing when the table appears, ... table.addEventListener("appear", this._onappear, this); - // ... when the window is resized, ... - var d = qx.ui.core.ClientDocument.getInstance(); - d.addEventListener("windowresize", this._onwindowresize, this); + // ... when the inner width of the table changes, ... + table.addEventListener("tableWidthChanged", this._ontablewidthchanged, this); // ... when columns are resized, ... this.addEventListener("widthChanged", this._oncolumnwidthchanged, this); @@ -138,7 +138,7 @@ qx.Proto._addResetColumnWidthButton = function(event) }; /** - * Event handler for the "onappear" event. + * Event handler for the "appear" event. * * @param event {qx.event.type.Event} * The "onappear" event object. @@ -162,12 +162,12 @@ qx.Proto._onappear = function(event) /** - * Event handler for the "onwindowresize" event. + * Event handler for the "tableWidthChanged" event. * * @param event {qx.event.type.Event} * The "onwidowresize" event object. */ -qx.Proto._onwindowresize = function(event) +qx.Proto._ontablewidthchanged = function(event) { // Is this a recursive call or has the table not yet been rendered? if (this._bInProgress || ! this._bAppeared) @@ -177,17 +177,17 @@ qx.Proto._onwindowresize = function(event) } this._bInProgress = true; - this.debug("onwindowresize"); - this.getBehavior().onWindowResize(this, event); + this.debug("ontablewidthchanged"); + this.getBehavior().onTableWidthChanged(this, event); this._bInProgress = false; }; /** - * Event handler for the "oncolumnwidthchanged" event. + * Event handler for the "widthChanged" event. * * @param event {qx.event.type.DataEvent} - * The "oncolumnwidthchanged" event object. + * The "widthChanged" event object. */ qx.Proto._oncolumnwidthchanged = function(event) { @@ -206,10 +206,10 @@ qx.Proto._oncolumnwidthchanged = function(event) /** - * Event handler for the "onvisibilitychangned" event. + * Event handler for the "visibilityChanged" event. * * @param event {qx.event.type.DataEvent} - * The "onvisibilitychanged" event object. + * The "visibilityChanged" event object. */ qx.Proto._onvisibilitychanged = function(event) { diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/Table.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/Table.js index 22eab024c1..cfb7b097d6 100644 --- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/Table.js +++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/Table.js @@ -42,6 +42,9 @@ * The event data is a map with two properties: table and menu. Listeners * may add additional items to the menu, which appear at the bottom of the * menu. + * + * @event tableWidthChanged {qx.event.type.Event} + * Dispatched when the inner width of the table has changed. */ qx.OO.defineClass("qx.ui.table.Table", qx.ui.layout.VerticalBoxLayout, function(tableModel) { @@ -1207,6 +1210,8 @@ qx.Proto.setColumnWidth = function(col, width) { qx.Proto._changeInnerWidth = function(newValue, oldValue) { var self = this; window.setTimeout(function() { + self.createDispatchEvent("tableWidthChanged"); + self._updateScrollerWidths(); self._updateScrollBarVisibility(); qx.ui.core.Widget.flushGlobalQueues(); }, 0); -- cgit