This is an article in the making.
I am dumping here my questions and hopefull progressing understanding of gui creation on the Amiga from its first appearance on the Amiga till now.
I would be very thankfull for hints or code showing how this is done, for pointing me in the right direction when i am misunderstanding a given subject, giving wrong information, or using poor english
Why this article?
Gui4Cli (also its present OS4 version) is entirely built upon GadTools. It is probably the most sophisticated GadTools based product around. Some people think that because GadTools is 'old'(introduced with OS2.04 just as datatypes.library) it would be better to continu development based on Reaction. I wonder if i should and if i could.
What will it cover in the end
- How were gui's created in the beginning, where does Gadtools come into play, what came after that?
I intend to investigate this through examination of the library functions used for a simple gui: a window containing a listview.
1 in pre-BOOPSI days
2 when BOOPSI first appeared
3 with GadTools
4 with tools such as GadToolsBox (generating C-code making direct use of gatools-calls )
5 with Reaction
- What improvements did each step gave us? Obviously coding is made more easy)
- Did we lose something? Obviously versatility if we never look back at the more basic libraries.
Probably all steps forwards were based on libraries that can be seen as predecessors or competitors which did not succeeded in being integrated in the OS.
There may be improvements that were not included yet, or were forgotten about.
For Gadtools we'll look more closely to these.
What work made Gui4Cli possible? Early Gadtools gui's were still ugly, were not resisable and were fixed-font. Font-sensitive gui's were not the rule.
- what are the possibilities of evolution of GadTools
- What are the wishes for evolution of Gui4Cli, how well can they be covered with different approaches
1 treat variable length records (CVS files) in database listviews
2 declare a number of gadgets as a group and position them relative to a group anchor
3 have a xONRESIZE xONZOOM events