From 400d0aaa225d72a19324d13341f79eaadb3192fd Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 25 Nov 2019 16:54:25 +0300 Subject: [PATCH] Rework graph ammo picker to be dialog instead of frame --- graphs/gui/frame.py | 2 +- gui/{auxFrame.py => auxWindow.py} | 10 +++++++++- gui/builtinContextMenus/graphFitAmmoPicker.py | 20 +++++++++++++++---- gui/characterEditor.py | 2 +- gui/devTools.py | 2 +- gui/errorDialog.py | 2 +- gui/esiFittings.py | 2 +- gui/itemStats.py | 2 +- gui/patternEditor.py | 2 +- gui/propertyEditor.py | 2 +- gui/setEditor.py | 2 +- gui/targetProfileEditor.py | 2 +- 12 files changed, 35 insertions(+), 15 deletions(-) rename gui/{auxFrame.py => auxWindow.py} (94%) diff --git a/graphs/gui/frame.py b/graphs/gui/frame.py index f56c08d48..ef94f4009 100644 --- a/graphs/gui/frame.py +++ b/graphs/gui/frame.py @@ -27,7 +27,7 @@ import gui.globalEvents as GE import gui.mainFrame from graphs.data.base import FitGraph from graphs.events import RESIST_MODE_CHANGED -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from service.const import GraphCacheCleanupReason from service.settings import GraphSettings diff --git a/gui/auxFrame.py b/gui/auxWindow.py similarity index 94% rename from gui/auxFrame.py rename to gui/auxWindow.py index 4f3fbedb4..e42b68fab 100644 --- a/gui/auxFrame.py +++ b/gui/auxWindow.py @@ -22,7 +22,7 @@ import wx -class AuxiliaryFrame(wx.Frame): +class AuxiliaryMixin: _instance = None @@ -68,3 +68,11 @@ class AuxiliaryFrame(wx.Frame): def OnSuppressedAction(self, event): return + + +class AuxiliaryFrame(AuxiliaryMixin, wx.Frame): + pass + + +class AuxiliaryDialog(AuxiliaryMixin, wx.Dialog): + pass diff --git a/gui/builtinContextMenus/graphFitAmmoPicker.py b/gui/builtinContextMenus/graphFitAmmoPicker.py index 77868f314..cac80ce33 100644 --- a/gui/builtinContextMenus/graphFitAmmoPicker.py +++ b/gui/builtinContextMenus/graphFitAmmoPicker.py @@ -2,7 +2,7 @@ import wx import gui.mainFrame -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryDialog from gui.contextMenu import ContextMenuSingle from service.ammo import Ammo from service.market import Market @@ -32,22 +32,34 @@ class GraphFitAmmoPicker(ContextMenuSingle): GraphFitAmmoPicker.register() -class AmmoPickerFrame(AuxiliaryFrame): +class AmmoPickerFrame(AuxiliaryDialog): def __init__(self, parent, fit): super().__init__(parent, title='Choose Different Ammo', style=wx.DEFAULT_DIALOG_STYLE, resizeable=True) padding = 5 mainSizer = wx.BoxSizer(wx.VERTICAL) + contents = AmmoPickerContents(self, fit) mainSizer.Add(contents, 1, wx.EXPAND | wx.ALL, padding) + buttonSizer = self.CreateButtonSizer(wx.OK | wx.CANCEL) + if buttonSizer: + mainSizer.Add(buttonSizer, 0, wx.EXPAND | wx.ALL, padding) + self.SetSizer(mainSizer) self.Layout() contW, contH = contents.GetVirtualSize() - bestW = min(1000, contW + padding * 2) - bestH = min(700, contH + padding * 2) + bestW = contW + padding * 2 + bestH = contH + padding * 2 + if buttonSizer: + # Yeah right... whatever + buttW, buttH = buttonSizer.GetSize() + bestW = max(bestW, buttW + padding * 2) + bestH += buttH + padding * 2 + bestW = min(1000, bestW) + bestH = min(700, bestH) self.SetSize(bestW, bestH) self.SetMinSize(wx.Size(int(bestW * 0.7), int(bestH * 0.7))) self.CenterOnParent() diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 24ff84700..7025b1a2a 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -34,7 +34,7 @@ from wx.lib.agw.floatspin import FloatSpin import config import gui.globalEvents as GE -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.builtinViews.entityEditor import BaseValidator, EntityEditor, TextEntryValidatedDialog from gui.builtinViews.implantEditor import BaseImplantEditorView diff --git a/gui/devTools.py b/gui/devTools.py index 3e5ac725e..2fb6abb4a 100644 --- a/gui/devTools.py +++ b/gui/devTools.py @@ -26,7 +26,7 @@ import wx from logbook import Logger import eos.db -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.builtinShipBrowser.events import FitSelected diff --git a/gui/errorDialog.py b/gui/errorDialog.py index 1e50a17bc..1825e2e5b 100644 --- a/gui/errorDialog.py +++ b/gui/errorDialog.py @@ -26,7 +26,7 @@ import wx from logbook import Logger import config -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from service.prereqsCheck import version_block diff --git a/gui/esiFittings.py b/gui/esiFittings.py index 22dec7a4f..61da04d78 100644 --- a/gui/esiFittings.py +++ b/gui/esiFittings.py @@ -8,7 +8,7 @@ from logbook import Logger import gui.globalEvents as GE from eos.db import getItem from eos.saveddata.cargo import Cargo -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.display import Display from service.esi import Esi from service.esiAccess import APIException diff --git a/gui/itemStats.py b/gui/itemStats.py index 284121ecc..dda8e68ad 100644 --- a/gui/itemStats.py +++ b/gui/itemStats.py @@ -23,7 +23,7 @@ import wx import config import gui.mainFrame from eos.saveddata.module import Module -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.builtinItemStatsViews.itemAffectedBy import ItemAffectedBy from gui.builtinItemStatsViews.itemAttributes import ItemParams diff --git a/gui/patternEditor.py b/gui/patternEditor.py index ee22d3fd1..4c30c8c90 100644 --- a/gui/patternEditor.py +++ b/gui/patternEditor.py @@ -21,7 +21,7 @@ import wx from logbook import Logger -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.builtinViews.entityEditor import BaseValidator, EntityEditor from gui.utils.clipboard import fromClipboard, toClipboard diff --git a/gui/propertyEditor.py b/gui/propertyEditor.py index 2292c5ac5..06ae4bf20 100644 --- a/gui/propertyEditor.py +++ b/gui/propertyEditor.py @@ -10,7 +10,7 @@ import gui.builtinMarketBrowser.pfSearchBox as SBox import gui.display as d import gui.globalEvents as GE from eos.db.gamedata.queries import getAttributeInfo, getItem -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.marketBrowser import SearchBox from service.market import Market diff --git a/gui/setEditor.py b/gui/setEditor.py index 578cf18fd..8ba2213d5 100644 --- a/gui/setEditor.py +++ b/gui/setEditor.py @@ -21,7 +21,7 @@ import wx from logbook import Logger -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.builtinViews.entityEditor import BaseValidator, EntityEditor from gui.builtinViews.implantEditor import BaseImplantEditorView from gui.utils.clipboard import fromClipboard, toClipboard diff --git a/gui/targetProfileEditor.py b/gui/targetProfileEditor.py index 244aec20b..e2d977a66 100644 --- a/gui/targetProfileEditor.py +++ b/gui/targetProfileEditor.py @@ -27,7 +27,7 @@ from logbook import Logger import gui.mainFrame import gui.globalEvents as GE -from gui.auxFrame import AuxiliaryFrame +from gui.auxWindow import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.builtinViews.entityEditor import EntityEditor, BaseValidator from gui.utils.clipboard import toClipboard, fromClipboard