MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / MarketTree

Class MarketTree

gui/builtinMarketBrowser/marketTree.py:12–110  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10
11
12class MarketTree(wx.TreeCtrl):
13
14 def __init__(self, parent, marketBrowser):
15 wx.TreeCtrl.__init__(self, parent, style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)
16 pyfalog.debug("Initialize marketTree")
17 self.root = self.AddRoot("root")
18
19 self.imageList = CachingImageList(16, 16)
20 self.SetImageList(self.imageList)
21
22 self.sMkt = marketBrowser.sMkt
23 self.marketBrowser = marketBrowser
24
25 # Form market tree root
26 sMkt = self.sMkt
27 for mktGrp in sMkt.getMarketRoot():
28 iconId = self.addImage(sMkt.getIconByMarketGroup(mktGrp))
29 childId = self.AppendItem(self.root, mktGrp.name, iconId, data=mktGrp.ID)
30 # All market groups which were never expanded are dummies, here we assume
31 # that all root market groups are expandable
32 self.AppendItem(childId, "dummy")
33 self.SortChildren(self.root)
34
35 # Add recently used modules node
36 rumIconId = self.addImage("market_small", "gui")
37 self.AppendItem(self.root, _t("Recently Used Items"), rumIconId, data=RECENTLY_USED_MODULES)
38 # Add charges for active fitting node
39 cffIconId = self.addImage("damagePattern_small", "gui")
40 self.AppendItem(self.root, _t("Charges For Active Fit"), cffIconId, data=CHARGES_FOR_FIT)
41
42 # Bind our lookup method to when the tree gets expanded
43 self.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)
44 self.Bind(wx.EVT_TREE_ITEM_COLLAPSED, self.OnCollapsed)
45
46 def addImage(self, iconFile, location="icons"):
47 if iconFile is None:
48 return -1
49 return self.imageList.GetImageIndex(iconFile, location)
50
51 def expandLookup(self, event):
52 """Process market tree expands"""
53 root = event.Item
54 child = self.GetFirstChild(root)[0]
55 # If child of given market group is a dummy
56 if self.GetItemText(child) == "dummy":
57 # Delete it
58 self.Delete(child)
59 # And add real market group contents
60 sMkt = self.sMkt
61 currentMktGrp = sMkt.getMarketGroup(self.GetItemData(root), eager="children")
62
63 for childMktGrp in sMkt.getMarketGroupChildren(currentMktGrp):
64 # If market should have items but it doesn't, do not show it
65 if sMkt.marketGroupValidityCheck(childMktGrp) is False:
66 continue
67 icon = sMkt.getIconByMarketGroup(childMktGrp)
68 iconId = -1 if icon is None else self.addImage(icon)
69 try:

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected