2. Vollständige zustandsunabhängige Wirkungsbeschreibung ======================================================== +ohneFenster.ProgrammStarten => .WnHauptfenster.OPEN .{kein Innenfenster sichtbar} .Fenstergröße := "600x400" .Hintergrundfarbe := "grau" .$KundeListe := Leer #WnHauptfenster .IN .$Fenstergröße := [ "600x400" | "750x500" | "900x600" ] .$Hintergrundfarbe := [ "grau" | "blau" | "weiß" | "rot" | "grün" | "gelb" ] .OUT .$Fenstergröße : [ "600x400" | "750x500" | "900x600" | vonHandVerändert ] .$Hintergrundfarbe : [ "grau" | "blau" | "weiß" | "rot" | "grün" | "gelb" ] .Innenfenster : [ ohne | mit ] +WnHauptfenster.BtBeendenX => .WnHauptfenster.CLOSE +WnHauptfenster.Menübar.Datei.Beenden => .WnHauptfenster.CLOSE +WnHauptfenster.Menübar.Ansicht.Eingabe => .WnIfEingabe.OPEN .WnIfEingabe .TxStatus := "" .EtKundennummer := "" .EtKundenname := "" .Beschriftungsgröße := [ default12 | geänderteEinstellung ] +WnHauptfenster.Menübar.Ansicht.Tabelle => .WnIfTabelle.OPEN .WnIfTabelle .AnzeigeTabelle .Inhalt := KundeListe.[ Leer | einEintrag | vieleEinträge ] .Gitternetzlinien := [ defaultOhne | ohneLinien | mitLinien ] +WnHauptfenster.Menübar.Einstellungen.Allgemein => .WnIfAllgemein.OPEN .WnIfAllgemein .SsFenstergröße.SELECTED := [ WnHauptfenster.Fenstergröße | NOT ] .WnIfAllgemein.SsHintergrundfarbe.SELECTED := WnHauptfenster.Hintergrundfarbe +WnHauptfenster.Menübar.Einstellungen.Ansicht => .WnIfAnsicht.OPEN // + zwingend erforderlich .WnIfAnsicht.WnEingabe.OPEN .WnIfAnsicht.WnEingabe .SsSliderSchriftgröße := WnIfEingabe.Beschriftungsgröße #WnIfEingabe .IN .TxStatus := [ "" | _String ] .EtKundennummer := [ Leer | _String ] .EtKundenname := [ Leer | _String ] .Beschriftungsgröße := [8..16] .OUT .EtKundennummer : [ defaultLeer | Leer | _String ] .EtKundenname : [ defaultLeer | Leer | String ] .Beschriftungsgröße : [ default12 | 8..16] .Position : [ LinksImFrame | vonHandVerändert ] .FIX .Titel := "Dateneingabe" .Feldbeschriftung := ("Kundennummer", "Kundenname") +WnIfEingabe.EtKundennummer.CHANGED => .WnIfEingabe .TxStatus := "" +WnIfEingabe.EtKundenname.CHANGED => .WnIfEingabe .TxStatus := "" +WnIfEingabe.BtÜbernehmen => & EtKundennummer.neu & EtKundenname.Leer.NOT => .WnIfEingabe .EtKundenNummer := "" .EtKundenName := "" .TxStatus := "Gespeichert" .$KundeListe.ADD & EtKundenname.Leer => .WnIfEingabe .EtKundenNummer := {unverändert} .EtKundenName := {unverändert} .TxSTatus := "Datensatz nicht gespeichert" & EtKundennummer.vorhanden => .WnIfEingabe .EtKundenNummer := {unverändert} .EtKundenName := {unverändert} .TxSTatus := "Datensatz nicht gespeichert" & EtKundenummer.Leer => .WnIfEingabe .EtKundenNummer := {unverändert} .EtKundenName := {unverändert} .TxSTatus := "Datensatz nicht gespeichert" +WnIfEingabe.BtSchließen => .WnIfEingabe.CLOSE +WnIfEingabe.BtSchließenX => .WnIfEingabe.CLOSE WnIfTabelle .IN .AnzeigeTabelle .Gitternetzlinien := [ mitLinien | ohneLinien ] .Inhalt := [ Leer | einEintrag | vieleEinträge ] .OUT .AnzeigeTabelle .Gitternetzlinien : [ defaultOhneLinien | mitLinien | ohneLinien ] .Inhalt := [ Leer | einEintrag | vieleEinträge ] .Position := [ rechtsImFrame | vonHandVerändert ] .FIX .Titel := "Tabellenansicht" .AnzeigeTabelle.{Überschrift} := ("Kundennummer", "Kundenname") +WnIfTabelle.BtAktualisieren => .WnIfTabelle .AnzeigeTabelle .Inhalt := KundeListe.[ Leer | einEintrag | vieleEinträge ] .gitternetzlinien := {unverändert} +WnIfTabelle.BtSchließenX => .WnIfTabelle.CLOSE #WnIfAllgemein .IN .SsFenstergröße.SELECT := [ NIX | "600x400" | "750x500" | "900x600" ] .SsHintergrundfarbe.SELECT := [ "grau" | "blau" | "weiß" | "rot" | "grün" | "gelb" ] .OUT .SsFenstergröße.SELECTED : [ "600x400" | "750x500" | "900x600" ] .SsHintergrundfarbe.SELECTED : [ "grau" | "blau" | "weiß" | "rot" | "grün" | "gelb" ] .Position : [ RechtsObenImFrame | vonHandGeändert ] .FIX .Titel := "Allgemeine Einstellungen" .Feldbeschriftung := ("Fenstergröße", "Hintergrundfarbe") +WnIfAllgemein.SsFenstergröße.SELECTED => .WnHauptfenster.Fenstergröße := WnIfAllgemein.SsFenstergröße.{aktuell} +WnIfAllgemein.SsHintergrundfarbe.SELECTED => .WnHauptfenster.Hintergrundfarbe := WnIfAllgemein.SsHintergrundfarbe.{aktuell} +WnIfAllgemein.SsHintergrundfarbe.SCROLL => .{scrollen in der Farbliste} +WnIfAllgemein.BtSchließenX => .WnIfAllgemein.CLOSE #WnIfAnsicht .IN .OUT .UnterfensterSichtbar : [ defaultWnEingabe | WnEingabe | WnTabelle ] .Position : [ rechtsUntenImFrame | irgendwoVonHand ] .FIX .Titel := "Einstellungen Ansicht" +WnIfAnsicht.BtReiterEingabe => .WnIfAnsicht.WnEingabe.OPEN .WnIfAnsicht.WnEingabe .SsSliderSchriftgröße := WnIfEingabe.Beschriftungsgröße +WnIfAnsicht.BtReiterTabelle => .WnIfAnsicht.WnTabelle.OPEN .WnIfAnsicht.WnTabelle .SsGitternetzlinien := WnIfTabelle.Gitternetzlinien +WnIfAnsicht.BtSchließenX => .WnIfAnsicht.CLOSE .WnIfAnsicht.WnEingabe.CLOSE .WnIfAnsicht.WnTabelle.CLOSE #WnIfAnsicht.WnEingabe .IN .SsSliderSchriftgröße := "8..16" .OUT .SsSliderSchriftgröße : "8..16" .FIX .Titel := "Eingabe" .Feldbeschriftung := "Schriftgröße" +WnIfAnsicht.WnEingabe.SsSliderSchriftgröße.SELECTED => .WnIfEingabe.Beschriftungsgröße := SsSliderSchriftgröße.{neue Schriftgröße} #WnIfAnsicht.WnTabelle .IN .SsGitternetzlinien := [ ohneLinien | mitLinien ] .OUT .SsGitternetzlinien : [ ohneLinien | mitLinien ] .FIX .Titel := "Tabelle" .Feldbeschriftung := "Tabelle" +WnIfAnsicht.WnTabelle.SsGitternetzlinien.SELECTED => .WnIfTabelle.AnzeigeTabelle.Gitternetzlinien := SsGitternetzlinien.{neue Wahl} --------------- Ende von Schritt 2 --------------