Hi Peter, the fastest way to solve your problem is to use core CSS. But the table does not really support you with that capability, so at the beginning we have to extend the table row renderer:
qx.Class.define("RowRenderer", { extend : qx.ui.table.rowrenderer.Default, members : { getRowClass : function(rowInfo) { return rowInfo.selected ? "qx-table-row selected" : "qx-table-row"; }, updateDataRowElement : function(rowInfo, rowElem) { this.base(arguments, rowInfo, rowElem); if (rowInfo.selected) { qx.bom.element.Class.addClasses(rowElem, ["selected"]); } else { qx.bom.element.Class.removeClasses(rowElem, ["selected"]); } } } }); Then we need a custom cell renderer which includes a ordinary div as a placeholder for the image. Furthermore the renderer instance creates new style rules, which sets default values. If the "selected" class of the row was added, it will just change background to red: qx.Class.define("CellRenderer", { extend : qx.ui.table.cellrenderer.Default, construct : function() { this.base(arguments); qx.ui.style.Stylesheet.getInstance().addRule(".qx-table-row .qx-cell-icon", "width:16px;height:16px;background: transparent no-repeat url(resource/qx/icon/Tango/16/apps/office-calendar.png);"); qx.ui.style.Stylesheet.getInstance().addRule(".qx-table-row.selected .qx-cell-icon", "background: red no-repeat url(resource/qx/icon/Tango/16/apps/office-calendar.png);"); }, /* ***************************************************************************** MEMBERS ***************************************************************************** */ members : { // overridden _getContentHtml : function(cellInfo) { return "<div class='qx-cell-icon'></div>"; } } }); Don't forget to set row renderer after creation on the table: var table = new qx.ui.table.Table(tableModel); table.setDataRowRenderer(new RowRenderer()); Here is the complete playground example: http://tinyurl.com/kvtjtbh If you find that solution useful, feel free to open an enhancement bug, to suggest us to implement the row css class logic inside the framework. Gruß Mustafa Sak Applications & Integration 1&1 Internet AG Ernst-Frey-Straße 10 DE-76135 Karlsruhe -----Ursprüngliche Nachricht----- Von: Peter Schneider [mailto:p.schnei...@tis-gmbh.de] Gesendet: Donnerstag, 27. März 2014 10:46 An: qooxdoo Development Betreff: [qooxdoo-devel] Update Table Cell Content Hi there, I am currently facing a 'theming' problem: I have a Table containing one column which displays Symbols (qx.ui.table.cellrenderer.Image derived). These Symbols are 'dark' and when one selects a row in the table, the 'dark' background color ("table-row-background-selected") makes it hard to see. Which can be seen at 1st attached image. The 2nd attached image shows what it *should* look like. So my question is: How to 'theme' or program an Image CellRenderer that can react on 'select'? The "dirty" approach is something like this: // ------------------------------------------------------------------ <code> // ------------------------------------------------------------------ qx.Class.define("app.ui.table.cellrenderer.FooIconRenderer", { extend : qx.ui.table.cellrenderer.Image, members : { _identifyImage : function (cellInfo) { var imageHints = { imageWidth : 11, imageHeight: 11, url : this.__valueToUrl(cellInfo.value) // {String|null} }; // URL set to something like "app/icon-3" or <null>... if (imageHints.url) { if (cellInfo.selected) { imageHints.url += "-invert"; // inverted icon (light toned) } imageHints.url += ".png"; imageHints.tooltip = this.__valueToTip(cellInfo.value); } return imageHints; } } }); // ------------------------------------------------------------------ </code> // ------------------------------------------------------------------ Which *only* *works* if the Table, that makes use of this cell renderer has set the 'alwaysUpdateCells' flag to <true>! But this slows down the update of the table, which is _not_really_ an option! So, is there any theming that I can do? i could only find selection handling for row-renderer. And the stylesheet of tables seems to be way different than 'regular' Widget styling :( Regards, Peter -- ** Unsere Veranstaltungen: T-Matik in Greven, 20.05.2014 Post-Expo in Stockholm, Halle A - Stand A10.05, 23.-25.09.2014 TIS-Hausmesse in Bocholt, 16.10.2014 transfairlog in Hamburg, 04.-06.11.2014 ------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel