Win95-Design an das neue Hauptfenster angepasst, Version 1.6.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f296483fdc
commit
c35356aeb9
4 files changed
+57
-29
No files matched your search
+17
-6
@@ -34,7 +34,7 @@ _PALETTEN = {
|
||||
NAVY="#000080", TEAL="#008080", WHITE="#ffffff", INFO_BG="#ffffe1", SEL_BG="#000080",
|
||||
SEL_FG="#ffffff", RAND="#808080", BG="#008080", RAND2="#808080", TEXT2="#000000",
|
||||
PRIMAER="#c0c0c0", AUF_PRIMAER="#000000", ZEBRA="#ffffff", MANUELL="#0000c0", ROT="#a00000",
|
||||
ROT_SOFT="#c0c0c0", GRUEN="#008000", GRUEN_SOFT="#c0c0c0", BLAU="#000080", BLAU_SOFT="#c0c0c0",
|
||||
ROT_SOFT="#c0c0c0", GRUEN="#008000", GRUEN_SOFT="#c0c0c0", BLAU="#0000ff", BLAU_SOFT="#c0c0c0",
|
||||
GOLD="#808000", GOLD_SOFT="#c0c0c0"),
|
||||
# Hausfarben der Handy-Insel-Webtools (VVL-Tool): Lila, IBM Plex
|
||||
"modern": dict(FACE="#ffffff", HILITE="#ffffff", LIGHT="#f1edf8", SHADOW="#6b6386", DARK="#211a38",
|
||||
@@ -670,6 +670,15 @@ class Karte(tk.Frame):
|
||||
super().__init__(master, **kw)
|
||||
|
||||
|
||||
def titelleiste(master, text: str = "") -> tuple[tk.Frame, tk.Label]:
|
||||
"""Win95: blaue Titelleiste oben in einer Karte (wie bei Fenster); rechts passen kleine Knöpfe hinein."""
|
||||
f = tk.Frame(master, bg=NAVY)
|
||||
f.pack(fill="x", padx=1, pady=1)
|
||||
lbl = tk.Label(f, text=text, bg=NAVY, fg=WHITE, font=FONT_BOLD, anchor="w", padx=3)
|
||||
lbl.pack(side="left", pady=1)
|
||||
return f, lbl
|
||||
|
||||
|
||||
def abschnitt(master, text: str, **kw) -> tk.Label:
|
||||
"""Kleine Überschrift (modern in Großbuchstaben und grau, wie die Tabellenköpfe der Webtools)."""
|
||||
if MODERN:
|
||||
@@ -731,10 +740,12 @@ def punkt(master, farbe: str, d: int = 9) -> tk.PhotoImage:
|
||||
"""Farbiger Punkt (Status in Listen); Ecken bleiben durchsichtig."""
|
||||
img = tk.PhotoImage(master=master, width=d + 4, height=d)
|
||||
r = d / 2
|
||||
for y in range(d):
|
||||
xs = [x for x in range(d) if (x + .5 - r) ** 2 + (y + .5 - r) ** 2 <= r * r]
|
||||
if xs:
|
||||
img.put(farbe, to=(xs[0], y, xs[-1] + 1, y + 1))
|
||||
# Win95: grauer Ring, damit der Punkt auf weißem Grund und auf der blauen Auswahl sichtbar ist
|
||||
for f, rr in ((farbe, r),) if MODERN else ((SHADOW, r), (farbe, r - 1)):
|
||||
for y in range(d):
|
||||
xs = [x for x in range(d) if (x + .5 - r) ** 2 + (y + .5 - r) ** 2 <= rr * rr]
|
||||
if xs:
|
||||
img.put(f, to=(xs[0], y, xs[-1] + 1, y + 1))
|
||||
return img
|
||||
|
||||
|
||||
@@ -848,7 +859,7 @@ def _bei_bedarf(leiste: ttk.Scrollbar):
|
||||
|
||||
def scroll_tree(master, auto: bool = False, **kw) -> tuple[tk.Frame, ttk.Treeview]:
|
||||
"""Treeview mit Bildlaufleisten (modern nur bei Bedarf). auto: keine waagrechte Leiste (Seitenleiste)."""
|
||||
rahmen = Sunken(master, bg=WHITE)
|
||||
rahmen = Sunken(master, bg=WHITE if MODERN else FACE) # Win95: graue Ecke zwischen den Leisten
|
||||
tree = ttk.Treeview(rahmen, **kw)
|
||||
vs = ttk.Scrollbar(rahmen, orient="vertical", command=tree.yview)
|
||||
tree.grid(row=0, column=0, sticky="nsew")
|
||||
|
||||
Reference in new issue
Block a user