PHP-Code:
def drawActive(self):
screen = self.getScreen()
# Get the Players
playerActive = gc.getPlayer(self.iActiveLeader)
# Put everything inside a main panel, so we get vertical scrolling
mainPanelName = self.getNextWidgetName()
screen.addPanel(mainPanelName, "", "", True, True, 50, 100, self.W_SCREEN - 100, self.H_SCREEN - 200, PanelStyles.PANEL_STYLE_EMPTY)
# loop through all players and sort them by number of active deals
(listPlayers, nNumPLayers) = self.getActiveDealsMap(self.iActiveLeader)
listPlayers.sort()
listPlayers.reverse()
# HeymlicH, mark cancelable Deals
__DEAL_OFFSET = gc.getDefineINT("PEACE_TREATY_LENGTH") - gc.getGame().getGameTurn()
def __turnsToCancel(pDeal):
return pDeal.getInitialGameTurn() + __DEAL_OFFSET
# END HeymlicH, mark cancelable Deals
# loop through all players and display leaderheads
for j in range (nNumPLayers):
iLoopPlayer = listPlayers[j][1]
# PB Mod, Do not display players without active trades
if listPlayers[j][0] == 0:
continue
# Player panel
playerPanelName = self.getNextWidgetName()
screen.attachPanel(mainPanelName, playerPanelName, gc.getPlayer(iLoopPlayer).getName(), "", False, True, PanelStyles.PANEL_STYLE_MAIN)
screen.attachLabel(playerPanelName, "", " ")
screen.attachImageButton(playerPanelName, "", gc.getLeaderHeadInfo(gc.getPlayer(iLoopPlayer).getLeaderType()).getButton(), GenericButtonSizes.BUTTON_SIZE_CUSTOM, WidgetTypes.WIDGET_LEADERHEAD, iLoopPlayer, -1, False)
innerPanelName = self.getNextWidgetName()
screen.attachPanel(playerPanelName, innerPanelName, "", "", False, False, PanelStyles.PANEL_STYLE_EMPTY)
dealPanelName = self.getNextWidgetName()
screen.attachListBoxGFC(innerPanelName, dealPanelName, "", TableStyles.TABLE_STYLE_EMPTY)
screen.enableSelect(dealPanelName, False)
iRow = 0
for i in range(gc.getGame().getIndexAfterLastDeal()):
deal = gc.getGame().getDeal(i)
if (deal.getFirstPlayer() == iLoopPlayer and deal.getSecondPlayer() == self.iActiveLeader and not deal.isNone()) or (deal.getSecondPlayer() == iLoopPlayer and deal.getFirstPlayer() == self.iActiveLeader):
# HeymlicH, mark cancelable Deals
dealStr = CyGameTextMgr().getDealString(deal, iLoopPlayer)
if __turnsToCancel(deal) <= 0:
dealStr = localText.getColorText (dealStr, (), gc.getInfoTypeForString ("COLOR_GREEN"))
screen.appendListBoxString(dealPanelName, dealStr, WidgetTypes.WIDGET_DEAL_KILL, deal.getID(), -1, CvUtil.FONT_LEFT_JUSTIFY)
# END HeymlicH, mark cancelable Deals
iRow += 1