def __init__(self, ): self.__init__._super() self.outer.addStyleName(u"gwittit-Stream_publishAttachment") self.publishButton.addClickHandler(self.PublishHandler()) self.images[0] = Image(java.str(self.baseUrl) + u"/imgsamples/please.jpg") self.images[1] = Image(java.str(self.baseUrl) + u"/imgsamples/with.jpg") self.images[2] = Image(java.str(self.baseUrl) + u"/imgsamples/ahard.jpg") self.images[3] = Image(java.str(self.baseUrl) + u"/imgsamples/forsale.jpg") self.images[4] = Image(java.str(self.baseUrl) + u"/imgsamples/help.jpg") self.images[5] = Image(java.str(self.baseUrl) + u"/imgsamples/rubber.jpg") self.images[6] = Image(java.str(self.baseUrl) + u"/imgsamples/revolver.jpg") self.images[7] = Image(java.str(self.baseUrl) + u"/imgsamples/sgt_pepper.jpg") self.images[8] = Image(java.str(self.baseUrl) + u"/imgsamples/white.jpg") self.images[9] = Image(java.str(self.baseUrl) + u"/imgsamples/submarine.jpg") self.images[10] = Image(java.str(self.baseUrl) + u"/imgsamples/abbey.jpg") self.images[11] = Image(java.str(self.baseUrl) + u"/imgsamples/letitbe.jpg") grid = Grid(2, 6) grid.addStyleName(u"grid") numRows = grid.getRowCount() numColumns = grid.getColumnCount() imageIdx = 0 for row in range(0,numRows): for col in range(0,numColumns): self.images[imageIdx].setWidth(u"60px") self.images[imageIdx].addClickHandler(self.SelectFavoriteHandler(imageIdx)) grid.setWidget(row, col, self.images[imageIdx]) imageIdx += 1 self.outer.add(self.header) self.outer.add(grid) self.outer.add(self.createFavoriteWidget()) self.initWidget(self.outer)
class DynaTableWidget(Composite): def __init__(self, provider, columns, columnStyles, rowCount): Composite.__init__(self) self.acceptor = RowDataAcceptorImpl(self) self.outer = DockPanel() self.startRow = 0 self.grid = Grid() self.navbar = NavBar(self) self.provider = provider self.initWidget(self.outer) self.grid.setStyleName("table") self.outer.add(self.navbar, DockPanel.NORTH) self.outer.add(self.grid, DockPanel.CENTER) self.initTable(columns, columnStyles, rowCount) self.setStyleName("DynaTable-DynaTableWidget") def initTable(self, columns, columnStyles, rowCount): self.grid.resize(rowCount + 1, len(columns)) for i in range(len(columns)): self.grid.setText(0, i, columns[i]) if columnStyles: self.grid.cellFormatter.setStyleName(0, i, columnStyles[i] + "header") def setStatusText(self, text): self.navbar.status.setText(text) def clearStatusText(self, text): self.navbar.status.setHTML(" ") def refresh(self): self.navbar.gotoFirst.setEnabled(False) self.navbar.gotoPrev.setEnabled(False) self.navbar.gotoNext.setEnabled(False) self.setStatusText("Please wait...") self.provider.updateRowData(self.startRow, self.grid.getRowCount() - 1, self.acceptor) def setRowCount(self, rows): self.grid.resizeRows(rows) def getDataRowCount(self): return self.grid.getRowCount() - 1