[ TAG 488 ][22.07.2022] -Erfolgreich -IAP-20220403-20220403-1150 -GUIMODUL20220627
Das [DAS]-System wurde am 17.07.2022 fertig gestellt. Ich möchte kurz noch mal die [CHKs] des [DAS]-System wiederholen.
STAND [17.07.2022][2000]:
- CHK_000
- CHK_000(k_=si_x, user_=user_, def_=def_, dasv_=dasv_x, type_=int)
- ---
- CHK_000(k_=si_width, user_=user_, def_=def_, dasv_=dasv_width, type_=int)
- CHK_000(k_=si_chldw, user_=user_, def_=def_, dasv_=dasv_chldw, type_=int)
- CHK_000(k_=si_chldmw, user_=user_, def_=def_, dasv_=dasv_chldmw, type_=int)
- ---
- CHK_000(k_=si_ml, user_=user_, def_=def_, dasv_=dasv_ml, type_=int)
- CHK_000(k_=si_mr, user_=user_, def_=def_, dasv_=dasv_mr, type_=int)
- ----------------------------------------------------------------------
- Das CHK_000 überprüft ob die [si_]-Variable den richtigen Datentyp hat (also nicht None). Wenn der Datentyp falsch ist, wird [def_] überprüft.
- Wenn [def_] den richtigen Datentypen hat wird [def_] in [user_] übernommen.
- Wenn [def_] nicht vergeben wurde, bzw. nicht den richtigen Datentypen hat, wird [dasv_] übernommen.
- ----------------------------------------------------------------------
- CHK_010
- CHK_010(k_=si_x, user_=user_, def_=def_, dasv_=dasv_x, type_=int)
- ---
- CHK_010(k_=si_width, user_=user_, def_=def_, dasv_=dasv_width, type_=int)
- CHK_010(k_=si_chldw, user_=user_, def_=def_, dasv_=dasv_chldw, type_=int)
- CHK_010(k_=si_chldmw, user_=user_, def_=def_, dasv_=dasv_chldmw, type_=int)
- ---
- CHK_010(k_=si_ml, user_=user_, def_=def_, dasv_=dasv_ml, type_=int)
- CHK_010(k_=si_mr, user_=user_, def_=def_, dasv_=dasv_mr, type_=int)
- ----------------------------------------------------------------------
- Das CHK_010 überprüft die Mindestwerte bei den [si_]-Variablen.
- Wenn der [user_]-Wert diese Bedingungen nicht erfüllt, wird den [def_] überprüft.
- Wenn [def_] die Bedingungen erfüllt, wird [def_] übernommen.
- Wenn [def_] nicht die Bedingungen erfüllt, wird der [dasv_]-Wert übernommen.
--------------------------------------------------------------------
Folgendes System habe ich mir überlegt.
Mir ist wichtig, dass ich eine Option für mein GUI-System entwerfe, das mir ermöglicht die AREA des GUI-Elementes auf die ganze Breite bzw. Höhe zu strecken.
Diesen Mechanismus habe ich noch nicht ganz durchdacht. Jedoch bestanden meine Überlegungen darin, wenn [si_width] vom [user] und [def] nicht vergeben wurde, dann wird [CNV_WIDTH] im Zusammenhang mit den Margin-Eigenschaften [si_ml] und [si_mr] umgerechnet und in [si_width] übernommen.
Dafür müsste ich jedoch einige Änderungen am
[GUIMODUL20220627-DAS]-Protokoll vornehmen.
[G-DRIVE] > ext_prj_2022 > IAP-20220403-20220403-1150 >
2022 > 06 > 27 > GUIMODUL20220627-DAS
Die Eigenschaft [si_width] muss von den CHKs [CHK_000] ausgenommen werden.
Die [CHK_010] wird jedoch auf [si_width] angewendet. Der Grund besteht darin, dass eine Mindestbreite erfüllt werden muss.
Dieses eine System, was ich gerade versuche zu gestalten, wird von [CHK_00n]-Methoden realisiert.
Die [CHK_02n]-Methoden werden davon nicht berührt, weil die [02n]-Methoden sich auf die Herleitung der Eigenschaften [si_chldmw], [si_chldw] aus [si_width] konzentrieren.
--------------------------------------------------------------------
GUIMODUL20220627-DAS (§2.1)
--------------------------------------------------------------------
[G-DRIVE] > ext_prj_2022 > IAP-20220403-20220403-1150 >
2022 > 06 > 27 > GUIMODUL20220627-DAS
§2.1 CHK_001
Die [CHK_001] ist für Ermittlung der Höhe oder Breite verantwortlich. Dabei wird geschaut, ob der User die Eigenschaften [si_width] und [si_height] gesetzt hat oder nicht.
Wenn der User die Eigenschaften [si_width] und [si_height] nicht gesetzt hat, dann wird als nächstes in der [def_] geschaut. Wenn diese Eigenschaften auch nicht in [def_] definiert sind, dann werden die [cnv_]-Eigenschaft überprüft.
Sollten die [cnv_]- Eigenschaften auch nicht definiert sein, dann wird der [dasv_]-Wert übernommen.
Somit entsteht eine bestimmte Prioritätsstruktur:
1. user_[si_width], user_[si_height]
2. def_[si_width], def_[si_height]
3. cnv_width, cnv_height
4. dasv_width, dasv_height
Mit diesem System lässt sich auch ein Fenster mit voller Höhe und Breite realisieren. Das Fenster bzw. die GUI-AREA wird der volle CNV-Dimension automatisch entsprechen, wenn keine Breite oder Höhe vom USER oder DEF vergeben werden. Sollte auch CNV- nicht vergeben sein, so wird der Mindestwert [ dasv_ ] übernommen.
Ich finde, das [DAS]-Modul sollte nicht überprüfen, ob die Summe der Kindelemente der Höhe oder der Breite des Eltern-Elementes entspricht. Diese Aufgabe werde ich im [PAS]-Modul realisieren. Eine spezifische CHK-Methode des [PAS]-Moduls überprüft die Summe der Kindelemente und schaut die Dimensionen Breite und Höhe des Elternelementes größer sind als die Summen.
—----------------------------------------------------------------
def CHK_001(k_, cnv_, msum_, user_, def_, dasv_, type_):
if type(user_[k_]) is not type_:
if type(def_[k_]) is type_:
user_[k_] = def_[k_]
else:
if type(cnv_) is type_:
user_[k_] = cnv_ - msum_
else:
user_[k_] = dasv_
CHK_001(k_=si_width,
cnv_=cnv_width,
msum_=(user_[si_ml]+user_[si_mr]),
user_=user_,
def_=def_,
dasv_=dasv_width,
type_=int)
Kommentare
Kommentar veröffentlichen