1 - opening_native_Window
2 - fix/taskbarmanager3
3 - fix/desktop
Dans cette branche on retrouve le code pour l'ouverture de fenêtre native avec des spec applications. Cette branche n'utilise pas MiniWorld comme world de fenêtre native car on peut faire une pr de cette branche dans un premier temps pour fonctionner avec l'existant.
il suffit de cliquer sur le window menu puis sur open in external Window
les growlMorph ne se mette pas en bas a gauche mais en plein millieux : surement un problème de layout Lorsque l'on fait une sauvegarde de l'image les fenêtre native se ferme et se réouvre ( ceci est normal car l'on recommence une session est du coup on relance le startup) mais cela n'est pas très jolie
celon moi on peut faire une pr dans l'état pour pharo 12. Les utilisateurs pourrait comme cela donner leur avis dessus et cela permetterait d'avoir plus de personne relevant des bugs ou non
Dans cette branche on retrouve le code pour avoir un desktop qui s'appuye sur miniWorld, cette branche a deja eu ça pr : pharo-project/pharo#13740
Mais astares
ma partagé sont desktop fait au par avant qui a l'air plus aboutit, il faudrait peut être sans inspirer pour l'avenir, ainsi j'ai laisser cette pr de coté en attendant
wm := MorphicWindowManager new.
wm openNewWindowWithRoot: DesktopMorph new .
le cursor ne correspond pas au bon en fonction de si la fenetre originale se trouve en dessous de celle du desktop. Tout les outils de pharo ne sont pas disponible avec ce desktop.
si on garde le desktop comme ici il faut : - corriger les problèmes de la pr ( c'est principalement des problèmes de dépendance) - ajouter une menu bar - ajouter le plus possible les outils de pharo ( pour cela supprimer les fameux curentWorld)
sinon reprendre le code de astares
fait sur pharo 9 et le passer sur pharo 12
Dans cette branche j'introduis le principe de MiniWorld, une pr est fait mais je ne pense pas que c'est integrable maintenant. En effect si on veut que les utilisateurs utilise les nativeWindow maintenant il vaut mieux laisser le OSWindowWorldMorph car il hérite de WorldMorph est dans l'instanct T cela fonctionne. Le MiniWorld est bien car il a le moins de méthode possible mais avec lui on ne peut pas encore ouvrir des spec Application ( surement pas grand chose mais cela necessite un peux plus de travail)
wm := MorphicWindowManager new.
wm openNewWindowWithRoot: ClyFullBrowserMorph onDefaultEnvironment .
le clic droit ne s'ouvre pas au bonne endroit ( merci currentWorld)
la sauvegarde dans une fenêtre native fait tout planter
améliorer le code en le factorisant peut être avec des traits ( pour le code partagé entre worldMorph et MiniWorld) supprimer le plus de currentWorld possible appliquer les changement de la branche opening_native_Window pour que cela fonctionne avec miniWorld
Dans cette branche j'ai introduit le concept de WindowNative, une pr est faite est elle est intégré. Les Natives Window fonctionne avec le OSWindowWorldMorph
wm := MorphicWindowManager new.
wm openNewWindowWithRoot: ClyFullBrowserMorph onDefaultEnvironment .
le clic droit ne s'ouvre pas au bonne endroit ( merci currentWorld)
la sauvegarde dans une fenêtre native fait tout planter
pour corriger cela intégrer : opening_native_Window
appliquer les changement de la branche opening_native_Window