ED Notions orientés objets pour les IHL



Documents pareils
3 : créer de nouveaux onglets dans Netvibes Cliquer sur le bouton «+» et renommer le nouvel onglet (par exemple Encyclopédies en ligne)

Manuel utilisateur Netviewer one2one

Utilisation de l'outil «Open Office TEXTE»

GESTION DE L'ORDINATEUR

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Créer et modifier un fichier d'importation SAU avec Excel

Réalisez votre propre carte de vœux Éléctronique

Initiation à LabView : Les exemples d applications :

Guide d utilisation de fonctionnalités avancées de Beyond 20/20 (application à des données départementales issues de Sit@del2)

Note de cours. Introduction à Excel 2007

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Un exemple avec WORKSPACE d'interwrite

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

MISE AU POINT FINANCIÈRE GUIDE DE L UTILISATEUR. Le logiciel MISE AU POINT FINANCIÈRE est offert sous licence par EquiSoft.

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Publication Assistée par Ordinateur

La Gestion de fichiers Supports réalisés avec OpenOffice.org 2.3 Writer. La Gestion de fichiers. Niveau : Débutant Auteur : Antonio da Silva

Le meilleur de l'open source dans votre cyber cafe

Manuel Utilisateur. Boticely

DOSSIER D'UTILISATION

INP E N S A T T O U L O U S E ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß. 7UDYDLO'LULJp

Reaper : utilisations avancées

Création d'une interface graphique

l'ordinateur les bases

Traitement par lot conversion de plusieurs images en JPEG

La messagerie électronique

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Utilisation de l ordinateur portable Bluetooth avec le hub Logitech sans fil

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Fête de la science Initiation au traitement des images

Débuter avec OOo Base

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Utilisation du client de messagerie Thunderbird

Créer une trace, obtenir son fichier gpx et sa carte Ou Afficher un fichier trace GPX

Protocoles DHCP et DNS

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

MANUEL TBI - STARBOARD

Comment se connecter au dossier partagé?

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Peut être utilisée à l intérieur du site où se trouve la liste de référence.

GUIDE D UTILISATION DU LOGICIEL DE TELE-EXPERTISE BOGOU

Nb. De pages : 24 MANGO. Manuel d'utilisation. Version 1.2. décembre 2010

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

Introduction : Cadkey

Pop-Art façon Roy Liechtenstein

Mise en scène d un modèle dans l espace 3D

Gestion de projets. avec. Microsoft Office PROJECT 2003

DELEGATION ACADEMIQUE AU NUMERIQUE FORMATION ADMINISTRATEUR SCRIBE 2.3 ET CARTABLE EN LIGNE (CEL)

FORMATION MULTIMÉDIA LVE

1.1 L EXPLORATEUR WINDOWS

Installation et utilisation du client FirstClass 11

Créez des étiquettes avec Microsoft Word et Excel (Versions Windows 10 et 11)

Module Communication - Messagerie V6. Infostance. Messagerie

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

Animation Shop PREAMBULE... 2 CONTRAINTE... 2 CREER UNE ANIMATION... 2 AJOUTER DES IMAGES... 3 ENREGISTRER UNE ANIMATION... 3

Formation. Module WEB 4.1. Support de cours


Styler un document sous OpenOffice 4.0

Introduction à Adobe Illustrator pour la cartographie et la mise en page

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

MEDIAplus elearning. version 6.6

Tutoriel. Votre site web en 30 minutes

Formation VBA 3 Interagir

Suite Messerli Gest (gestion de chantier) Prestations (imputations des heures) Procédure d'installation du programme ou d'une mise à jour

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

AFTEC SIO 2. Christophe BOUTHIER Page 1

Manuel Utilisateur de l'installation du connecteur Pronote à l'ent

Manuel d installation de Business Objects Web Intelligence Rich Client.

Création du projet : 1 sur 13

1 INTRODUCTION. PowerBuilder - Introduction. Pascal Buguet Imprimé le 19 août 2004 Page 1

Utilisation d une tablette numérique

INFORM :: DEMARRAGE RAPIDE A service by KIS

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Manuel d'installation de GESLAB Client Lourd

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

OneDrive, le cloud de Microsoft

NAS 106 Utiliser le NAS avec Microsoft Windows

Silhouette Studio Leçon N 2

GUIDE DE DEMARRAGE RAPIDE:

Guide utilisateur Archivage intermédiaire Messagerie. Enterprise Connect pour Outlook 2010 EC V 1.0

2013 Pearson France Adobe Illustrator CC Adobe Press

Publier dans la Base Documentaire

Introduction : L accès à Estra et à votre propre espace Connexion Votre espace personnel... 5

Créer un modèle Impress

CS 01 D/B2I/ CONSULTATION ET TRANSMISSION DE L INFORMA-

Permis de conduire info

SAGE: Introduction. 1 Connections WEB. 2 Généralités. 1.1 Sur le web insset. 2.1 Conception modulaire. Sage. 100-Introduction

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Chapitre 2 Créer son site et ses pages avec Google Site

Comment installer un client Rivalis Devis factures

