TP7.md 1.9 KB

Minipaint

TP7 – Améliorations

🧬 Dupliquer une forme


On aimerait pouvoir dupliquer facilement la ou les formes sélectionnées.

🖥 TODO

  • Identifiez le patron de création qui semble correspondre à ce besoin.
  • Implémentez le code nécessaire.


📝 Ajouter du texte sur une forme


On voudrait pouvoir ajouter du texte sur une forme sélectionnée. On ne veut pas en faire un attribut de la classe ShapeAdapter, car en général, seulement quelques formes seront concernées : inutile de « polluer » la classe avec cela.

Nous allons pour cela utiliser le patron Décorateur (lien vers la vidéo qui en parle). Ce patron permet d’ajouter de manière dynamique des informations sur certains objets.

🖥 TODO

  • Etudiez le fonctionnement du patron, identifiez les classes concernées dans l’application, et faites les changements nécessaires.
  • On pourra ajouter un bouton dans la Toolbar permettant d’ajouter du texte sur la (ou les) forme(s) sélectionnée(s).


🚧 Gestion des exceptions


🖥 TODO

  • Si on cherche à ajouter du texte sur un groupe de formes, une exception doit être levée au niveau du décorateur. Cette exception sera capturée par la commande qui est à l’origine de l’action, et un message d’erreur doit être affiché. Si une commande provoque une exception, elle ne doit pas être ajoutée à la pile de commandes (l'historique pour le undo/redo).
  • Étendre ce mécanisme d’exception à toutes les commandes. Si une commande rencontre une erreur (par exemple si aucune forme n’est sélectionnée), alors une exception doit être levée, et la commande ne sera pas ajoutée à l’historique.
  • Les messages d’erreur des exceptions seront affichés dans une nouvelle barre de statut.


🔙 Retour