Make a slight redesign of the builtins

This commit is contained in:
cncfanatics
2010-10-04 09:17:52 +02:00
parent 7564914cf0
commit c41525ff4a
23 changed files with 47 additions and 45 deletions

View File

@@ -1,10 +1,3 @@
__all__ = ["resourcesViewFull", "resistancesViewFull",
"rechargeViewFull", "firepowerViewFull", "capacitorViewFull",
"targetingmiscViewFull", "priceViewFull"]
columns = {}
def registerView(column):
columns[column.name] = column
def getView(name):
return columns[name]

View File

@@ -39,7 +39,7 @@ class CapacitorViewFull(StatsView):
contentSizer = contentPanel.GetSizer()
parent = self.panel = contentPanel
self.headerPanel = headerPanel
panel = "full"
sizerCapacitor = wx.GridSizer(1, 2)
@@ -134,4 +134,4 @@ class CapacitorViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
builtinStatsViews.registerView(CapacitorViewFull)
CapacitorViewFull.register()

View File

@@ -39,7 +39,7 @@ class FirepowerViewFull(StatsView):
contentSizer = contentPanel.GetSizer()
parent = self.panel = contentPanel
self.headerPanel = headerPanel
panel = "full"
sizerFirepower = wx.FlexGridSizer(1, 3)
@@ -107,4 +107,4 @@ class FirepowerViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
builtinStatsViews.registerView(FirepowerViewFull)
FirepowerViewFull.register()

View File

@@ -60,7 +60,7 @@ class PriceViewFull(StatsView):
contentSizer = contentPanel.GetSizer()
self.panel = contentPanel
self.headerPanel = headerPanel
gridPrice = wx.GridSizer(1, 3)
contentSizer.Add( gridPrice, 0, wx.EXPAND | wx.ALL, 0)
for type in ("ship", "fittings", "total"):
@@ -141,4 +141,4 @@ class PriceViewFull(StatsView):
self.labelPriceTotal.SetToolTip(wx.ToolTip("%.2f ISK" % (shipPrice + modPrice)))
self.panel.Layout()
builtinStatsViews.registerView(PriceViewFull)
PriceViewFull.register()

View File

@@ -102,5 +102,4 @@ class RechargeViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
builtinStatsViews.registerView(RechargeViewFull)
RechargeViewFull.register()

View File

@@ -173,5 +173,5 @@ class ResistancesViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
ResistancesViewFull.register()
builtinStatsViews.registerView(ResistancesViewFull)

View File

@@ -180,4 +180,4 @@ class ResourcesViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
builtinStatsViews.registerView(ResourcesViewFull)
ResourcesViewFull.register()

View File

@@ -122,4 +122,4 @@ class TargetingMiscViewFull(StatsView):
self.panel.Layout()
self.headerPanel.Layout()
builtinStatsViews.registerView(TargetingMiscViewFull)
TargetingMiscViewFull.register()

View File

@@ -1,9 +1,2 @@
__all__ = ["moduleState", "moduleNameOrSlot", "attributeDisplay", "maxRange",
"name", "droneDps", "droneNameAmount", "droneCheckbox", "moduleAmmo"]
columns = {}
def registerColumn(column):
columns[column.name] = column
def getColumn(name):
return columns[name]
"name", "droneDps", "droneNameAmount", "droneCheckbox", "moduleAmmo"]

View File

@@ -66,4 +66,4 @@ class AttributeDisplay(ViewColumn):
("displayName", bool, False),
("showIcon", bool, True))
builtinViewColumns.registerColumn(AttributeDisplay)
AttributeDisplay.register()

View File

@@ -47,4 +47,4 @@ class DroneCheckbox(ViewColumn):
else:
return self.uncheckedId
builtinViewColumns.registerColumn(DroneCheckbox)
DroneCheckbox.register()

View File

@@ -36,4 +36,4 @@ class DroneDps(ViewColumn):
def getImageId(self, mod):
return -1
builtinViewColumns.registerColumn(DroneDps)
DroneDps.register()

View File

@@ -34,4 +34,4 @@ class DroneNameAmount(ViewColumn):
def getImageId(self, mod):
return -1
builtinViewColumns.registerColumn(DroneNameAmount)
DroneNameAmount.register()

