r21286: Tree column now resizes wiith splitter adjustment, but scrollbars don't yet...
authorDerrell Lipman <derrell@samba.org>
Sun, 11 Feb 2007 21:54:14 +0000 (21:54 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:44:59 +0000 (14:44 -0500)
(This used to be commit a66b64026a5d80a1e16b2fc9665143512975a53e)

webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/AbstractResizeBehavior.js
webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/DefaultResizeBehavior.js
webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/ResizeTableColumnModel.js
webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/table/Table.js

index 0446c472897749e868aeeff4524b912ed99d814f..004a8107380e9a75ff054df6903ef596c0ac855f 100644 (file)
@@ -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 <i>onwindowresize</i> event object.
+ *   The <i>ontablewidthchanged</i> 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");
 };
 
 
index 39ab740f8289adeb4f740f7e88e48f6fe7a6e5a7..cfcd912dd451cb118d872cc4346636513d8f63d0 100644 (file)
@@ -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);
index ec7d902e284d9d8b07cc1f7999f42c70e404ade4..329c3a1da554fb8e8f4261f87642a95885611e91 100644 (file)
@@ -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 <i>onAppear</i>, <i>onWindowResize</i>,
+ * implement the <i>onAppear</i>, <i>onTableWidthChanged</i>,
  * <i>onColumnWidthChanged</i> and <i>onVisibilityChanged</i>methods.
  */
 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)
 {
index 22eab024c1936f02d1d316517e03ca310db487f2..cfb7b097d696df7b812aec3e47bfd3eeee13eacc 100644 (file)
@@ -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);