Add more columns for other graph types

This commit is contained in:
DarkPhoenix
2019-07-07 19:17:08 +03:00
parent e2ae89f6b9
commit cda9ba5978
5 changed files with 142 additions and 3 deletions

View File

@@ -38,6 +38,7 @@ class FitCapRegenGraph(FitGraph):
inputs = [
Input(handle='time', unit='s', label='Time', iconID=1392, defaultValue=120, defaultRange=(0, 300), mainOnly=True),
Input(handle='capAmount', unit='%', label='Cap amount', iconID=1668, defaultValue=25, defaultRange=(0, 100), mainOnly=True)]
srcExtraCols = ('CapAmount', 'CapTime')
# Calculation stuff
_normalizers = {

View File

@@ -35,6 +35,7 @@ class FitMobilityVsTimeGraph(FitGraph):
YDef(handle='distance', unit='km', label='Distance')]
inputs = [
Input(handle='time', unit='s', label='Time', iconID=1392, defaultValue=10, defaultRange=(0, 30), mainOnly=False)]
srcExtraCols = ('Speed', 'Agility')
# Calculation stuff
_denormalizers = {

View File

@@ -41,6 +41,7 @@ class FitShieldRegenGraph(FitGraph):
inputs = [
Input(handle='time', unit='s', label='Time', iconID=1392, defaultValue=120, defaultRange=(0, 300), mainOnly=True),
Input(handle='shieldAmount', unit='%', label='Shield amount', iconID=1384, defaultValue=25, defaultRange=(0, 100), mainOnly=True)]
srcExtraCols = ('ShieldAmount', 'ShieldTime')
# Calculation stuff
_normalizers = {

View File

@@ -51,6 +51,7 @@ class FitWarpTimeGraph(FitGraph):
inputs = [
Input(handle='distance', unit='AU', label='Distance', iconID=1391, defaultValue=20, defaultRange=(0, 50), mainOnly=False),
Input(handle='distance', unit='km', label='Distance', iconID=1391, defaultValue=1000, defaultRange=(150, 5000), mainOnly=False)]
srcExtraCols = ('WarpSpeed', 'WarpDistance')
# Calculation stuff
_normalizers = {

View File

@@ -110,12 +110,29 @@ class SpeedColumn(GraphColumn):
return fit.ship.getModifiedItemAttr('maxVelocity'), 'm/s'
def _getFitTooltip(self):
return 'Ship maximum speed'
return 'Maximum speed'
SpeedColumn.register()
class AgilityColumn(GraphColumn):
name = 'Agility'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1401, (3, 0, 0))
def _getValue(self, fit):
return fit.alignTime, None
def _getFitTooltip(self):
return 'Agility factor'
AgilityColumn.register()
class RadiusColumn(GraphColumn):
name = 'Radius'
@@ -127,7 +144,7 @@ class RadiusColumn(GraphColumn):
return fit.ship.getModifiedItemAttr('radius'), 'm'
def _getFitTooltip(self):
return 'Ship radius'
return 'Radius'
RadiusColumn.register()
@@ -144,7 +161,125 @@ class SignatureRadiusColumn(GraphColumn):
return fit.ship.getModifiedItemAttr('signatureRadius'), 'm'
def _getFitTooltip(self):
return 'Ship signature radius'
return 'Signature radius'
SignatureRadiusColumn.register()
class ShieldAmountColumn(GraphColumn):
name = 'ShieldAmount'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1384)
def _getValue(self, fit):
return fit.ship.getModifiedItemAttr('shieldCapacity'), 'HP'
def getText(self, stuff):
if isinstance(stuff, Fit):
val, unit = self._getValue(stuff)
if val is None:
return ''
return '{} {}'.format(formatAmount(val, *self.formatSpec), unit)
return ''
def _getFitTooltip(self):
return 'Maximum shield amount'
ShieldAmountColumn.register()
class ShieldTimeColumn(GraphColumn):
name = 'ShieldTime'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1392, (3, 0, 0))
def _getValue(self, fit):
return fit.ship.getModifiedItemAttr('shieldRechargeRate') / 1000, 's'
def _getFitTooltip(self):
return 'Time to regenerate shield from 0% to 98.7%'
ShieldTimeColumn.register()
class CapAmountColumn(GraphColumn):
name = 'CapAmount'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1668)
def _getValue(self, fit):
return fit.ship.getModifiedItemAttr('capacitorCapacity'), 'GJ'
def getText(self, stuff):
if isinstance(stuff, Fit):
val, unit = self._getValue(stuff)
if val is None:
return ''
return '{} {}'.format(formatAmount(val, *self.formatSpec), unit)
return ''
def _getFitTooltip(self):
return 'Maximum capacitor amount'
CapAmountColumn.register()
class CapTimeColumn(GraphColumn):
name = 'CapTime'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1392, (3, 0, 0))
def _getValue(self, fit):
return fit.ship.getModifiedItemAttr('rechargeRate') / 1000, 's'
def _getFitTooltip(self):
return 'Time to regenerate capacitor from 0% to 98.7%'
CapTimeColumn.register()
class WarpSpeedColumn(GraphColumn):
name = 'WarpSpeed'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1389, (3, 0, 0))
def _getValue(self, fit):
return fit.warpSpeed, 'AU/s'
def _getFitTooltip(self):
return 'Warp speed'
WarpSpeedColumn.register()
class WarpDistanceColumn(GraphColumn):
name = 'WarpDistance'
def __init__(self, fittingView, params):
super().__init__(fittingView, 1391, (3, 0, 0))
def _getValue(self, fit):
return fit.maxWarpDistance, 'AU'
def _getFitTooltip(self):
return 'Maximum warp distance'
WarpDistanceColumn.register()