def start_game(self): dim = self.level grid = Grid(dim,dim) grid.setStyleName("grid") for i in range(dim): for j in range(dim): gc = GridCell(i,j) grid.setWidget(i,j,gc) self.add(grid)
def start_game(self): dim = self.level grid = Grid(dim, dim) grid.setStyleName("grid") for i in range(dim): for j in range(dim): gc = GridCell(i, j) grid.setWidget(i, j, gc) self.add(grid)
def start_game(self, level=None): if level is not None: self.level = level dim = self.level grid = Grid(dim, dim) grid.setStyleName("grid") for i in range(dim): for j in range(dim): gc = GridCell(i, j) grid.setWidget(i, j, gc) self.add(grid)
def start_game(self, level=None): if level is not None: self.level = level dim = self.level grid = Grid(dim,dim) grid.setStyleName("grid") for i in range(dim): for j in range(dim): gc = GridCell(i,j) grid.setWidget(i,j,gc) self.add(grid)
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
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
def onModuleLoad(self): self.popupsubtraca = PopupSub(id="sub",datasrc="fsubtracao.pjs") self.popupsoma = PopupSoma(id="soma",datasrc="fsoma.pjs") self.popupmultescalar = PopupEscalar(id="escalar",datasrc="fmultescalar.pjs") self.popupmult = PopupProduto(id="mult",datasrc="fmult.pjs") self.popupsoma.iniciado = False; tabpanel = TabPanel() grid = Grid(4,2) imgbtnSoma = Image("images/Soma_Matriz_sum_matrix.png",StyleName="gwt-ImageButton") imgbtnSubtracao = Image("images/subtracao_Matriz_subtract_matrix.png",StyleName="gwt-ImageButton") imgbtnMultiplicacao = Image("images/multiplicacao_Matriz_product_matrix.png",StyleName="gwt-ImageButton") imgbtnMultiplicacaoPorEscalar = Image("images/multiplicacao_por_escalar.png",StyleName="gwt-ImageButton") #eventos imgbtnSoma.addClickListener(self.onSomaButtonClick) imgbtnSubtracao.addClickListener(self.onSubtracaoButtonClick) imgbtnMultiplicacao.addClickListener(self.onMultiplicacaoButtonClick) imgbtnMultiplicacaoPorEscalar.addClickListener(self.onMulPorEscalarButtonClick) contents = VerticalPanel() contents.setSpacing(4) contents.add(HTML('You can place any contents you like in a dialog box.')) grid.setWidget(0,0,imgbtnSoma) grid.setWidget(0,1,imgbtnSubtracao) grid.setWidget(2,0,imgbtnMultiplicacao) grid.setWidget(2,1,imgbtnMultiplicacaoPorEscalar) grid.setStyleName(element) tabpanel.add(HTML("Modulo de introducao a matrizes"),"<h2>Modulo de introducao a Matrizes</h2>", True) tabpanel.add(grid,"<h2> Matrizes </h2>", True) tabpanel.add(HTML("Modulo de introducao a matrizes"),"<h2>Ajuda para usar a ferramenta</h2>", True) tabpanel.setSize("90%"," 70%") tabpanel.selectTab(1) #self.popupsoma.show() RootPanel("conteudo").add(tabpanel)
class Home: def onModuleLoad(self): loggedInUser = getCookie("LoggedInUser") self.loggedInUserJsonData = json.loads(loggedInUser) self.remote_py = MyBlogService() dockPanel = DockPanel(BorderWidth=0, Padding=0, HorizontalAlignment=HasAlignment.ALIGN_LEFT, VerticalAlignment=HasAlignment.ALIGN_TOP) dockPanel.setSize('100%', '100%') headerDockPanel = DockPanel( BorderWidth=0, Padding=0, HorizontalAlignment=HasAlignment.ALIGN_LEFT, VerticalAlignment=HasAlignment.ALIGN_CENTER) headerDockPanel.setStyleName('header') headerDockPanel.setWidth('100%') dockPanel.add(headerDockPanel, DockPanel.NORTH) dockPanel.setCellHeight(headerDockPanel, '60px') self.siteImage = Image("/images/Testware_logo.png") self.siteImage.setStyleName('logo-image') headerDockPanel.add(self.siteImage, DockPanel.WEST) headerDockPanel.setCellWidth(self.siteImage, '30%') self.pageTitle = Label('All Blogs') self.pageTitle.setStyleName('center-header') headerDockPanel.add(self.pageTitle, DockPanel.CENTER) headerDockPanel.setCellWidth(self.pageTitle, '40%') rightHeaderPanel = VerticalPanel(StyleName='right-header') headerDockPanel.add(rightHeaderPanel, DockPanel.EAST) headerDockPanel.setCellWidth(rightHeaderPanel, '30%') welcomeNoteLabel = Label('Hi %s %s!' % (self.loggedInUserJsonData["first_name"], self.loggedInUserJsonData["last_name"])) rightHeaderPanel.add(welcomeNoteLabel) logoutAnchor = Anchor(Widget=HTML('Logout'), Href='/', Title='Logout') logoutAnchor.setStyleName('logout') rightHeaderPanel.add(logoutAnchor) newBlogAnchor = Anchor(Widget=HTML('Create New Blog'), Href='/newblog.html', Title='NewBlog') newBlogAnchor.setStyleName('logout') rightHeaderPanel.add(newBlogAnchor) tree = Tree() tree.addTreeListener(self) tree.setStyleName('side-menu') dockPanel.add(tree, DockPanel.WEST) dockPanel.setCellWidth(tree, '60px') s1 = self.createItem("Blogs") allItem = self.createItem("All", value=0) self.selectedItem = allItem s1.addItem(allItem) s1.addItem(self.createItem("Published", value=1)) s1.addItem(self.createItem("Unpublished", value=2)) s2 = self.createItem("Other's Blog") s1.setState(True, fireEvents=False) tree.addItem(s1) tree.addItem(s2) self.absolultutePanel = AbsolutePanel(StyleName='detail-style') dockPanel.add(self.absolultutePanel, DockPanel.CENTER) self.blogs = [] self.g = Grid() RootPanel().add(dockPanel) self.remote_py.callMethod('getBlogs', [self.loggedInUserJsonData["username"]], self) def updatePageDisplay(self): self.g.removeFromParent() self.g = Grid() self.g.setStyleName('content-style') self.g.addTableListener(self) for y in range(len(self.blogs)): for x in range(1): json_data = json.loads(self.blogs[y]) blogPanel = VerticalPanel() blogTitleAnchor = Anchor(Widget=HTML('%s' % json_data["blog_name"]), Href='/blogdetail.html') blogTitleAnchor.setStyleName('blog-search-title') blogPanel.add(blogTitleAnchor) blogDetails = Label() blogDetails.setStyleName('blog-details') blogContent = json_data["blog_content"] if len(blogContent) > 200: blogContent = blogContent[0:200] + '......' blogDetails.setText('%s' % (blogContent)) blogPanel.add(blogDetails) value = self.selectedItem.getUserObject() if self.selectedItem.getText() == "All" and value == 0: blogStatus = Label() blogStatus.setStyleName('blog-details') if json_data["is_published"] == True: blogStatus.setText('Published') else: blogStatus.setText('Unpublished') blogPanel.add(blogStatus) self.g.add(blogPanel, y, x) self.absolultutePanel.add(self.g) def createItem(self, label, value=None): item = TreeItem(label) DOM.setStyleAttribute(item.getElement(), "cursor", "pointer") if value is not None: item.setUserObject(value) return item def onTreeItemSelected(self, item): self.selectedItem = item if item.getText() == "Other's Blog": self.remote_py.callMethod('getOthersPublishedBlogs', [self.loggedInUserJsonData["username"]], self) else: value = item.getUserObject() if value == 0: self.remote_py.callMethod( 'getBlogs', [self.loggedInUserJsonData["username"]], self) elif value == 1: self.remote_py.callMethod( 'getPublishedBlogs', [self.loggedInUserJsonData["username"]], self) elif value == 2: self.remote_py.callMethod( 'getUnPublishedBlogs', [self.loggedInUserJsonData["username"]], self) def onTreeItemStateChanged(self, item): pass # We ignore this. def onRemoteResponse(self, response, requestInfo): self.blogs = response self.updatePageDisplay() if self.selectedItem.getText() == "Other's Blog": self.pageTitle.setText("Other's Blog") else: value = self.selectedItem.getUserObject() if value == 0: self.pageTitle.setText('All Blogs') elif value == 1: self.pageTitle.setText('Published Blogs') elif value == 2: self.pageTitle.setText('Unpublished Blogs') def onRemoteError(self, code, error_dict, requestInfo): pass def onCellClicked(self, sender, row, col): setCookie("SelectedBlog", self.blogs[row], 10000, path='/') setCookie("ShowPublishButton", 'False', 10000, path='/')