View File

@@ -69,4 +69,4 @@ class MaxRange(ViewColumn):
return (("displayName", bool, False),
("showIcon", bool, True))
builtinViewColumns.registerColumn(MaxRange)
MaxRange.register()

View File

@@ -46,4 +46,4 @@ class ModuleAmmo(ViewColumn):
return iconId
builtinViewColumns.registerColumn(ModuleAmmo)
ModuleAmmo.register()

View File

@@ -58,4 +58,4 @@ class ModuleNameOrSlot(ViewColumn):
return iconId
builtinViewColumns.registerColumn(ModuleNameOrSlot)
ModuleNameOrSlot.register()

View File

@@ -46,4 +46,4 @@ class ModuleState(ViewColumn):
bitmap = bitmapLoader.getBitmap("state_%s_small" % self.stateNameMap[mod.state], "icons")
return self.fittingView.imageList.Add(bitmap)
builtinViewColumns.registerColumn(ModuleState)
ModuleState.register()

View File

@@ -44,4 +44,4 @@ class StuffName(ViewColumn):
return iconId
builtinViewColumns.registerColumn(StuffName)
StuffName.register()

View File

@@ -23,7 +23,7 @@ class ContextMenu(object):
menus = set()
@classmethod
def register(cls):
cls.menus.add(cls())
ContextMenu.menus.add(cls())
@classmethod
def getMenu(cls, *contexts):

View File

@@ -19,8 +19,7 @@
import wx
import gui.mainFrame
from gui.builtinViewColumns import *
import gui.builtinViewColumns
from gui.viewColumn import ViewColumn
import sys
class Display(wx.ListCtrl):
@@ -42,9 +41,9 @@ class Display(wx.ListCtrl):
params = {"showIcon": True,
"displayName": False,
"attribute": attrName}
col = gui.builtinViewColumns.getColumn("Attribute Display")(self, params)
col = ViewColumn.getColumn("Attribute Display")(self, params)
else:
col = gui.builtinViewColumns.getColumn(colName)(self, None)
col = ViewColumn.getColumn(colName)(self, None)
self.addColumn(i, col)
i += 1

View File

@@ -22,7 +22,6 @@ from gui.statsView import StatsView
import service
from gui.pyfatogglepanel import TogglePanel
import gui.builtinStatsViews
from gui.builtinStatsViews import *
import gui.fittingView as fv
import gui.mainFrame
@@ -58,7 +57,7 @@ class StatsPane(wx.Panel):
maxviews = len(self.DEFAULT_VIEWS)
i=0
for viewName in self.DEFAULT_VIEWS:
view = gui.builtinStatsViews.getView(viewName)( self )
view = StatsView.getView(viewName)( self )
self.views.append(view)
tp = TogglePanel(self)

View File

@@ -18,9 +18,18 @@
#===============================================================================
class StatsView(object):
views = {}
def __init__(self):
pass
@classmethod
def register(cls):
StatsView.views[cls.name] = cls
@classmethod
def getView(cls, name):
return cls.views[name]
def populatePanel(self, panel):
raise NotImplementedError()
@@ -29,3 +38,5 @@ class StatsView(object):
def refreshPanel(self, fit):
raise NotImplementedError()
from gui.builtinStatsViews import *

View File

@@ -25,10 +25,8 @@ class ViewColumn(object):
Once the missing methods are correctly implemented,
they can be used as columns in a view.
'''
columns = []
columns = {}
def __init__(self, fittingView):
ViewColumn.columns.append(self)
self.fittingView = fittingView
self.columnText = ""
self.imageId = -1
@@ -36,6 +34,14 @@ class ViewColumn(object):
self.mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE
self.resizable = True
@classmethod
def register(cls):
ViewColumn.columns[cls.name] = cls
@classmethod
def getColumn(cls, name):
return ViewColumn.columns[name]
def getRestrictions(self):
raise NotImplementedError()
@@ -47,3 +53,5 @@ class ViewColumn(object):
def getParameters(self):
raise NotImplementedError()
from gui.builtinViewColumns import *