Hello,

attached you find a patch (you need to rename the .zipp extension back to .zip) to the qx.ui.table package which adds the following classes :

qx.ui.table.celleditor.ComboBox
qx.ui.table.celleditor.Dynamic
qx.ui.table.celleditor.PasswordField

qx.ui.table.cellrenderer.Dynamic
qx.ui.table.cellrenderer.Password
qx.ui.table.cellrenderer.Replace

and patches

qx.ui.table.celleditor.TextField
qx.ui.table.pane.Scroller

plus a testpage for the demobrowser.

At the moment, the table can set cell renderer and celleditors only on a
column basis. There is no way to have different renderers or editors for
different rows. This functionality, however, is necessary if one wants
to use the Table as a property editor (see attached screen shot) or in a
true spreadsheet-like fashion. The patch introduces "dynamic" cell
renderer and editors factory functions which retrieve the cell renders
and editors at runtime and allow you to add fairly complex behaviour to
the table. The patches also introduce validation features to the cell
editors, a ComboBox and Password celll editor and a cell renderer which
does a value-label translation (qx.ui.table.cellrenderer.Replace).
You'll find a annotated example in the included demobrowser file and I
have added documentation for the API viewer.

In order to achieve this behaviour, I had to patch
qx.ui.table.celleditor.TextField and qx.ui.table.pane.Scroller slightly
- without touching existing behavior. In particular, it is essential
that the cellInfo object passed to the cell renderers and editors
contain a reference to the table

Index:
F:/xampp/htdocs/qooxdoo-0.7-sdk/frontend/framework/source/class/qx/ui/table/pane/Scroller.js
===================================================================
---
F:/xampp/htdocs/qooxdoo-0.7-sdk/frontend/framework/source/class/qx/ui/table/pane/Scroller.js
(revision 9777)
+++
F:/xampp/htdocs/qooxdoo-0.7-sdk/frontend/framework/source/class/qx/ui/table/pane/Scroller.js
(working copy)
@@ -1432,7 +1432,8 @@
           col   : col,
           row   : row,
           xPos  : xPos,
-          value : value
+          value : value,
+          table : table
         };

As you can see from the demobrowser page, it works in principle, but
there are a few bugs left, some of which I can fix, others need
intervention by the framework developers. I have already posted the
biggest problem to the list: If I try to select a list item in the drop
down menu of the combobox, it aborts with an error (vFocusTarget has no
properties in qx/event/handler/EventHandler.js, Line 920). There is a
problem with focus management there.

I'd be happy if this could be applied to legacy_0_7 branch - I don't
know if it works with the trunk, but this is not my priority.

I also would be happy about a pointer how I can change the background
color of a whole table column. As you can see in the screen shot and the
demobrowser page, I am using the table as a property editor. The first
column holds the property key labels, the second one holds the editable
property values. I would like to style the first column as a "header"
column. In return, I would like to get rid of the column headers. How
can I do this?

Thanks,

Christian



<<inline: property_editor.jpg>>

Attachment: qx_ui_table_patch_07-09-09.zipp
Description: Binary data

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to