Transcription:

ED Notions orientés objets pour les IHL Arborescence des composants graphiques, notions orientées objets exercice 1 : arborescence d'un interface graphique But de l'exercice Montrer que construire un interface c'est "mettre des boîtes dans des boîtes". Que ces boîtes s'appellent des widgets, des fenêtres, etc. peu importe. Cette architecture a le mérite de bien ranger les choses. Elle est aussi utile pour personnaliser l'interface par un utilisateur (par exemple sous Xt/Motif). La fin de l'exercice a pour but de mettre en évidence des termes français très utilisés dans les IHM. On se propose de créer l'interface d'un éditeur de dessin de la manière suivante : texte noir rouge Aire de dessin vert 1 ) Définir l'arborescence des éléments graphiques de cet interface. Que faut il ajouter pour gérer certains choix sous forme de boutons radios : on pourra penser à faire des regroupements. Il faut déterminer les différents objets graphiques qui apparaissent dans l'interface. Essentiellement il y a un objet AireDeDessin et des boutons poussoir. La fenêtre de l'application est le dernier élément graphique. Ces objets sont rangés sous forme arborescente : 1/7

Fenetre Principale bt_noir bt_rouge bt_vert bt_rect bt_trait bt_texte bt_elips AireDessin Avec une telle solution tout est placé au même niveau. Comme le suggère l'énoncé il faut penser à faire des regroupements. Par exemple regrouper les couleurs dans un objet qui dispose ses objets contenus en colonne et les différentes formes de dessins dans un objet qui dispose ses objets contenus en ligne. On obtient une arborescence : Fenetre Principale Cont_col Cont_ligne bt_noir bt_rouge bt_vert bt_trait bt_rect bt_elips bt_texte AireDessin correspondant aux objets emboîter de la manière suivante : texte noir rouge Aire de dessin vert 2/7

Insistons que ce rangement n'est pas seulement la pour "faire joli" et avoir des choses bien rangées. Il est indispensable de le connaître au moins en partie si un utilisateur veut personnaliser l'environnement de cette application (changer les libellés pour les mettre en anglais par exemple). Il est indispensable de le connaître exactement pour un programmeur car il représente l'essentiel de ce qui devra être codé. 2 ) Que manque t il à ce programme pour en faire un logiciel acceptable? Que proposez vous pour remédier à ces manques? On peut penser à développer les propositions déjà existantes : mettre plus de boutons couleurs. On peut envisager d'utiliser un éditeur de couleurs mais dans ce cas il sera appeler et s'affichera dans une fenêtre non modale. Mêmes remarques pour les formes de dessins. Il faut aussi concevoir que l'aire de dessin n'est pas directement liée à une application Paint mais que l'application permet de lancer plusieurs aires de dessin et permmetre des possages de l'une à l'autre par copier coller par exemple. Il faudra alors développer des outils permettant de faire du Couper/Copier/Coller entre aire de dessin. Dans le Paint proposé par l'énoncé, il manque de charger, sauvegarder les dessins effectués, Quitter l'application, Proposez des tailles et des fontes différentes etc. bref une foule de choses. Certaines peuvent être obtenues par des menus déroulant, activés par des (cascade) boutons dans une (la) barre de menus. D'autres particularités peuvent être obtenues par des menus jaillissants (pop-up). Exercice 2 : Ensemble de classes graphiques But de l'exercice Faire découvrir ce qu'il est nécessaire d'avoir dans tout système graphique avancé c'est à dire possédant un système de classes d'objets graphiques. Le système proposé est un ensemble de classes orientées objets. Bien mettre en évidence que si certaines codes sont entièrement donnés par ce système de classes (faire apparaître le bouton enfoncé lorsqu'on appuie dessus par exemple), un système graphique avancé doit aussi fournir des mécanismes permettant de lancer du code (que ce bouton lance la sauvegarde d'un fichier ou permette de quitter l'application sera implanté par le programmeur). Ranger ensuite ces classes sous forme arborescence en utilisant l'héritage (orientation objet). Indiquer la différence entre cette arbre et l'arbre de l'exercice précédent. Peut être faut il commencer par cette dernière question?! On veut créer une bibliothèque de classes d'objets graphiques permettant de développer des interfaces. 1 ) Définir les classes d'"objets de base" en précisant les données et méthodes contenues dans ces classes et ranger ces classes dans une arborescence. Ces classes sont les classes de libellé, bouton poussoir, de fenêtre de saisie de texte, de boite de liste, barre de défilement, échelle ou jauge, etc. Elles sont appelées classes d'objets de base dans cet exercice mais on appelle ces classes, les classes de contrôle dans le monde Windows et Macintosh et classes Primitive dans le monde Motif. Pour chaque classe on peut envisager les données et méthodes suivantes : classe libellé la chaîne à afficher 3/7

sa font associée dessiner les parties qui ont été masquées lorsqu'elles passent en avant plan. A priori cette classe ne sert qu'à afficher du texte et ne possède pas de méthodes d'interface classe bouton poussoir la chaîne à afficher sa font associée méthodes permettant de faire paraître le bouton enfoncé ou relâché mécanisme permettant de lancer des procédures du programmeur lorsqu'on appuie sur le bouton. classe zone de texte la chaîne à afficher sa font associée Nombre de lignes et de colonnes de l'objet mécanisme de copier/couper-coller par l'intermédiaire d'un presse papier mécanisme permettant de saisir et d'afficher le texte tapé par l'utilisateur classe de boite de liste Les items de la liste Nombre d'items dans la liste Les items sélectionnés de la liste Nombre d'items sélectionnés dans la liste Nombre d'items visibles la politique de sélection (peut on sélectionner plusieurs items, un seul, par défilement ou pas, etc.) 4/7

passer en inverse vidéo les items sélectionnés récupérer les items sélectionnés mécanisme permettant de lancer du code lors d'un double clic sur un item. classe barre de défilement l'orientation (horizontale ou verticale) la position d'ascenseur la couleur la valeur max et min de l'ascenseur déplacer l'ascenseur lorsqu'on appuie sur les butées méthodes publiques être sensible à l'appui sur une butée récupérer et positionner la valeur de l'ascenseur classe échelle ou jauge le titre la valeur courante la valeur de départ les valeurs max et min afficher la valeur lorsqu'on déplace l'ascenseur méthodes publiques récupérer cette valeur, la positionner Au vue des différentes valeurs et méthodes de ces classes, on peut les ranger sous forme arborescente. Il faut bien voir que ceci est un exercice d'école et que les implantations véritables (MFC, Motif, Java, Macintosh, etc.) ne suivent pas à la lettre cette arborescence (mais s'en inspire fortement) 5/7

