Oki-doki, ...
hab mich also mal wieder an's Touch-Control gesetzt (und werde auch die angesprochene, "
vollkommen überbewertete und systembelastende" Funktion mit dem Gummibandeffekt, trotz eines "
unverhältnismäßig hohen Programmieraufwands" einbauen).
Hauptsache, es ist dann nachher
verdammt coooooool !!!
Nun aber noch mal 'ne kurze Frage bezüglich der Namensgebung der Funktionen:
Den Prozeduren (und auch den Variablen) in meinen Libs setze ich eigentlich immer allen einen Präfix voran (also z.B. WinFX_... , ezPrint_..., ezTAPI_..., ezDebug_..., usw.).
Bei diesem Touch-Control bin ich aber momentan noch mit mir am hadern welchen Präfix ich dafür nehmen soll.
Momentan schwanke ich zwischen folgenden:
TLC_... (TouchListControl - mein derzeitiger Präfix)
TCL_... (TouchControlList)
ITC_... (IntelliTouchControl - ITC klingt meiner Meinung nach am besten

)
Welche würdet Ihr sagen wäre der sinnvollste Präfix? (Weitere Vorschläge sind natürlich sehr willkommen.)
Bislang habe ich noch keine Libs gemacht, die neue Gadgets zur Verfügung stellen.
Und da man in PB ja leider keine eigenen Gadgets sauber einbinden kann, werde ich wohl nicht umhin kommen für das Touch-Control eigene Funktionen zur Verfügung zu stellen.
Um jedoch möglichst konsistent zu den Gadget-Befehlen von PB zu sein, versuche ich mich bei den Prozedurnamen, deren Parameter und deren Funktion weitestgehend an den bereits für Gadgets bestehenden PB-Derivaten anzulehnen.
In meiner derzeitige Planung würden die Prozeduren wir folgt aussehen:
Code: Alles auswählen
TLC_CreateGadget(#Gadget, x, y, Breite, Hoehe [, Flags [, @TCL_DefaultValues]])
TLC_RemoveGadget(#Gadget)
TLC_AddGadgetItem(#Gadget, Position, Text$ [, ImageID [, Flags]])
TLC_RemoveGadgetItem(#Gadget, Position)
TLC_ResizeGadget(#Gadget, x, y, Breite, Hoehe)
TLC_SetGadgetAttribute(#Gadget, Attribut, Wert)
TLC_GetGadgetAttribute(#Gadget, Attribut)
TLC_SetGadgetColor(#Gadget, FarbTyp, Farbe)
TLC_GetGadgetColor(#Gadget, FarbTyp)
TLC_SetGadgetData(#Gadget, Wert)
TLC_GetGadgetData(#Gadget)
TLC_SetGadgetFont(#Gadget, FontID)
TLC_GetGadgetFont(#Gadget)
TLC_SetGadgetState(#Gadget, Status)
TLC_GetGadgetState(#Gadget)
TLC_SetGadgetText(#Gadget, Text$)
TLC_GetGadgetText(#Gadget)
TLC_SetGadgetItemAttribute(#Gadget, Eintrag, Attribut, Wert)
TLC_GetGadgetItemAttribute(#Gadget, Eintrag, Attribut)
TLC_SetGadgetItemColor(#Gadget, Eintrag, FarbTyp, Farbe)
TLC_GetGadgetItemColor(#Gadget, Eintrag, FarbTyp)
TLC_SetGadgetItemData(#Gadget, Eintrag, Wert)
TLC_GetGadgetItemData(#Gadget, Eintrag)
TLC_SetGadgetItemFont(#Gadget, Eintrag, FontID)
TLC_GetGadgetItemFont(#Gadget, Eintrag)
TLC_SetGadgetItemState(#Gadget, Eintrag, Status)
TLC_GetGadgetItemState(#Gadget, Eintrag)
TLC_SetGadgetItemText(#Gadget, Eintrag, Text$)
TLC_GetGadgetItemText(#Gadget, Eintrag)
TLC_SetDefaultValues(#Gadget, @TCL_DefaultValues) ; könnte evtl. auch heißen: TLC_SetDefaultAttributes(#Gadget, @TCL_DefaultAttributes)
TLC_GetDefaultValues(#Gadget, @TCL_DefaultValues) ; könnte evtl. auch heißen: TLC_GetDefaultAttributes(#Gadget, @TCL_DefaultAttributes)
TCL_DisableGadgetRedraw(#Gadget, Status)
TLC_WaitWindowEvent([Timeout])
TLC_ExecuteTLCEvent()
Eigentlich könnte man sich ja auch die diversen SetGadget/GetGadget-Funktionen sparen, weil man ja im Grunde durch Angabe der richtigen Attribute bei SetGadgetAttribute() und GetGadgetAttribute() alle anderen Dinge (wie Color, Data, Font & State) setzen bzw. auslesen könnte.
Was würdet Ihr sagen ... aus Kompatibilitätsgründen alle Sets/Gets implementieren, oder der Einfachheit halber alles per SetGadgetAttribute/GetGadgetAttribute und eben den entsprechenden Attributen machen?
Wenn jemand Lust hat kann er ja mal kurz über oben stehende Funktionen drüber fliegen, ob ggfl. noch irgendwelche Funktionen fehlen oder ob man was anders machen bzw. anders benennen könnte.
Ansonsten wäre ein kurzes Feedback willkommen, ob das so in der Art benutzerfreundlich genug umgesetzt wäre.
Grüße, PL.