Home History & ToDo-Liste History & ToDo-Liste Änderungen Version V2.32 auf V3.0.0
 ACSpro
 History & ToDo-Liste

ToDo-Liste

Hier habe ich alle bislang geplanten Korrekturen und Erweiterungen in ihrer bisher bewerteten Priorität (Je wichtiger ein Punkt ist, umso weiter steht er oben) aufgelistet.

Stand der Liste ist der 25. März 2008. Eine i.a. aktuellere Liste kann über den Hilfe-Dämon der Maus LL abgerufen werden.

  1. ACSpro und ACSpro-"Erzeugnisse" sollen auch unter Memory Protection laufen. (U. Kaiser)

    ACSpro sollte hier eigentlich laufen, bislang gab es bei den Tests noch keine Probleme unter MultiTOS. Ich bitte hier um weitere Tests unter N.AES und Milan-MultiOS (die habe ich beide nicht zur Verfügung) sowie Rückmeldung der Ergebnisse - Danke!
  2. Transparente und komfortable Unterstützung bereits im ACSpro-GUI-Editor (soweit möglich und sinnvoll) und in den Bibliotheken von allen modernen Protokolle wie z.B. AV- & XAcc-Protokoll (komplett, nicht nur rudimentär wie bisher), OLGA, GEMScript, ST-Guide, PureC-Hilfe-Protokoll, DHST-Protokoll, SE-Protokoll, Menü-Protokoll, SSP, etc. (M. Elsässer)

    Ein Großteil der genannten Protokolle wird bereits passiv von ACSpro unterstützt, d.h. die entsprechenden Nachrichten werden empfangen und verarbeitet. Die aktive Unterstützung ist in Vorbereitung und wird in einer der Versionen nach der V3.0.0 realisiert werden.
  3. Als Compiler soll auch der GCC verwendet werden können. (U. Kaiser)

    Eine Portierung auf GNU-C ist mit der Version 3.0.0 geplant und in Arbeit.
  4. Bei mehr als 256 Farben erhält man entweder schwarz/weiß Icons oder Pixelmüll. (H. Achilles)
  5. Wenn ACSpro-eigene UserDefs über den allgemeinen UserDef-Editor mit einer anderen Service-Routine versehen werden, wird diese wieder durch die Standard-Routine ersetzt, wenn man den Userdef-Objekt-Editor mit 'OK' verläßt. Eine eigene Service-Routine sollte vom Userdef-Objekt-Editor erhalten bleiben oder sogar darin eingetragen werden können!
  6. Das Backdropping wird bislang automatisch durch MagiC (Backdrop des Fensters nicht angemeldet) bzw. durch ACSpro (Backdrop des Fensters angemeldet) erledigt und ist nicht beeinflußbar. (M. Elsässer)

    In einer der nächsten Versionen wird die Struktur Awindow um einen Zeiger für das Backdropping erweitert, so daß man hier auch eigene Routinen hinterlegen kann.
  7. Die Nachricht WM_MOUSEWHEEL wird empfangen und durch Scrollen des Fensters umgesetzt. Hier sollte ein optimiertes Scrollen erfolgen, indem ggf. unter der Maus befindliche Objekte gescrollt werden sollten.

    Dies wird in einer der nächsten Versionen optimiert unterstützt werden, d.h. daß bei Aktionen des Mausrades Edit-Felder, Cycle-Buttons, Popups, etc. gescrollt werden.
  8. Eine Unterstützung der WDIALOG-Druckdialoge, des (MagiC-)Font-Selectors und des (MagiC-)Fileselectors jeweils als Fenster-Dialog und modaler Dialog sollte ACSpro in gewohntem Komfort komplett zur Verfügung stellen.

    Der (MagiC-)Fileselector sowie der (MagiC-)Font-Selector werden in der Version 3.0.0 in vollem Umfang in allen möglichen (und unmöglichen ;-) Varianten unterstützt. Der WDIALOG-Druckdialog wird in Version 3.0.0 unterstützt, allerdings kann der Druckdialog noch nicht durch eigene Objektbäume erweitert werden. Das Einbinden eigener Objektbäume in den Druckdialog wird in einer der nächsten Versionen enthalten sein.
  9. Die einzelnen Konfigurationsdateien, die es im Moment gibt, sind zum großen Teil binär abgelegt.

    Es ist geplant, alle Konfigurationsdateien durch entsprechende Cfg-Strings zu ersetzen. Das Laden von anwendungseigenen Cfg-Strings erfolgt bereits automatisch. Die Steuerung über die Struktur CfgInfo in ACSconfig soll über den GUI-Editor im Hauptmodul geschehen.

    Alle Module sollen ihre Daten aus dieser einen Cfg-Datei laden. Die Idee ist hierbei, pro ACS-Modul eine Cfg-Gruppe zu verwenden. Daher sind die Gruppennamen, die mit "ACS-" beginnen, für ACSpro reserviert! Erst wenn die modul-eigene Gruppe nicht vorhanden ist, sollte das Modul auf eigene Cfg-Strings zurückgreifen und diese in die Cfg-Strings der Anwendung übertragen. Diese Übertragung wird von ACSpro unterstützt werden, sobald die Cfg-Strings von allen ACS-Modulen verwendet werden.
  10. Die vom GUI-Editor generierte Struktur Aconfig enthält noch Dummy-Werte für die Komponenten CfgInfo und basename.

    Die hier abgelegten Werte sollen für das Hauptmodul ebenso komfortabel im GUI-Editor eingegeben werden können, wie die anderen Werte der Struktur.
  11. In die Struktur Aconfig sollten alle wichtigen Initialisierungs-Daten aufgenommen werden — z.B. fehlt die Angabe der freigeschalteten Dead-Keys, die nun neu hinzugekommen ist. Alle diese Intialisierungs-Werte sollen vom GUI-Editor aus verwaltet werden können.
  12. Nach der linearen unsortierten Liste fehlen noch so nette Dinge wie die lineare sortierte Liste, Stack, Binärbäume, AB-Bäume, Hashtables, etc.
  13. ACSpro und mittels ACSpro entwickelte Anwendungen sollen problemlos unter MagiC 6 und N.AES mit jeweils proportionalen AES-Font laufen. (U. Kaiser)
  14. Für Pure-Pascal-Output sollten die Forward-Deklarationen ebenfalls ausgegeben werden. (K. Kroll)
  15. Der Icon-Editor sollte überarbeitet, am Besten komplett neu geschrieben werden. Z.B. sollten bei 256 Farben auch die Icons für 16, 4 und 2 Farben bearbeitet werden können...
  16. Die implementierten Cfg-Strings sollten nach Vorhandensein eines Binärbaumes oder einer Hashtable umgestellt werden, um eine wesentlich bessere Performance als mit der bisherigen linearen Suche zu erzielen.
  17. Routinen zur Bearbeitung und Auswertung von Objektbäumen wie z.B. Ausschnitte von Bäumen kopieren, Objekte im Baum zählen etc. (H. Achilles)
  18. In ACSpro sollten auch Submenüs implementiert werden. Derzeit sind ja leider nur Subpopups möglich. (D. König)
  19. Um Eingaben möglichst sofort plausibilisieren zu können, ist einiges an Programmieraufwand notwendig, besonders wenn Eingabefelder voneinander abhängen. Hier soll ACSpro einen Mechanismus bieten, der ohne großen Aufwand auch komplexe Plausibilisierungen ermöglicht.
  20. Bessere Unterstützung der Mehrsprachigkeit! Bisher muß jede ACS-Datei im ACSpro-GUI-Editor geöffnet und auf die neue Sprache umgestellt werden. Nach einem Generieren der Compiler-Sourcen muß erneut compiliert werden. (M. Elsässer)

    Hier wird ACSpro in Zukunft alle Sprach-Varianten exportieren. Durch Compiler-Macros wird dann die gewünschte eingebunden, man muß z.B. in Pure-C nur das passende Sprach-Makro definieren. Wie dies allerdings in Pure Pascal funktionieren wird, muß ich erst noch "erforschen"... ;-/

    Als weitere Variante können die Strings natürlich aus der Anwendung ausgelagert werden. Wie dann allerdings aus vielen Modulen bestehende Anwendungen zu einer "Text-Ressource" kommen, ist leider noch nicht ganz klar. Diese letzte Methode wird favorisiert und in einer der Versionen nach V3.0.0 realisiert werden, da hierdurch auch unabhängige Übersetzer Anwendungen in andere Sprachen übersetzen können.
  21. Beim Kopieren von Objekten im GUI-Editor (Shift-Taste beim Draggen gedrückt) werden abhängige Objekte (meist Strings) nur referenziert. Durch zusätzliches Drücken der Control-Taste werden diese dann auch kopiert. Diese momentane Standard-Einstellung der ausschließlichen Referenzierung beim Kopieren von Objekten im GUI-Editor sollte umgekehrt durch Control aktivierbar sein, da die Referenzierung eher als Sonderfall von Nutzen ist.

    Im Normalfall zieht man ein z.B. Button-Objekt aus dem Teile-Fenste und stellt die Größe, Farbe etc. ein. Wenn man nun z.B. 10 von diesen Objekten benötigt, konnte man früher die Anzahl von Kopien anlegen und danach die unterschiedlichen Boxtexte eingeben. Nun jedoch muß dieser Arbeitsgang für jedes einzelne Objekt erneut ausgeführt werden. Das ist ein erheblicher Mehraufwand und spart auch nicht ein Byte an redundantem Code. Völlig identische Objekte sind hingegen nur selten gefragt. (D. König)
  22. Moderne AES können im Menü eine ansprechende Trennlinie zeichnen. Diese sollte gegenüber der ACSpro-Lösung eines UserDef vorgezogen werden. (U. Kaiser)

    In ACSpro 3.0.0 ist nun das Aussehen der Menüs an die unter MagiC bei proportionalem Systemzeichensatz dargestellten 3D-Menüs angepaßt worden. Der 3D-Look der Menüs ist allerdings unabhängig vom proportionalen Systemzeichensatz. Der 3D-Look der Menüs kann ebenso abgeschaltet werden.
  23. Im Sinne eines einheitlichen und damit wirklich benutzerfreundlichen GUI sollte sich der Look von ACSpro-Anwendungen unbedingt an den gängigen Look anpassen. (U. Kaiser)

    Dies sollte im Großen und Ganzen für magiC bereits realisiert sein. Noch fehlende Punkte möchte ich natürlich noch anpassen. ACSpro-Anwendungen sollten von der Optik her wie andere moderne Anwendungen auch erscheinen — dies ist auch unter älteren TOS-Versionen so.

    Allerdings möchte ich optional die ACS-Userdefs in entsprechende GEM-Objekte wandeln, falls diese zur Verfügung stehen, z.B. sollten die Checkboxen in MagiC-Checkboxen umgewandelt werden. Allerdings ist hier zunächst aufgrund der ACS-Funktionalität über Service-Routinen noch konzeptionelle Arbeit notwendig.
  24. ACSpro soll entweder die MT_AES.LIB oder ein eigenes (optimiertes?) Multithreading-festes Binding verwenden. Ferner sind komfortable Möglichkeiten für Threads nützlich. (H. Achilles)

    ACSpro enthält nun ein eigenes TOS- und GEM-Binding. Das verwendete GEM-Binding ist allerdings noch nicht die für ACSpro optimierte, multithreadingfeste Version.
  25. Das Cycle-Objekt liefert leider bei Aufruf von identischen Text-Einträgen mittels AUO_CYGETINDEX immer nur den Index des ersten vorkommenden Eintrags. Das ist nicht WYSIWYG. Wenn ich z.B. 10 mal "Test|" als String übergebe und auf den 10. Eintrag klicke, darf nicht der Index 0 zurückgegeben werden. Hier müßte der Such-Algorithmus die Position im Objektbaum ermitteln und nicht die erste String-Position im Popupstring. Ähnliches Fehlverhalten ist bei Subpopups zu bemängeln. Vorerst muß man also darauf achten, daß keine identischen Strings in den Popups vorkommen. Eine lästige Einschränkung. (D. König)
  26. Die Funktion Ame_strpopup öffnet bei Übergabe des Pointers chk das Popup mit der Maus über diesem Popup-Objekt. Leider trifft das nicht zu, wenn das gewünschte Objekt in einem Subpopup vorkommt. Die Routine könnte so umprogrammiert werden, daß in diesem Fall die Subpopups automatisch aufgeklappt werden und die Maus dann auch über diesem gewünschten Objekt steht. Das sieht erheblich professioneller aus und man muß sich nicht jedesmal mit der Maus zu diesem "Ausgangspunkt" hindurchhangeln, wenn man innerhalb einer "Gruppe" von Sub(subsub)popups etwas auswählen will. (D. König)

Copyright © Martin Elsässer (E-Mailadressen)
Letzte Aktualisierung am 25. März 2008

Home History & ToDo-Liste History & ToDo-Liste Änderungen Version V2.32 auf V3.0.0