Is it possible for tiles in TileGrid to have the size of their content or at least take up all the space in one dimesion?
In the following example I would like the tiles to be completely visible in the horizontal direction, their height can stay fixed.
Thanks
In the following example I would like the tiles to be completely visible in the horizontal direction, their height can stay fixed.
Code:
public class Application implements EntryPoint { private class MyTileGrid extends TileGrid { public MyTileGrid() { setHeight100(); setWidth(150); setOverflow(Overflow.AUTO); setShowEdges(true); setPadding(10); setCanAcceptDrop(true); setCanDragReposition(false); setCanDrag(false); setCanDragResize(true); setShowResizeBar(true); setCanReorderTiles(true); setCanDragTilesOut(true); setDragDataAction(DragDataAction.MOVE); setTileDragAppearance(DragAppearance.NONE); setDragAppearance(DragAppearance.NONE); setTilesPerLine(1); setLayoutPolicy(TileLayoutPolicy.FIT); setExpandMargins(true); setOrientation(Orientation.HORIZONTAL); setDataSource(createDS()); setAutoFetchData(true); } @Override protected String getTileHTML(Record rec) { String width = rec.getAttributeAsString("width"); String height = rec.getAttributeAsString("height"); String content = rec.getAttributeAsString("content"); StringBuilder html = new StringBuilder("<TABLE BORDER='1px black solid' CELLSPACING=0 CLASS=normal WIDTH='"); html.append(width); html.append("' height="); html.append(height); html.append("' CELLPADDING=0 STYLE='table-layout:fixed; "); html.append("overflow: hidden;'><tbody><tr><td style='white-space: nowrap;'>"); html.append(content); html.append("</td></tr></table>"); return html.toString(); } } @Override public void onModuleLoad() { MyTileGrid grid = new MyTileGrid(); grid.draw(); } private DataSource createDS() { DataSource ds = new DataSource(); ds.setClientOnly(true); DataSourceField width = new DataSourceTextField("width"); DataSourceField height = new DataSourceTextField("height"); DataSourceField content = new DataSourceTextField("content"); ds.setFields(width, height, content); Record rec1 = new Record(); rec1.setAttribute("height", 100); rec1.setAttribute("width", 100); rec1.setAttribute("content", "100x100"); ds.addData(rec1); Record rec2 = new Record(); rec2.setAttribute("height", 100); rec2.setAttribute("width", 200); rec2.setAttribute("content", "100x200"); ds.addData(rec2); Record rec3 = new Record(); rec3.setAttribute("height", 200); rec3.setAttribute("width", 100); rec3.setAttribute("content", "200x100"); ds.addData(rec3); Record rec4 = new Record(); rec4.setAttribute("height", 100); rec4.setAttribute("width", 300); rec4.setAttribute("content", "100x300"); ds.addData(rec4); return ds; } }