JavaFX in AutoIt? - Framework

  • Hauptsächlich soll die Bibliothek (so wie ich sie benötige) eine GUI mit entsprechenden Controls aus einer externen "Struktur" Datei generieren. Diese Struktur-Datei (wie ich sie mal jetzt nenne) beinhaltet die notwendigen Daten um die Benutzeroberfläche darstellen zu können. Alle Controls die in einer GUI erscheinen sollen, sollen in dieser Datei gelistet werden. Alle Designabweichungen von den Standardeinstellungen können ebenfalls dann gelistet werden. Wie diese Struktur-Datei hinterher genau aussieht, kann ich jetzt noch nicht spezifisch sagen. Ich hatte da aber JSON im Blick, ein Beispiel für solch eine Datei könnte folgendermaßen aussehen:



    Dies würde dann etwa folgende GUI aus der Hilfedatei darstellen:

    https://www.autoitscript.com/a…s/functions/GUICreate.htm


    Dies ist jetzt lediglich ein Beispiel wie es aussehen kann. Der Vorteil ist halt, dass sich Design nicht mit Code vermischt. Also es wird eine klare Abkapselung zwischen dem GUI Design und den logischen Code dahinter geben. Natürlich achte ich darauf, dass dies relativ einfach gehalten wird. Ggf. lege ich auch ein eigenes Dateiformat für diese Abkapselung an. JSON ist mir nur als erstes in den Sinn gekommen.


    Dazu sollen einige Layout Controls hinzugefügt werden. Ähnlich wie es moderne Frameworks wie JavaFX & Co. machen. Die Controls werden dann hauptsächlich den Layouts untergeordnet welche sich dann um die korrekte Positionierung der Controls kümmert. So lassen sich Mechanismen einbauen, wodurch das Resize Verhalten der GUI um einiges angenehmer zu implementieren ist.


    Neben den Layouts und den Standard Controls sollen auch ein Basis-Control sowie Basis-Layout zur Verfügung gestellt werden, wodurch das implementieren von custom Layouts / Controls vereinfacht wird. Dadurch möchte ich euch die Möglichkeit geben eure eigenen Controls möglichst einfach zu erstellen. Da dass ganze in LUA geschrieben wird, ist an sich die Bibliothek selber später dann auch einfach erweiterbar. Jeder mit LUA Erfahrung kann da seinen eigenen Senf hinzugeben und Ihr könnt durch Module so auch die Bibliothek in LUA selber erweitern. Oder eben klassisch in AutoIt mit einer UDF, wie es euch lieber ist.


    Joa, das wäre so ziemlich das grobe Konzept. Geplant sind Basis Controls / Layouts, ein Event System um entsprechend auf Events (Mausklicks auf Controls, etc.) zu reagieren und natürlich auch die grafische Darstellung dieser. Zudem soll das Design vom logischen Code getrennt werden wodurch sich die Benutzeroberflächen generell einfach und schnell erweitern / verändern lassen, ohne dabei den eigentliche Logik dabei anpassen zu müssen.


    Reicht dir das als erste Antwort Lottich ?

  • Immer diese kurz und knappen Antworten... ^^


    Damit lassen sich dann also "ganz einfach" andere GUIs bauen, die "moderner" sind?

    ZB: ein Kreis, aufgeteilt wie eine Torte, bei dem dann jedes einzelne Stück ein Button sein kann? Oder runde / ovale Schaltflächen?


    Die herkömmlichen GUIs sind so abartig langweilig!


    Dein vorhaben klingt auf jeden Fall interessant. Zumal ich herauslese, dass LUA-Kenntnisse für den Anwender nicht zwingend nötig sind.

  • Zitat

    Immer diese kurz und knappen Antworten... ^^

    Du hast ja auch nur kurz und knapp gefragt... ;)


    Zitat

    Damit lassen sich dann also "ganz einfach" andere GUIs bauen, die "moderner" sind?

    ZB: ein Kreis, aufgeteilt wie eine Torte, bei dem dann jedes einzelne Stück ein Button sein kann? Oder runde / ovale Schaltflächen?

    Ja, dass auch mal andere Designs schnell & einfach implementiert werden können. Das ist ein Hintergedanke davon, die Standard 0815 Benutzeroberflächen sehen halt scheiße aus. Zumindest meiner Meinung nach.

    Zitat

    Dein vorhaben klingt auf jeden Fall interessant. Zumal ich herauslese, dass LUA-Kenntnisse für den Anwender nicht zwingend nötig sind.

    Richtig, die Bibliothek wird in LUA geschrieben und in AutoIt intigriert. Letzten Endes sind keine LUA Kenntnisse notwendig, außer man möchte den Kern der Bibliothek aus irgendwelchen Gründen umschreiben. Allerdings ist das mit viel Aufwand verbunden dies zu gewährleisten. Daher die Frage ob hierfür allgemeines Interesse besteht. Sonst mach ich mir die Mühe nicht, ich nutze AutoIt selber schon seit Ewigkeiten nicht mehr.