1984plusplus
Chieftain
- Joined
- May 23, 2011
- Messages
- 59
I'm attempting to add a new column to the foreign advisor resource screen, but it's making the resource screen not display at all. I've looked it over and can't seem to figure what I've done wrong. I copied the function below and my additions and changes are labeled with comments.
As a note, I have RES_SHOW_ACTIVE_TRADE and RES_SHOW_IMPORT_EXPORT_HEADER false to simplify things slightly. Can anyone tell what's going wrong here? Thanks in advance for any help.
Code:
def initTradeTable(self):
screen = self.getScreen()
if (self.RES_SHOW_ACTIVE_TRADE):
columns = ( IconGrid.GRID_ICON_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN
, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_TEXT_COLUMN
, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_TEXT_COLUMN)
, IconGrid.GRID_MULTI_LIST_COLUMN ) #one more column
else:
columns = ( IconGrid.GRID_ICON_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN
, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_MULTI_LIST_COLUMN, IconGrid.GRID_TEXT_COLUMN)
, IconGrid.GRID_MULTI_LIST_COLUMN ) # one more column
self.NUM_RESOURCE_COLUMNS = len(columns) - 1
gridX = self.MIN_LEFT_RIGHT_SPACE + 10
gridY = self.MIN_TOP_BOTTOM_SPACE + self.RES_SURPLUS_HEIGHT + self.RES_PANEL_SPACE + self.TITLE_HEIGHT + 10
gridWidth = self.W_SCREEN - self.MIN_LEFT_RIGHT_SPACE * 2 - 20
gridHeight = self.H_SCREEN - self.MIN_TOP_BOTTOM_SPACE * 2 - self.RES_SURPLUS_HEIGHT - self.RES_PANEL_SPACE - self.TITLE_HEIGHT - 20
self.resIconGridName = self.getNextWidgetName()
self.resIconGrid = IconGrid.IconGrid( self.resIconGridName, screen, gridX, gridY, gridWidth, gridHeight
, columns, True, self.SHOW_LEADER_NAMES, self.SHOW_ROW_BORDERS )
self.resIconGrid.setGroupBorder(self.GROUP_BORDER)
self.resIconGrid.setGroupLabelOffset(self.GROUP_LABEL_OFFSET)
self.resIconGrid.setMinColumnSpace(self.MIN_COLUMN_SPACE)
self.resIconGrid.setMinRowSpace(self.MIN_ROW_SPACE)
self.leaderCol = 0
self.surplusCol = 1
self.usedCol = 2
self.willTradeCol = 3
self.wontTradeCol = 4
self.cantTradeCol = 5 #new column
self.canPayCol = 6
self.activeExportCol = 7
self.activeImportCol = 8
self.payingCol = 9
self.resIconGrid.setHeader( self.leaderCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_LEADER", ()) )
self.resIconGrid.setHeader( self.surplusCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_FOR_TRADE_2", ()) )
self.resIconGrid.setHeader( self.usedCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_NOT_FOR_TRADE_2", ()) )
self.resIconGrid.setHeader( self.willTradeCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_FOR_TRADE_2", ()) )
self.resIconGrid.setHeader( self.wontTradeCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_NOT_FOR_TRADE_2", ()) )
self.resIconGrid.setHeader( self.cantTradeCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_NOT_FOR_TRADE_2", ()) ) #new column
self.resIconGrid.setHeader( self.canPayCol, (u"%c" % gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar()) )
self.resIconGrid.setTextColWidth(self.canPayCol, self.RES_GOLD_COL_WIDTH)
if (self.RES_SHOW_ACTIVE_TRADE):
self.resIconGrid.setHeader( self.activeExportCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_EXPORT", ()) )
self.resIconGrid.setHeader( self.activeImportCol, localText.getText("TXT_KEY_FOREIGN_ADVISOR_IMPORT", ()) )
self.resIconGrid.setHeader( self.payingCol, (u"%c" % gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar()) )
self.resIconGrid.setTextColWidth(self.payingCol, self.RES_GOLD_COL_WIDTH)
if (self.RES_SHOW_IMPORT_EXPORT_HEADER):
self.resIconGrid.createColumnGroup("", 1)
self.resIconGrid.createColumnGroup(localText.getText("TXT_KEY_FOREIGN_ADVISOR_EXPORT", ()), 2)
self.resIconGrid.createColumnGroup(localText.getText("TXT_KEY_FOREIGN_ADVISOR_IMPORT", ()), 4) # 3 to 4 for extra column in group
if (self.RES_SHOW_ACTIVE_TRADE):
self.resIconGrid.createColumnGroup(localText.getText("TXT_KEY_FOREIGN_ADVISOR_ACTIVE", ()), 3)
gridWidth = self.resIconGrid.getPrefferedWidth()
gridHeight = self.resIconGrid.getPrefferedHeight()
self.RES_LEFT_RIGHT_SPACE = (self.W_SCREEN - gridWidth - 20) / 2
self.RES_TOP_BOTTOM_SPACE = (self.H_SCREEN - gridHeight - self.RES_SURPLUS_HEIGHT - self.RES_PANEL_SPACE - self.TITLE_HEIGHT - 20) / 2
gridX = self.RES_LEFT_RIGHT_SPACE + 10
gridY = self.RES_TOP_BOTTOM_SPACE + self.RES_SURPLUS_HEIGHT + self.RES_PANEL_SPACE + self.TITLE_HEIGHT + 10
self.resIconGrid.setPosition(gridX, gridY)
self.resIconGrid.setSize(gridWidth, gridHeight)
# self.RES_LEFT_RIGHT_SPACE = self.MIN_LEFT_RIGHT_SPACE
# self.RES_TOP_BOTTOM_SPACE = self.MIN_TOP_BOTTOM_SPACE
As a note, I have RES_SHOW_ACTIVE_TRADE and RES_SHOW_IMPORT_EXPORT_HEADER false to simplify things slightly. Can anyone tell what's going wrong here? Thanks in advance for any help.