G-Rom a écrit :magnifique, par curiosité , comment procède tu pour la gestion de tout cela ?../..
Et bien c'est géré par un system de quadtree, chaque viewport peut avoir 2 enfants (à chaque split), et peut se comporter comme un viewport ou comme un splitter (dès qu'il a 2 enfants), soit horizontal, soit vertical.
Le système est conçu pour que soit le viewport 'root' gère un CanvasGadget, auquel cas les descendants (y compris les widgets et contrôles car c'est transparent pour eux) dessinent dans ce même Gadget, soit que chaque viewport ait son propre CanvasGadget (je verrai par la suite le plus efficace, notamment quand je ferai intervenir l'OpenGL).
G-Rom a écrit :../..Compte tu séparé la gui du reste de manière à l'utilisé pour d'autre projets ?
Oui, normalement - et si je ne rencontre pas de problème majeur - le code de cette GUI sera dans une DLL/DSO utilisable pour d'autres applications.
En fait, dans ce genre d'interface, seuls les 'Widgets' font le lien entre la GUI et les données de l'application. Le fenêtrage, les viewports et les contrôles sont indépendants. Du coup pour une application différente il suffira d'implémenter (ou de modifier) des 'Widgets' propres à l'application.
Mais j'essaye de découpler au maximum la GUI de l'application, notamment grâce à la nouvelle fonctionalité 'Runtime' de PB et aux events customizables.
Il reste, ceci dit, encore beaucoup à faire.