diff --git a/graphs/gui/frame.py b/graphs/gui/frame.py index b078ebd18..fe9ba4ea3 100644 --- a/graphs/gui/frame.py +++ b/graphs/gui/frame.py @@ -32,6 +32,7 @@ import gui.mainFrame from graphs.data.base import FitGraph from graphs.events import RESIST_MODE_CHANGED from graphs.style import BASE_COLORS, LIGHTNESSES, STYLES, hsl_to_hsv +from gui.auxFrame import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from service.const import GraphCacheCleanupReason from service.settings import GraphSettings @@ -65,7 +66,7 @@ except Exception: graphFrame_enabled = False -class GraphFrame(wx.Frame): +class GraphFrame(AuxiliaryFrame): def __init__(self, parent): @@ -74,10 +75,7 @@ class GraphFrame(wx.Frame): pyfalog.warning('Matplotlib is not enabled. Skipping initialization.') return - wx.Frame.__init__( - self, parent, title='Graphs', - style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE | wx.FRAME_FLOAT_ON_PARENT, - size=(520, 390)) + super().__init__(parent, title='Graphs', style=wx.RESIZE_BORDER | wx.NO_FULL_REPAINT_ON_RESIZE, size=(520, 390)) self.mainFrame = gui.mainFrame.MainFrame.getInstance() self.SetIcon(wx.Icon(BitmapLoader.getBitmap('graphs_small', 'gui'))) diff --git a/gui/attribute_gauge.py b/gui/attribute_gauge.py index 7eea0619e..257a3356e 100644 --- a/gui/attribute_gauge.py +++ b/gui/attribute_gauge.py @@ -274,186 +274,3 @@ class AttributeGauge(wx.Window): self._timer.Stop() self.Refresh() - - -if __name__ == "__main__": - import random - - def frange(x, y, jump): - while x < y: - yield x - x += jump - - class MyPanel(wx.Panel): - def __init__(self, parent, size=(500, 500)): - wx.Panel.__init__(self, parent, size=size) - box = wx.BoxSizer(wx.VERTICAL) - - self.gauge = gauge = AttributeGauge(self, size=(204, 4)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(100) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge11 = gauge = AttributeGauge(self, size=(204, 6)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(100) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge12 = gauge = AttributeGauge(self, size=(204, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(100) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge13 = gauge = AttributeGauge(self, size=(204, 10)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(100) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.value = wx.StaticText(self, label="Text") - box.Add(self.value, 0, wx.ALL | wx.CENTER, 5) - - self.btn = wx.Button(self, label="Toggle Timer") - box.Add(self.btn, 0, wx.ALL | wx.CENTER, 5) - self.btn.Bind(wx.EVT_BUTTON, self.ToggleTimer) - - self.spinCtrl = wx.SpinCtrl(self, min=-10000, max=10000) - box.Add(self.spinCtrl, 0, wx.ALL | wx.CENTER, 5) - self.spinCtrl.Bind(wx.EVT_SPINCTRL, self.UpdateValue) - - self.m_staticline2 = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL) - box.Add(self.m_staticline2, 0, wx.EXPAND, 5) - - self.spinCtrl2 = wx.SpinCtrl(self, min=0, max=10000) - box.Add(self.spinCtrl2, 0, wx.ALL | wx.CENTER, 5) - self.spinCtrl2.Bind(wx.EVT_SPINCTRL, self.UpdateValue2) - - box.Add(wx.StaticText(self, label="Large Even Pixel Test"), 0, wx.ALL | wx.CENTER, 5) - - guide_lines = False - - self.gauge2 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(204, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(2) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge3 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(204, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(-2) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - box.Add(wx.StaticText(self, label="Large Odd Pixel Test"), 0, wx.ALL | wx.CENTER, 5) - - self.gauge4 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(205, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(2) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge5 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(205, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(-2) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - box.Add(wx.StaticText(self, label="Small Even Pixel Test"), 0, wx.ALL | wx.CENTER, 5) - - self.gauge6 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(100, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(75) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge7 = gauge = AttributeGauge(self, guide_lines=guide_lines, size=(100, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(-75) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - box.Add(wx.StaticText(self, label="Small Odd Pixel Test"), 0, wx.ALL | wx.CENTER, 5) - - self.gauge8 = gauge = AttributeGauge(self, guide_lines=guide_lines, max_range=100, size=(101, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(1) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.gauge9 = gauge = AttributeGauge(self, guide_lines=guide_lines, max_range=100, size=(101, 8)) - gauge.SetBackgroundColour(wx.Colour(52, 86, 98)) - gauge.SetBarColour(wx.Colour(255, 128, 0)) - gauge.SetValue(-1) - gauge.SetFractionDigits(1) - box.Add(gauge, 0, wx.ALL | wx.CENTER, 10) - - self.SetSizer(box) - self.Layout() - - self.animTimer = wx.Timer(self, wx.NewId()) - self.Bind(wx.EVT_TIMER, self.OnTimer) - - self.animTimer.Start(1000) - - def ToggleTimer(self, evt): - if self.animTimer.IsRunning: - self.animTimer.Stop() - else: - self.animTimer.Start(1000) - - def UpdateValue(self, event): - if self.animTimer.IsRunning: - self.animTimer.Stop() - num = self.spinCtrl.GetValue() - self.gauge.SetValue(num) - self.gauge11.SetValue(num) - self.gauge12.SetValue(num) - self.gauge13.SetValue(num) - self.value.SetLabel(str(num)) - - def UpdateValue2(self, event): - num = self.spinCtrl2.GetValue() - self.gauge2.SetValue(num) - self.gauge3.SetValue(num * -1) - self.gauge4.SetValue(num) - self.gauge5.SetValue(num * -1) - self.gauge6.SetValue(num) - self.gauge7.SetValue(num * -1) - self.gauge8.SetValue(num) - self.gauge9.SetValue(num * -1) - - def OnTimer(self, evt): - num = random.randint(-100, 100) - self.gauge.SetValue(num) - self.gauge11.SetValue(num) - self.gauge12.SetValue(num) - self.gauge13.SetValue(num) - self.value.SetLabel(str(num)) - - class Frame(wx.Frame): - def __init__(self, title, size=(500, 800)): - wx.Frame.__init__(self, None, title=title, size=size) - self.statusbar = self.CreateStatusBar() - main_sizer = wx.BoxSizer(wx.VERTICAL) - panel = MyPanel(self, size=size) - main_sizer.Add(panel) - self.SetSizer(main_sizer) - - app = wx.App(redirect=False) # Error messages go to popup window - top = Frame("Test Attribute Bar") - top.Show() - app.MainLoop() diff --git a/gui/auxFrame.py b/gui/auxFrame.py index 5c201ecf4..f4f1f95be 100644 --- a/gui/auxFrame.py +++ b/gui/auxFrame.py @@ -25,7 +25,7 @@ import wx class AuxiliaryFrame(wx.Frame): def __init__(self, parent, id=None, title=None, pos=None, size=None, style=None, name=None): - baseStyle = wx.FRAME_NO_TASKBAR | wx.FRAME_FLOAT_ON_PARENT | wx.RESIZE_BORDER | wx.CAPTION | wx.CLOSE_BOX | wx.SYSTEM_MENU + baseStyle = wx.FRAME_NO_TASKBAR | wx.FRAME_FLOAT_ON_PARENT | wx.CAPTION | wx.CLOSE_BOX | wx.SYSTEM_MENU kwargs = { 'parent': parent, 'style': baseStyle if style is None else baseStyle | style} diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 0f1f8b10c..7ded07ae8 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -34,6 +34,7 @@ from wx.lib.agw.floatspin import FloatSpin import config import gui.globalEvents as GE +from gui.auxFrame import AuxiliaryFrame from gui.bitmap_loader import BitmapLoader from gui.builtinViews.entityEditor import BaseValidator, EntityEditor, TextEntryValidatedDialog from gui.builtinViews.implantEditor import BaseImplantEditorView @@ -44,6 +45,7 @@ from service.esi import Esi from service.fit import Fit from service.market import Market + pyfalog = Logger(__name__) @@ -149,10 +151,10 @@ class CharacterEntityEditor(EntityEditor): sChar.delete(entity) -class CharacterEditor(wx.Frame): +class CharacterEditor(AuxiliaryFrame): + def __init__(self, parent): - wx.Frame.__init__(self, parent, id=wx.ID_ANY, title="Character Editor", pos=wx.DefaultPosition, - size=wx.Size(640, 600), style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER | wx.FRAME_FLOAT_ON_PARENT) + super().__init__(parent, id=wx.ID_ANY, title="Character Editor", pos=wx.DefaultPosition, size=wx.Size(640, 600)) i = wx.Icon(BitmapLoader.getBitmap("character_small", "gui")) self.SetIcon(i) diff --git a/gui/chrome_tabs.py b/gui/chrome_tabs.py index 6558fe263..4e8a476f5 100644 --- a/gui/chrome_tabs.py +++ b/gui/chrome_tabs.py @@ -1443,81 +1443,3 @@ class PFNotebookPagePreview(wx.Frame): mdc.SetBrush(wx.TRANSPARENT_BRUSH) mdc.DrawRectangle(0, 16, rect.width, rect.height - 16) - - -if __name__ == "__main__": - - # need to set up some paths, since bitmap loader requires config to have things - # Should probably change that so that it's not dependant on config - import os - os.chdir('..') - import config - config.defPaths(None) - - class Frame(wx.Frame): - def __init__(self, title): - super().__init__(None, title=title, size=(1000, 500)) - - if 'wxMSW' in wx.PlatformInfo: - color = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNFACE) - self.SetBackgroundColour(color) - - main_sizer = wx.BoxSizer(wx.HORIZONTAL) - splitter = wx.SplitterWindow(self, style=wx.SP_LIVE_UPDATE) - main_sizer.Add(splitter, 1, wx.EXPAND | wx.ALL, 2) - - # Main test notebook - self.notebook = ChromeNotebook(splitter) - - # Tests can_add, has dummy tabs - notebook2 = ChromeNotebook(splitter, can_add=False) - - self.statusbar = self.CreateStatusBar() - - panel = wx.Panel(self) - box = wx.BoxSizer(wx.VERTICAL) - - head = wx.StaticText(panel, -1, "Chome Tabs Test") - head.SetFont(wx.Font(14, wx.SWISS, wx.NORMAL, wx.BOLD)) - box.Add(head, 0, wx.ALL, 10) - - self.tctrl = wx.TextCtrl(panel, wx.ID_ANY, "Tab Name") - - self.close_check = wx.CheckBox(panel, label="Closable?") - self.close_check.SetValue(True) - - self.icon_check = wx.CheckBox(panel, label="Icon?") - self.icon_check.SetValue(True) - - button = wx.Button(panel, wx.ID_ANY, "Create") - button.Bind(wx.EVT_BUTTON, self.OnCreate) - - box.Add(self.tctrl, 0, wx.ALL, 5) - box.Add(self.close_check, 0, wx.ALL, 5) - box.Add(self.icon_check, 0, wx.ALL, 5) - box.Add(button, 0, wx.ALL, 10) - - self.notebook.AddPage(panel, "Tab1", closeable=False) - - # Add dummy pages - notebook2.AddPage() - notebook2.AddPage() - - splitter.SplitVertically(self.notebook, notebook2) - - panel.SetSizer(box) - panel.Layout() - self.SetSizer(main_sizer) - - def OnCreate(self, event): - tab_name = self.tctrl.GetValue() - tab_icon = BitmapLoader.getImage("ship_small", "gui") - self.notebook.AddPage( - title=tab_name, - image=tab_icon if self.icon_check.GetValue() else None, - closeable=self.close_check.GetValue()) - - app = wx.App(redirect=False) # Error messages go to popup window - top = Frame("Test Chrome Tabs") - top.Show() - app.MainLoop() diff --git a/gui/devTools.py b/gui/devTools.py index 49e0ec3ac..b71ff6bfe 100644 --- a/gui/devTools.py +++ b/gui/devTools.py @@ -26,20 +26,20 @@ import wx from logbook import Logger import eos.db +from gui.auxFrame import AuxiliaryFrame from gui.builtinShipBrowser.events import FitSelected pyfalog = Logger(__name__) -class DevTools(wx.Frame): +class DevTools(AuxiliaryFrame): DAMAGE_TYPES = ("em", "thermal", "kinetic", "explosive") def __init__(self, parent): - wx.Frame.__init__( - self, parent, id=wx.ID_ANY, title="Development Tools", - style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_FLOAT_ON_PARENT, + super().__init__( + parent, id=wx.ID_ANY, title="Development Tools", style=wx.RESIZE_BORDER, size=wx.Size(400, 320) if "wxGTK" in wx.PlatformInfo else wx.Size(400, 240)) self.mainFrame = parent self.block = False