Fondam entaux coordonnées x et y d e son affichage p ar rapport à son contenant dessiner les parties m asqué es lors d'un passage au prem ier plan Liste couleur d'affichage ite m s de la liste et leur no m bre ite m s selection nés et leur no m bre po litique de sé lection no m bre d'item s visibles passage en inverse vidéo récupérer les item s sélectionnés Libellé Échelle titre valeur courante valeur de départ valeurs m ax et m in afficher la valeur lorsqu'on déplace l'ascense ur récupérer et positionner cette valeur Barre de défilem ent orientation valeur de position de l'ascenseur couleur valeur m in et m ax de l'ascenseur déplacer l'ascenseur lorsqu'on ap puie sur une butée récupérer et posi ti onn er la va leur de l'ascenseur chaine à afficher sa police associée couleur d'afficha ge Bouton poussoir zone de texte m éth odes qui gèrent l'apparence enfoncé ou relaché du bou ton m écanism e pe rm ettant d'associer du code à lancer lorsqu'on appui e sur le bouton nb de lignes et colonn es m éca nism e de co uper/copier-coller associé à un presse papier saisir et afficher le texte tapé par l'utili sateur 2 ) Définir des classes d'objets conteneurs (i.e. objets qui peuvent contenir d'autres objets) et des classes d'"objets complexes" (i.e. objets formés à partir d'autres objets). Ranger ces classes dans une arborescence. Concernant les classes d'objets conteneurs, on peut mettre en évidence au monis deux classes : - classe (panneau_d_affichage) des objets qui n'imposent pas la position des objets graphiques contenus 6/7

- classe (ligne_colonne) des objets qui imposent de tels positionnements (par exemple en ligne et en colonne. Classes de boites de dialogues, de fenêtre principale qui seront habillées (par le système cf. Windows, par un WM cf. X Window), de menus réutilisabilité grace à l'héritage 3 ) Construire l'arborescence d'un tel système de classes. Les données et méthodes communes à plusieurs classes doivent être mises dans une classe de base dont on dérive. Par exemple liste_des_objets_contenus donnée apparaissant dans les deux classes panneau_d_affichage et ligne_colonne doit être mise dans une classe (de base) et dériver ces deux classes de cette classe de base. On a par exemple : cl asse conteneur classe panneau_d_affichage classe ligne_colonn e Remarquer qu'on peut enrichir ce graphe en ajoutant certaines classes. Par exemple la classes des menus est une classe dérivée de la classe ligne_colonne. Toutes les classes contiennent les coordonnées x et y de l'objet par rapport a son objet contenant. Donc toutes les classes vont dériver d'une classe Noyau contenant ces données. Cela assure une cohérence de l'ensemble (un seul arbre) utile par exemple si on veut faire du polymorphisme en C++ (cf. visual C++) 4 ) Quelles différences y a t-il entre cette arborescence et celle de l'exercice précédent? Dans cet exercice l'arborescence porte sur des classes et la notion être "fils de" dans l'arbre signifie "hérite de" au sens des notions orientées objets. Dans l'exercice précédent, l'arborescence portait sur des instances de ces classes et être "fils de" dans l'arbre de l'exercice précédent signifie "être à l'intérieur de". L'arbre de classes décrit dans cet exercice est en général un ensemble donné ou vendu par une API et est donc statique. L'arbre des instances de l'exercice précédent change d'une interface graphique à une autre et donc d'un programme à un autre. 7/7