1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

r21286: Tree column now resizes wiith splitter adjustment, but scrollbars don't yet update properly

(This used to be commit a66b64026a5d80a1e16b2fc9665143512975a53e)
This commit is contained in:
Derrell Lipman 2007-02-11 21:54:14 +00:00 committed by Gerald (Jerry) Carter
parent 7deea1aead
commit cb89806824
4 changed files with 24 additions and 18 deletions

View 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");
};

View 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);

View 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)
{

View 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);