Tracker in eigene Klasse und AppData eingeführt

This commit is contained in:
2025-09-12 11:31:24 +02:00
parent fd673d5e55
commit acbcfac425
22 changed files with 225 additions and 167 deletions

View File

@@ -36,7 +36,7 @@ from .page import Page
class Anchor(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.sym_anchor = cairo.ImageSurface.create_from_png(os.path.join(cfg['imgpath'], "anchor.png"))
self.buttonlabel[1] = 'MODE'

View File

@@ -5,7 +5,7 @@ from .page import Page
class ApparentWind(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.buttonlabel[1] = 'MODE'
self.mode = 'L' # (W)ind (L)ens

View File

@@ -11,7 +11,7 @@ from .page import Page
class Autobahn(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.xte = self.bd.getRef("XTE")
self.cog = self.bd.getRef("COG")

View File

@@ -40,7 +40,7 @@ from .page import Page
class Barograph(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
# Meßwert alle 15 Minuten:
# 84 Stunden * 4 Werte je Stunde = 336 Meßwerte

View File

@@ -12,7 +12,7 @@ class Battery(Page):
avg = (1, 10, 60, 300);
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.avgindex = 0
self.buttonlabel[1] = 'AVG'

View File

@@ -9,7 +9,7 @@ from .page import Page
class BME280(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
#self.ref1 = self.bd.getRef(boatvalue1)
#self.ref2 = self.bd.getRef(boatvalue2)

View File

@@ -20,7 +20,7 @@ import astral
class Clock(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.buttonlabel[1] = 'MODE'
self.buttonlabel[2] = 'TZ'

View File

@@ -22,7 +22,7 @@ import nmea2000.lookup
class Fluid(Page):
def __init__(self, pageno, cfg, boatdata, fluidtype):
def __init__(self, pageno, cfg, appdata, boatdata, fluidtype):
super().__init__(pageno, cfg, boatdata)
self.fluidtype = int(fluidtype)
if self.fluidtype == 0:

View File

@@ -20,7 +20,7 @@ from .page import Page
class FourValues(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue1, boatvalue2, boatvalue3, boatvalue4):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue1, boatvalue2, boatvalue3, boatvalue4):
super().__init__(pageno, cfg, boatdata)
self.value1 = boatvalue1
self.value2 = boatvalue2

View File

@@ -18,7 +18,7 @@ from .page import Page
class FourValues2(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue1, boatvalue2, boatvalue3, boatvalue4):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue1, boatvalue2, boatvalue3, boatvalue4):
super().__init__(pageno, cfg, boatdata)
self.value1 = boatvalue1
self.value2 = boatvalue2

View File

@@ -15,7 +15,7 @@ from .page import Page
class Keel(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
# Wert für Kielrotation
self.valref = self.bd.getRef("xdrRotK")

View File

@@ -3,7 +3,7 @@ from .page import Page
class OneValue(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue):
super().__init__(pageno, cfg, boatdata)
self.ref1 = self.bd.getRef(boatvalue)

View File

@@ -4,7 +4,7 @@ from .page import Page
class Rudder(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.buttonlabel[1] = 'MODE'
self.mode = 'P'

View File

@@ -18,7 +18,8 @@ from .page import Page
class SixValues(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue1, boatvalue2, boatvalue3, boatvalue4):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue1, boatvalue2,
boatvalue3, boatvalue4, boatvalue5, boatvalue6):
super().__init__(pageno, cfg, boatdata)
self.value1 = boatvalue1
self.value2 = boatvalue2

View File

@@ -14,7 +14,7 @@ from .page import Page
class SkyView(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
def pol2cart(azimut, elevation):

View File

@@ -3,7 +3,7 @@ from .page import Page
class ThreeValues(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue1, boatvalue2, boatvalue3):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue1, boatvalue2, boatvalue3):
super().__init__(pageno, cfg, boatdata)
self.ref1 = self.bd.getRef(boatvalue1)
self.ref2 = self.bd.getRef(boatvalue2)

View File

@@ -11,14 +11,18 @@ from .page import Page
class Tracker(Page):
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self._appdata = appdata
self.buttonlabel[1] = 'MODE'
print(cfg)
def handle_key(self, buttonid):
global tracker_active;
if buttonid == 1:
tracker_active = not tracker_active
if self._appdata.track.is_active():
self._appdata.track.set_active(False)
else:
self._appdata.track.set_active(True)
def draw(self, ctx):
# Name
@@ -30,7 +34,7 @@ class Tracker(Page):
ctx.set_font_size(16)
ctx.move_to(20, 140)
ctx.show_text("active: ")
if tracker_active:
if self._appdata.track.is_active():
ctx.show_text("yes")
else:
ctx.show_text("no")

View File

@@ -16,7 +16,7 @@ from .page import Page
class TwoValues(Page):
def __init__(self, pageno, cfg, boatdata, boatvalue1, boatvalue2):
def __init__(self, pageno, cfg, appdata, boatdata, boatvalue1, boatvalue2):
super().__init__(pageno, cfg, boatdata)
self.ref1 = self.bd.getRef(boatvalue1)
self.ref2 = self.bd.getRef(boatvalue2)

View File

@@ -17,7 +17,7 @@ class Voltage(Page):
avg = (1, 10, 60, 300);
def __init__(self, pageno, cfg, boatdata):
def __init__(self, pageno, cfg, appdata, boatdata):
super().__init__(pageno, cfg, boatdata)
self.trend = True
self.mode = 'A'