U1-Nachbesserung (Operator, Sly-Befund 'Damit kann man nicht mehr arbeiten'): Werkzeugleiste erbte EditorPanel (=VBoxContainer) und wurde selbst senkrecht -> jeder Knopf eine fensterbreite Zeile (~440px), 3D-Fenster auf einen Streifen gedrueckt. Fix: toolbar.gd extends HBoxContainer + size_flags SHRINK_BEGIN; neue Groessenprobe in test_ui_layout (Leiste <=80px, Mittelbereich >=120px).
This commit is contained in:
parent
8f0e011a07
commit
85bee00f3d
2 changed files with 46 additions and 1 deletions
|
|
@ -1,8 +1,30 @@
|
|||
extends "res://src/ui/panels/editor_panel.gd"
|
||||
extends HBoxContainer
|
||||
## Toolbar (aus main.gd ausgezogen, Karte t_eaccbfed U1 — Logik unverändert):
|
||||
## Menü Datei + Undo/Redo + Gitter/Höhenlinien + Symmetrie + Toolbar-Aktionen
|
||||
## aus der Registry (Karte prüfen, ▶ Karte testen). Neue Aktionen melden sich
|
||||
## künftig in registry.gd an (U2–U7, T1-F5 bleibt unverändert erreichbar).
|
||||
##
|
||||
## NACHBESSERUNG 20.10. (Operator, Sly-Befund „Damit kann man nicht mehr
|
||||
## arbeiten"): Diese Leiste erbte von EditorPanel (= VBoxContainer) und wurde
|
||||
## dadurch SELBST senkrecht — jeder Knopf bekam eine eigene, fensterbreite
|
||||
## Zeile, die Leiste wuchs auf ~11×40 px und drückte das 3D-Fenster auf einen
|
||||
## Briefmarken-Streifen. Eine Leiste braucht eine WAAGERECHTE Zeile: extends
|
||||
## HBoxContainer. Die Helfer der Basis (main-Zeiger, Label-Bauer) braucht nur
|
||||
## die senkrechte Spalte; hier genügt der main-Zeiger.
|
||||
|
||||
var main # src/ui/main.gd (script-erweitert → untypisiert)
|
||||
|
||||
|
||||
func setup(p_main) -> void:
|
||||
main = p_main
|
||||
# Eine Leiste darf NIE in die Höhe wachsen (sie würde dem 3D-Fenster die
|
||||
# Fläche wegnehmen): genau eine Knopfzeile, oben ausgerichtet.
|
||||
size_flags_vertical = Control.SIZE_SHRINK_BEGIN
|
||||
size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
|
||||
|
||||
func panel_title() -> String:
|
||||
return "Werkzeuge"
|
||||
|
||||
var undo_btn: Button
|
||||
var redo_btn: Button
|
||||
|
|
|
|||
|
|
@ -36,6 +36,29 @@ func _init() -> void:
|
|||
await process_frame
|
||||
await process_frame
|
||||
|
||||
# --- 1b. GRÖSSEN-GEGENPROBE (Operator-Nachbesserung 20.10.) ----------------
|
||||
# Sly-Befund „Was ist das? Damit kann man nicht mehr arbeiten!" — Ursache war
|
||||
# reine FLÄCHE, nicht Aufbau: die Werkzeugleiste erbte von EditorPanel
|
||||
# (VBoxContainer) und wurde dadurch selbst senkrecht → ~11 Knöpfe untereinander,
|
||||
# das 3D-Fenster auf einen Briefmarken-Streifen gedrückt. Aufbau-Tests sagen
|
||||
# dazu nichts — deshalb hier echte Größen.
|
||||
# WICHTIG (Lektion 20.10.): im headless-Testlauf ist das Wurzelfenster nur
|
||||
# 64 px hoch — Prozentwerte gegen main.size.y sind deshalb Unsinn. Geprüft
|
||||
# wird ABSOLUT, und zwar die Größe, die den Fehler ausmachte.
|
||||
# main ist als Control typisiert — Skript-Eigenschaften über get() lesen
|
||||
# (sonst Parse-Fehler „Invalid access to property"). Namen mit probe_*,
|
||||
# damit sie nicht mit Variablen der übrigen Suite kollidieren.
|
||||
var probe_top: Control = main.get("ui_top_bar")
|
||||
_check(probe_top != null, "Größenprobe: Top-Bar vorhanden")
|
||||
if probe_top != null:
|
||||
_check(probe_top.size.y <= 80.0,
|
||||
"Leiste ist EINE Zeile (Höhe %.0f px, Grenze 80)" % probe_top.size.y)
|
||||
var probe_center: Control = main.find_child("MainSplit", true, false)
|
||||
_check(probe_center != null, "Größenprobe: Mittelbereich (MainSplit) vorhanden")
|
||||
if probe_center != null:
|
||||
_check(probe_center.size.y >= 120.0,
|
||||
"Mittelbereich hat echte Höhe (%.0f px, min 120)" % probe_center.size.y)
|
||||
|
||||
# --- 1. Registry-Tabelle ist die Autorität --------------------------------
|
||||
var registry_script: GDScript = load("res://src/ui/panels/registry.gd")
|
||||
var ids: Array = []
|
||||
|
|
|
|||
Loading…
Reference in a new issue