[ 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

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325