Implement market jump meta category logic
This commit is contained in:
@@ -96,4 +96,3 @@ class MarketTree(wx.TreeCtrl):
|
||||
self.Expand(item)
|
||||
|
||||
self.SelectItem(item)
|
||||
self.marketBrowser.itemView.selectionMade()
|
||||
|
||||
@@ -7,7 +7,7 @@ from gui.bitmap_loader import BitmapLoader
|
||||
|
||||
import gui.mainFrame
|
||||
import gui.globalEvents as GE
|
||||
from service.settings import PriceMenuSettings
|
||||
from service.settings import MarketPriceSettings
|
||||
from service.fit import Fit
|
||||
from service.price import Price
|
||||
|
||||
@@ -16,7 +16,7 @@ class PFMarketPref(PreferenceView):
|
||||
title = "Market & Prices"
|
||||
|
||||
def __init__(self):
|
||||
self.priceSettings = PriceMenuSettings.getInstance()
|
||||
self.priceSettings = MarketPriceSettings.getInstance()
|
||||
|
||||
def populatePanel(self, panel):
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
|
||||
@@ -23,7 +23,7 @@ from gui.statsView import StatsView
|
||||
from gui.bitmap_loader import BitmapLoader
|
||||
from gui.utils.numberFormatter import formatAmount
|
||||
from service.price import Fit, Price
|
||||
from service.settings import PriceMenuSettings
|
||||
from service.settings import MarketPriceSettings
|
||||
|
||||
|
||||
class PriceViewFull(StatsView):
|
||||
@@ -32,7 +32,7 @@ class PriceViewFull(StatsView):
|
||||
def __init__(self, parent):
|
||||
StatsView.__init__(self)
|
||||
self.parent = parent
|
||||
self.settings = PriceMenuSettings.getInstance()
|
||||
self.settings = MarketPriceSettings.getInstance()
|
||||
|
||||
def getHeaderText(self, fit):
|
||||
return "Price"
|
||||
|
||||
@@ -23,7 +23,7 @@ from gui.statsView import StatsView
|
||||
from gui.bitmap_loader import BitmapLoader
|
||||
from gui.utils.numberFormatter import formatAmount
|
||||
from service.price import Fit, Price
|
||||
from service.settings import PriceMenuSettings
|
||||
from service.settings import MarketPriceSettings
|
||||
|
||||
|
||||
class PriceViewMinimal(StatsView):
|
||||
@@ -32,7 +32,7 @@ class PriceViewMinimal(StatsView):
|
||||
def __init__(self, parent):
|
||||
StatsView.__init__(self)
|
||||
self.parent = parent
|
||||
self.settings = PriceMenuSettings.getInstance()
|
||||
self.settings = MarketPriceSettings.getInstance()
|
||||
|
||||
def getHeaderText(self, fit):
|
||||
return "Price"
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
# noinspection PyPackageRequirements
|
||||
import wx
|
||||
|
||||
from service.market import Market
|
||||
|
||||
from gui.builtinMarketBrowser.searchBox import SearchBox
|
||||
from gui.builtinMarketBrowser.itemView import ItemView
|
||||
from gui.builtinMarketBrowser.metaButton import MetaButton
|
||||
from gui.builtinMarketBrowser.marketTree import MarketTree
|
||||
from service.market import Market
|
||||
from service.settings import MarketPriceSettings
|
||||
|
||||
from logbook import Logger
|
||||
|
||||
@@ -33,8 +33,10 @@ pyfalog = Logger(__name__)
|
||||
|
||||
|
||||
class MarketBrowser(wx.Panel):
|
||||
|
||||
def __init__(self, parent):
|
||||
wx.Panel.__init__(self, parent)
|
||||
|
||||
pyfalog.debug("Initialize marketBrowser")
|
||||
vbox = wx.BoxSizer(wx.VERTICAL)
|
||||
self.SetSizer(vbox)
|
||||
@@ -46,8 +48,9 @@ class MarketBrowser(wx.Panel):
|
||||
self.splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE)
|
||||
vbox.Add(self.splitter, 1, wx.EXPAND)
|
||||
|
||||
# Grab market service instance and create child objects
|
||||
# Grab service stuff and create child objects
|
||||
self.sMkt = Market.getInstance()
|
||||
self.settings = MarketPriceSettings.getInstance()
|
||||
self.searchMode = False
|
||||
self.marketView = MarketTree(self.splitter, self)
|
||||
self.itemView = ItemView(self.splitter, self)
|
||||
@@ -98,3 +101,27 @@ class MarketBrowser(wx.Panel):
|
||||
|
||||
def jump(self, item):
|
||||
self.marketView.jump(item)
|
||||
setting = self.settings.get('marketMGJumpMode')
|
||||
itemMetaCat = self.sMkt.META_MAP_REVERSE[self.sMkt.getMetaGroupIdByItem(item)]
|
||||
# Enable item meta category
|
||||
if setting == 1:
|
||||
btn = getattr(self, itemMetaCat)
|
||||
if not btn.GetValue():
|
||||
btn.setUserSelection(True)
|
||||
# Enable item meta category, disable others
|
||||
elif setting == 2:
|
||||
tgtBtn = getattr(self, itemMetaCat)
|
||||
if not tgtBtn.GetValue():
|
||||
tgtBtn.setUserSelection(True)
|
||||
for btn in self.metaButtons:
|
||||
if btn is tgtBtn:
|
||||
continue
|
||||
if btn.GetValue:
|
||||
btn.setUserSelection(False)
|
||||
# Enable all meta categories
|
||||
elif setting == 3:
|
||||
for btn in self.metaButtons:
|
||||
if not btn.GetValue():
|
||||
btn.setUserSelection(True)
|
||||
self.itemView.selectionMade()
|
||||
|
||||
|
||||
@@ -316,6 +316,7 @@ class Market(object):
|
||||
("faction", frozenset((4, 3))),
|
||||
("complex", frozenset((6,))),
|
||||
("officer", frozenset((5,)))])
|
||||
self.META_MAP_REVERSE = {sv: k for k, v in self.META_MAP.items() for sv in v}
|
||||
self.SEARCH_CATEGORIES = (
|
||||
"Drone",
|
||||
"Module",
|
||||
|
||||
@@ -447,13 +447,13 @@ class StatViewSettings(object):
|
||||
self.serviceStatViewDefaultSettings[type] = value
|
||||
|
||||
|
||||
class PriceMenuSettings(object):
|
||||
class MarketPriceSettings(object):
|
||||
_instance = None
|
||||
|
||||
@classmethod
|
||||
def getInstance(cls):
|
||||
if cls._instance is None:
|
||||
cls._instance = PriceMenuSettings()
|
||||
cls._instance = MarketPriceSettings()
|
||||
|
||||
return cls._instance
|
||||
|
||||
|
||||
Reference in New Issue
Block a user