From 380f90d0650688a21128935965144a88bd964002 Mon Sep 17 00:00:00 2001 From: petosorus Date: Wed, 24 May 2017 17:30:55 +0200 Subject: [PATCH] Price options in context menu --- gui/builtinContextMenus/priceOptions.py | 49 +++++++++++++++++++++++++ gui/contextMenu.py | 1 + 2 files changed, 50 insertions(+) create mode 100644 gui/builtinContextMenus/priceOptions.py diff --git a/gui/builtinContextMenus/priceOptions.py b/gui/builtinContextMenus/priceOptions.py new file mode 100644 index 000000000..f7b9db042 --- /dev/null +++ b/gui/builtinContextMenus/priceOptions.py @@ -0,0 +1,49 @@ +from gui.contextMenu import ContextMenu +import gui.mainFrame +# noinspection PyPackageRequirements +import wx +import gui.globalEvents as GE +from service.price import Price +from service.settings import ContextMenuSettings, PriceMenuSettings + + +class PriceOptions(ContextMenu): + def __init__(self): + self.mainFrame = gui.mainFrame.MainFrame.getInstance() + self.settings = PriceMenuSettings.getInstance() + + def display(self, srcContext, selection): + return srcContext in ("priceViewFull", "priceViewMinimal") + + def getText(self, itmContext, selection): + return "Include in total" + + def addOption(self, menu, option): + label = option + id = ContextMenu.nextID() + self.optionIds[id] = option + menuItem = wx.MenuItem(menu, id, label, kind=wx.ITEM_CHECK) + menu.Bind(wx.EVT_MENU, self.handleMode, menuItem) + return menuItem + + def getSubMenu(self, context, selection, rootMenu, i, pitem): + msw = True if "wxMSW" in wx.PlatformInfo else False + self.context = context + self.optionIds = {} + + sub = wx.Menu() + + for option in self.settings.PriceMenuDefaultSettings.info: + menuItem = self.addOption(rootMenu if msw else sub, option) + sub.AppendItem(menuItem) + menuItem.Check(self.settings.get(option)) + + return sub + + def handleMode(self, event): + option = self.optionIds[event.Id] + self.settings.set(option, event.Int) + + wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.mainFrame.getActiveFit())) + +PriceOptions.register() diff --git a/gui/contextMenu.py b/gui/contextMenu.py index 155a42787..b56661217 100644 --- a/gui/contextMenu.py +++ b/gui/contextMenu.py @@ -199,6 +199,7 @@ from gui.builtinContextMenus import ( # noqa: E402,F401 tacticalMode, targetResists, priceClear, + priceOptions, amount, cargoAmmo, droneStack,