More windows to auxiliary frame

This commit is contained in:
DarkPhoenix
2019-08-11 15:52:51 +03:00
parent 247add778d
commit fc65cb6000
6 changed files with 13 additions and 274 deletions

View File

@@ -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()

View File

@@ -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}

View File

@@ -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)

View File

@@ -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()

View File

@@ -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