diff --git a/gui/builtinGraphs/fitDps.py b/gui/builtinGraphs/fitDps.py
index fcbfa68fa..ae03c180b 100644
--- a/gui/builtinGraphs/fitDps.py
+++ b/gui/builtinGraphs/fitDps.py
@@ -1,95 +1,95 @@
-# =============================================================================
-# Copyright (C) 2010 Diego Duclos
-#
-# This file is part of pyfa.
-#
-# pyfa is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# pyfa is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with pyfa. If not, see .
-# =============================================================================
-
-from gui.graph import Graph
-from gui.bitmapLoader import BitmapLoader
-from eos.graph.fitDps import FitDpsGraph as FitDps
-from eos.graph import Data
-import gui.mainFrame
-from service.attribute import Attribute
-
-
-class FitDpsGraph(Graph):
- propertyAttributeMap = {"angle": "maxVelocity",
- "distance": "maxRange",
- "signatureRadius": "signatureRadius",
- "velocity": "maxVelocity"}
-
- propertyLabelMap = {"angle": "Target Angle (degrees)",
- "distance": "Distance to Target (km)",
- "signatureRadius": "Target Signature Radius (m)",
- "velocity": "Target Velocity (m/s)"}
-
- defaults = FitDps.defaults.copy()
-
- def __init__(self):
- Graph.__init__(self)
- self.defaults["distance"] = "0-20"
- self.name = "DPS"
- self.fitDps = None
- self.mainFrame = gui.mainFrame.MainFrame.getInstance()
-
- def getFields(self):
- return self.defaults
-
- def getLabels(self):
- return self.propertyLabelMap
-
- def getIcons(self):
- icons = {}
- sAttr = Attribute.getInstance()
- for key, attrName in self.propertyAttributeMap.iteritems():
- iconFile = sAttr.getAttributeInfo(attrName).icon.iconFile
- bitmap = BitmapLoader.getBitmap(iconFile, "icons")
- if bitmap:
- icons[key] = bitmap
-
- return icons
-
- def getPoints(self, fit, fields):
- fitDps = getattr(self, "fitDps", None)
- if fitDps is None or fitDps.fit != fit:
- fitDps = self.fitDps = FitDps(fit)
-
- fitDps.clearData()
- variable = None
- for fieldName, value in fields.iteritems():
- d = Data(fieldName, value)
- if not d.isConstant():
- if variable is None:
- variable = fieldName
- else:
- # We can't handle more then one variable atm, OOPS FUCK OUT
- return False, "Can only handle 1 variable"
-
- fitDps.setData(d)
-
- if variable is None:
- return False, "No variable"
-
- x = []
- y = []
- for point, val in fitDps.getIterator():
- x.append(point[variable])
- y.append(val)
-
- return x, y
-
-
-FitDpsGraph.register()
+# =============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of pyfa.
+#
+# pyfa is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyfa is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with pyfa. If not, see .
+# =============================================================================
+
+from gui.graph import Graph
+from gui.bitmapLoader import BitmapLoader
+from eos.graph.fitDps import FitDpsGraph as FitDps
+from eos.graph import Data
+import gui.mainFrame
+from service.attribute import Attribute
+
+
+class FitDpsGraph(Graph):
+ propertyAttributeMap = {"angle": "maxVelocity",
+ "distance": "maxRange",
+ "signatureRadius": "signatureRadius",
+ "velocity": "maxVelocity"}
+
+ propertyLabelMap = {"angle": "Target Angle (degrees)",
+ "distance": "Distance to Target (km)",
+ "signatureRadius": "Target Signature Radius (m)",
+ "velocity": "Target Velocity (m/s)"}
+
+ defaults = FitDps.defaults.copy()
+
+ def __init__(self):
+ Graph.__init__(self)
+ self.defaults["distance"] = "0-20"
+ self.name = "DPS"
+ self.fitDps = None
+ self.mainFrame = gui.mainFrame.MainFrame.getInstance()
+
+ def getFields(self):
+ return self.defaults
+
+ def getLabels(self):
+ return self.propertyLabelMap
+
+ def getIcons(self):
+ icons = {}
+ sAttr = Attribute.getInstance()
+ for key, attrName in self.propertyAttributeMap.iteritems():
+ iconFile = sAttr.getAttributeInfo(attrName).icon.iconFile
+ bitmap = BitmapLoader.getBitmap(iconFile, "icons")
+ if bitmap:
+ icons[key] = bitmap
+
+ return icons
+
+ def getPoints(self, fit, fields):
+ fitDps = getattr(self, "fitDps", None)
+ if fitDps is None or fitDps.fit != fit:
+ fitDps = self.fitDps = FitDps(fit)
+
+ fitDps.clearData()
+ variable = None
+ for fieldName, value in fields.iteritems():
+ d = Data(fieldName, value)
+ if not d.isConstant():
+ if variable is None:
+ variable = fieldName
+ else:
+ # We can't handle more then one variable atm, OOPS FUCK OUT
+ return False, "Can only handle 1 variable"
+
+ fitDps.setData(d)
+
+ if variable is None:
+ return False, "No variable"
+
+ x = []
+ y = []
+ for point, val in fitDps.getIterator():
+ x.append(point[variable])
+ y.append(val)
+
+ return x, y
+
+
+FitDpsGraph.register()
diff --git a/gui/builtinViewColumns/ammo.py b/gui/builtinViewColumns/ammo.py
index 27a742bce..4cd6a0ba7 100644
--- a/gui/builtinViewColumns/ammo.py
+++ b/gui/builtinViewColumns/ammo.py
@@ -1,58 +1,58 @@
-# =============================================================================
-# Copyright (C) 2010 Diego Duclos
-#
-# This file is part of pyfa.
-#
-# pyfa is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# pyfa is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with pyfa. If not, see .
-# =============================================================================
-
-import wx
-from eos.types import Fighter
-from gui.viewColumn import ViewColumn
-from gui.bitmapLoader import BitmapLoader
-
-
-class Ammo(ViewColumn):
- name = "Ammo"
-
- def __init__(self, fittingView, params):
- ViewColumn.__init__(self, fittingView)
- self.mask = wx.LIST_MASK_IMAGE
- self.imageId = fittingView.imageList.GetImageIndex("damagePattern_small", "gui")
- self.bitmap = BitmapLoader.getBitmap("damagePattern_small", "gui")
-
- def getText(self, stuff):
- if isinstance(stuff, Fighter):
- # this is an experiment, not sure I like it. But it saves us from duplicating code.
- col = self.columns['Fighter Abilities'](self.fittingView, {})
- text = col.getText(stuff)
- del col
- return text
- if getattr(stuff, "charge", None) is not None:
- charges = stuff.numCharges
- if charges > 0:
- cycles = stuff.numShots
- if cycles != 0 and charges != cycles:
- return "%s (%d, %d cycles)" % (stuff.charge.name, charges, cycles)
- else:
- return "%s (%d)" % (stuff.charge.name, charges)
- else:
- return stuff.charge.name
- return ""
-
- def getImageId(self, mod):
- return -1
-
-
-Ammo.register()
+# =============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of pyfa.
+#
+# pyfa is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyfa is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with pyfa. If not, see .
+# =============================================================================
+
+import wx
+from eos.types import Fighter
+from gui.viewColumn import ViewColumn
+from gui.bitmapLoader import BitmapLoader
+
+
+class Ammo(ViewColumn):
+ name = "Ammo"
+
+ def __init__(self, fittingView, params):
+ ViewColumn.__init__(self, fittingView)
+ self.mask = wx.LIST_MASK_IMAGE
+ self.imageId = fittingView.imageList.GetImageIndex("damagePattern_small", "gui")
+ self.bitmap = BitmapLoader.getBitmap("damagePattern_small", "gui")
+
+ def getText(self, stuff):
+ if isinstance(stuff, Fighter):
+ # this is an experiment, not sure I like it. But it saves us from duplicating code.
+ col = self.columns['Fighter Abilities'](self.fittingView, {})
+ text = col.getText(stuff)
+ del col
+ return text
+ if getattr(stuff, "charge", None) is not None:
+ charges = stuff.numCharges
+ if charges > 0:
+ cycles = stuff.numShots
+ if cycles != 0 and charges != cycles:
+ return "%s (%d, %d cycles)" % (stuff.charge.name, charges, cycles)
+ else:
+ return "%s (%d)" % (stuff.charge.name, charges)
+ else:
+ return stuff.charge.name
+ return ""
+
+ def getImageId(self, mod):
+ return -1
+
+
+Ammo.register()
diff --git a/gui/builtinViewColumns/ammoIcon.py b/gui/builtinViewColumns/ammoIcon.py
index 1dc6906e3..f4f6f7af1 100644
--- a/gui/builtinViewColumns/ammoIcon.py
+++ b/gui/builtinViewColumns/ammoIcon.py
@@ -1,56 +1,56 @@
-# =============================================================================
-# Copyright (C) 2010 Diego Duclos
-#
-# This file is part of pyfa.
-#
-# pyfa is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# pyfa is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with pyfa. If not, see .
-# =============================================================================
-
-from gui.viewColumn import ViewColumn
-import wx
-from eos.types import Module
-
-
-class AmmoIcon(ViewColumn):
- name = "Ammo Icon"
-
- def __init__(self, fittingView, params):
- ViewColumn.__init__(self, fittingView)
- self.size = 24
- self.maxsize = self.size
- self.mask = wx.LIST_MASK_IMAGE
- self.columnText = ""
-
- def getText(self, mod):
- return ""
-
- def getImageId(self, stuff):
- if not isinstance(stuff, Module):
- return -1
-
- if stuff.charge is None:
- return -1
- else:
- iconFile = stuff.charge.icon.iconFile if stuff.charge.icon else ""
- if iconFile:
- return self.fittingView.imageList.GetImageIndex(iconFile, "icons")
- else:
- return -1
-
- def getToolTip(self, mod):
- if isinstance(mod, Module) and mod.charge is not None:
- return mod.charge.name
-
-
-AmmoIcon.register()
+# =============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of pyfa.
+#
+# pyfa is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyfa is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with pyfa. If not, see .
+# =============================================================================
+
+from gui.viewColumn import ViewColumn
+import wx
+from eos.types import Module
+
+
+class AmmoIcon(ViewColumn):
+ name = "Ammo Icon"
+
+ def __init__(self, fittingView, params):
+ ViewColumn.__init__(self, fittingView)
+ self.size = 24
+ self.maxsize = self.size
+ self.mask = wx.LIST_MASK_IMAGE
+ self.columnText = ""
+
+ def getText(self, mod):
+ return ""
+
+ def getImageId(self, stuff):
+ if not isinstance(stuff, Module):
+ return -1
+
+ if stuff.charge is None:
+ return -1
+ else:
+ iconFile = stuff.charge.icon.iconFile if stuff.charge.icon else ""
+ if iconFile:
+ return self.fittingView.imageList.GetImageIndex(iconFile, "icons")
+ else:
+ return -1
+
+ def getToolTip(self, mod):
+ if isinstance(mod, Module) and mod.charge is not None:
+ return mod.charge.name
+
+
+AmmoIcon.register()
diff --git a/gui/builtinViewColumns/capacitorUse.py b/gui/builtinViewColumns/capacitorUse.py
index cc5efa16c..692911400 100644
--- a/gui/builtinViewColumns/capacitorUse.py
+++ b/gui/builtinViewColumns/capacitorUse.py
@@ -1,58 +1,58 @@
-# =============================================================================
-# Copyright (C) 2010 Diego Duclos
-#
-# This file is part of pyfa.
-#
-# pyfa is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# pyfa is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with pyfa. If not, see .
-# =============================================================================
-
-import wx
-
-from eos.types import Mode
-from service.attribute import Attribute
-from gui.utils.numberFormatter import formatAmount
-from gui.viewColumn import ViewColumn
-from gui.bitmapLoader import BitmapLoader
-
-
-class CapacitorUse(ViewColumn):
- name = "Capacitor Usage"
-
- def __init__(self, fittingView, params):
- ViewColumn.__init__(self, fittingView)
-
- self.mask = wx.LIST_MASK_IMAGE
-
- Attribute.getInstance().getAttributeInfo("capacitorNeed")
- self.imageId = fittingView.imageList.GetImageIndex("capacitorRecharge_small", "gui")
- self.bitmap = BitmapLoader.getBitmap("capacitorRecharge_small", "gui")
-
- def getText(self, mod):
- if isinstance(mod, Mode):
- return ""
-
- capUse = mod.capUse
- if capUse:
- return "%s%s" % ("+" if capUse < 0 else "", (formatAmount(-capUse, 3, 0, 3)))
- else:
- return ""
-
- def getImageId(self, mod):
- return -1
-
- def getToolTip(self, mod):
- return self.name
-
-
-CapacitorUse.register()
+# =============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of pyfa.
+#
+# pyfa is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyfa is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with pyfa. If not, see .
+# =============================================================================
+
+import wx
+
+from eos.types import Mode
+from service.attribute import Attribute
+from gui.utils.numberFormatter import formatAmount
+from gui.viewColumn import ViewColumn
+from gui.bitmapLoader import BitmapLoader
+
+
+class CapacitorUse(ViewColumn):
+ name = "Capacitor Usage"
+
+ def __init__(self, fittingView, params):
+ ViewColumn.__init__(self, fittingView)
+
+ self.mask = wx.LIST_MASK_IMAGE
+
+ Attribute.getInstance().getAttributeInfo("capacitorNeed")
+ self.imageId = fittingView.imageList.GetImageIndex("capacitorRecharge_small", "gui")
+ self.bitmap = BitmapLoader.getBitmap("capacitorRecharge_small", "gui")
+
+ def getText(self, mod):
+ if isinstance(mod, Mode):
+ return ""
+
+ capUse = mod.capUse
+ if capUse:
+ return "%s%s" % ("+" if capUse < 0 else "", (formatAmount(-capUse, 3, 0, 3)))
+ else:
+ return ""
+
+ def getImageId(self, mod):
+ return -1
+
+ def getToolTip(self, mod):
+ return self.name
+
+
+CapacitorUse.register()
diff --git a/gui/cachingImageList.py b/gui/cachingImageList.py
index aceff6775..0762d1687 100644
--- a/gui/cachingImageList.py
+++ b/gui/cachingImageList.py
@@ -1,37 +1,37 @@
-# =============================================================================
-# Copyright (C) 2010 Diego Duclos
-#
-# This file is part of pyfa.
-#
-# pyfa is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# pyfa is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with pyfa. If not, see .
-# =============================================================================
-
-
-import wx
-from gui.bitmapLoader import BitmapLoader
-
-
-class CachingImageList(wx.ImageList):
- def __init__(self, width, height):
- wx.ImageList.__init__(self, width, height)
- self.map = {}
-
- def GetImageIndex(self, *loaderArgs):
- id_ = self.map.get(loaderArgs)
- if id_ is None:
- bitmap = BitmapLoader.getBitmap(*loaderArgs)
- if bitmap is None:
- return -1
- id_ = self.map[loaderArgs] = wx.ImageList.Add(self, bitmap)
- return id_
+# =============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of pyfa.
+#
+# pyfa is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# pyfa is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with pyfa. If not, see .
+# =============================================================================
+
+
+import wx
+from gui.bitmapLoader import BitmapLoader
+
+
+class CachingImageList(wx.ImageList):
+ def __init__(self, width, height):
+ wx.ImageList.__init__(self, width, height)
+ self.map = {}
+
+ def GetImageIndex(self, *loaderArgs):
+ id_ = self.map.get(loaderArgs)
+ if id_ is None:
+ bitmap = BitmapLoader.getBitmap(*loaderArgs)
+ if bitmap is None:
+ return -1
+ id_ = self.map[loaderArgs] = wx.ImageList.Add(self, bitmap)
+ return id_