Add graph settings and save selected graph type there

This commit is contained in:
DarkPhoenix
2019-07-05 20:15:44 +03:00
parent e6dce726b7
commit 53de46bab7
8 changed files with 53 additions and 13 deletions

View File

@@ -32,10 +32,14 @@ class FitGraph(metaclass=ABCMeta):
# UI stuff
views = []
viewMap = {}
viewIndexMap = {}
@classmethod
def register(cls):
FitGraph.views.append(cls)
FitGraph.viewMap[cls.internalName] = cls
FitGraph.viewIndexMap[cls.internalName] = FitGraph.views.index(cls)
def __init__(self):
# Format: {(fit ID, target type, target ID): data}
@@ -46,6 +50,11 @@ class FitGraph(metaclass=ABCMeta):
def name(self):
raise NotImplementedError
@property
@abstractmethod
def internalName(self):
raise NotImplementedError
@property
@abstractmethod
def yDefs(self):

View File

@@ -26,6 +26,7 @@ from .base import FitGraph, XDef, YDef, Input
class FitCapRegenGraph(FitGraph):
# UI stuff
internalName = 'capRegenGraph'
name = 'Capacitor Regeneration'
xDefs = [
XDef(handle='time', unit='s', label='Time', mainInput=('time', 's')),

View File

@@ -37,6 +37,7 @@ class FitDamageStatsGraph(FitGraph):
self._timeCache.clear(fitID)
# UI stuff
internalName = 'dmgStatsGraph'
name = 'Damage Stats'
xDefs = [
XDef(handle='distance', unit='km', label='Distance', mainInput=('distance', 'km')),

View File

@@ -26,6 +26,7 @@ from .base import FitGraph, XDef, YDef, Input
class FitMobilityVsTimeGraph(FitGraph):
# UI stuff
internalName = 'mobilityGraph'
name = 'Mobility'
xDefs = [
XDef(handle='time', unit='s', label='Time', mainInput=('time', 's'))]

View File

@@ -26,6 +26,7 @@ from .base import FitGraph, XDef, YDef, Input
class FitShieldRegenGraph(FitGraph):
# UI stuff
internalName = 'shieldRegenGraph'
name = 'Shield Regeneration'
xDefs = [
XDef(handle='time', unit='s', label='Time', mainInput=('time', 's')),

View File

@@ -37,6 +37,7 @@ class FitWarpTimeGraph(FitGraph):
self._subspeedCache.clear(fitID)
# UI stuff
internalName = 'warpTimeGraph'
name = 'Warp Time'
xDefs = [
XDef(handle='distance', unit='AU', label='Distance', mainInput=('distance', 'AU')),