Reiter selbst gebaut - clam liess den ruhenden nicht dunkel werden

Sein Fund, zweimal: "er hebt den aktiven tab nicht hervor, der inaktive ist der
hervorgehobene". Gemessen statt geraten: der clam-Standard faerbt die
Reiterflaeche #bab5ab, und weder background noch lightcolor/darkcolor haben das
im laufenden Fenster zuverlaessig ueberschrieben.

Statt weiter daran zu drehen ist die Leiste jetzt selbst gebaut (reiter.py) -
und sieht dabei aus wie die Reiter in seinen Web-Oberflaechen: flacher Knopf,
der offene in Akzentfarbe, fett, mit Balken darunter und der Flaeche der Kachel.

Nach aussen verhaelt sie sich wie ein Notebook: add, select, index("current"/
"end"), tab(i, "text") und <<NotebookTabChanged>>. Deshalb bleiben der
Storno-Weg (korrektur.py waehlt select(1)) und pruef_montage unveraendert -
alle 14 Pruefstaende gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
This commit is contained in:
TheMockTv 2026-09-05 19:21:20 +02:00
parent 2e3a191f19
commit 1c2b115108
3 changed files with 112 additions and 6 deletions

12
app.py
View file

@ -39,6 +39,7 @@ from bestand import (hoechster_zaehler_im_ordner, naechste_freie_nummer,
vorhandene_rechnungen)
from einzelinstanz import (eigene_pid_merken, einzelinstanz_pruefen, fenster_nach_vorn,
laufende_pid_lesen)
import reiter
import theme
from theme import MeldungMixin, ThemeMixin
from korrektur import KorrekturMixin
@ -374,13 +375,16 @@ class RechnungsApp(ThemeMixin, MeldungMixin, KorrekturMixin, EinstellungenMixin,
# Leistungskatalog und die Montage-Rechnung mit der Monatsmiete. Der
# Kopf (Kunde, Nummer, Datum, Zeitraum) und die Summenleiste gelten fuer
# beide - nur die Mitte wechselt. So tippt niemand den Kunden zweimal.
self.blaetter = ttk.Notebook(self)
self.blaetter.pack(side="top", fill="both", expand=True, padx=12, pady=4)
# Eigene Reiterleiste statt ttk.Notebook: unter clam liess sich der
# ruhende Reiter nicht dunkel bekommen, er sah aus wie der offene.
# Nach aussen verhaelt sie sich wie ein Notebook (siehe reiter.py).
self.blaetter = reiter.Reiterleiste(self, farben=self)
self.blaetter.pack(side="top", fill="both", expand=True, padx=16, pady=(4, 6))
self.blaetter.bind("<<NotebookTabChanged>>", lambda _e: self._blatt_gewechselt())
camping = ttk.Frame(self.blaetter, padding=(2, 4))
camping = ttk.Frame(self.blaetter.bereich, padding=(2, 6))
self.blaetter.add(camping, text=" Campingrechnung ")
montage_tab = ttk.Frame(self.blaetter, padding=(10, 10))
montage_tab = ttk.Frame(self.blaetter.bereich, padding=(14, 14))
self.blaetter.add(montage_tab, text=" Montage ")
self._build_montage(montage_tab)