Package horizons :: Package gui :: Package tabs :: Module buildingtabs
[hide private]
[frames] | no frames]

Source Code for Module horizons.gui.tabs.buildingtabs

 1  # ################################################### 
 2  # Copyright (C) 2008-2017 The Unknown Horizons Team 
 3  # team@unknown-horizons.org 
 4  # This file is part of Unknown Horizons. 
 5  # 
 6  # Unknown Horizons is free software; you can redistribute it and/or modify 
 7  # it under the terms of the GNU General Public License as published by 
 8  # the Free Software Foundation; either version 2 of the License, or 
 9  # (at your option) any later version. 
10  # 
11  # This program is distributed in the hope that it will be useful, 
12  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
13  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
14  # GNU General Public License for more details. 
15  # 
16  # You should have received a copy of the GNU General Public License 
17  # along with this program; if not, write to the 
18  # Free Software Foundation, Inc., 
19  # 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA 
20  # ################################################### 
21   
22  from horizons.component.depositcomponent import DepositComponent 
23  from horizons.component.namedcomponent import NamedComponent 
24  from horizons.component.storagecomponent import StorageComponent 
25  from horizons.i18n import gettext_lazy as LazyT 
26  from horizons.util.loaders.actionsetloader import ActionSetLoader 
27   
28  from .overviewtab import OverviewTab 
29   
30   
31 -class TowerOverviewTab(OverviewTab): # defensive tower
32 widget = 'overview_tower.xml' 33 helptext = LazyT("Tower overview") 34
35 - def init_widget(self):
36 super().init_widget() 37 self.widget.findChild(name="headline").text = self.instance.settlement.get_component(NamedComponent).name
38 39
40 -class SignalFireOverviewTab(OverviewTab):
41 widget = 'overview_signalfire.xml' 42 helptext = LazyT("Overview") 43
44 - def init_widget(self):
45 super().init_widget() 46 action_set = ActionSetLoader.get_set(self.instance._action_set_id) 47 action_gfx = list(action_set.items())[0][1] 48 image = list(action_gfx[45].keys())[0] 49 self.widget.findChild(name="building_image").image = image
50 51
52 -class ResourceDepositOverviewTab(OverviewTab):
53 widget = 'overview_resourcedeposit.xml' 54
55 - def init_widget(self):
56 super().init_widget() 57 # display range starts 0, not min_amount, else it looks like there's nothing in it 58 # when parts of the ore have been mined already 59 resources = self.instance.get_component(DepositComponent).get_res_ranges() 60 amounts = {res: (0, max_amount) for res, min_, max_amount in resources} 61 self.widget.child_finder("inventory").init(self.instance.session.db, 62 self.instance.get_component(StorageComponent).inventory, 63 ordinal=amounts)
64
65 - def refresh(self):
66 super().refresh() 67 self.widget.child_finder("inventory").update()
68