コード例 #1
0
 def multicolumn(self, list, cols=4):
     """Format a list of items into a multi-column list."""
     result = Grid()
     result.setWidth("100%")
     rows = (len(list)+cols-1)/cols
     result.resize(rows, cols)
     for col in range(cols):
         for i in range(rows*col, rows*col+rows):
             if i < len(list):
                 result.setHTML(0, i, list[i] + "<br />\n")
     return result
コード例 #2
0
 def multicolumn(self, items, cols=4):
     """Format a list of items into a multi-column list."""
     result = Grid()
     result.setWidth("100%")
     rows = (len(items)+cols-1)/cols
     result.resize(rows, cols)
     i = 0
     for col in range(cols):
         for row in range(rows):
             if items and i < len(items):
                 result.setHTML(row, col, items[i] + "<br />\n")
             i += 1
     return result
コード例 #3
0
class GridTest:
	def onModuleLoad(self):
		self.page=0
		self.min_page=1
		self.max_page=10
		
		self.add=Button("Next >", self)
		self.sub=Button("< Prev", self)
		
		self.g=Grid()
		self.g.resize(5, 5)
		self.g.setHTML(0, 0, "<b>Grid Test</b>")
		self.g.setBorderWidth(2)
		self.g.setCellPadding(4)
		self.g.setCellSpacing(1)
		
		self.updatePageDisplay()
		RootPanel().add(self.sub)
		RootPanel().add(self.add)
		RootPanel().add(self.g)

	def onClick(self, sender, event):
		if sender==self.add:
			self.page+=1
		elif sender==self.sub:
			self.page-=1
		print "onClick", sender, self.page
		self.updatePageDisplay()
		

	def updatePageDisplay(self):
		if self.page<self.min_page: self.page=self.min_page
		elif self.page>self.max_page: self.page=self.max_page
		total_pages=(self.max_page-self.min_page) + 1
		
		self.g.setHTML(0, 4, "<b>page " + str(self.page) + ' of ' + str(total_pages) + "</b>")
		
		if self.page>=self.max_page:
			self.add.setEnabled(False)
		else:
			self.add.setEnabled(True)
			
		if self.page<=self.min_page:
			self.sub.setEnabled(False)
		else:
			self.sub.setEnabled(True)

		for y in range(1, 5):
			for x in range(5):
				self.g.setText(y, x, str(self.page) + ' (' + str(y) + ',' + str(x) + ')')