Mémoire Du Travail De Diplôme

Mémoire Du Travail De Diplôme

eivd Framework sous Linux Bastien Andrès Projet de Diplôme Framework sous Linux Cahier des charges Donnée de base Le but du projet est la conception et la réalisation d’un Framewok destiné à être utilisé pour l’enseignement. Différentes approches de solution sont à envisager, dont une solution basée sur une librairie graphique (Motif, LessTif, Gtk, etc.) ou utilisant un Framework complexe existant (Qt, wxWindows) ou encore Java. Cahier des charges Le Framework est destiné à servir d’illustration d’une conception orientée objet et pour l’introduction du concept dans le cadre d’un cours et laboratoire; la complexité en est en conséquence réduite. Les différentes options sont à considérer: Utilisation d’une librairie graphique comme LessTif ou gtk pour la gestion de l’interface utilisateur; Possibilité d’utiliser un Framework existant du domaine publique pour la réalisation du Framework désiré; Ajout de la fonctionnalité du multi−fenêtrage à un Framework à fenêtre unique (LAF); Adaptation du Framework mis à disposition par Java (réduction de sa complexité). Page 1/112 eivd Framework sous Linux Bastien Andrès Table des matières 1.Résumé..............................................................................................................................................7 2.Introduction.......................................................................................................................................8 2.1.Définition de ’Framework’..............................................................................................................8 3.Techniques.........................................................................................................................................9 3.1.Langages et outils............................................................................................................................9 3.1.1.C..............................................................................................................................................9 3.1.1.1.Pointeurs de fonctions......................................................................................................9 3.1.1.2.Fonctions ’Callback’........................................................................................................9 3.1.1.3.Modèle objet en C............................................................................................................9 3.1.1.4.Macros...........................................................................................................................10 3.1.1.5.Gestion de la mémoire....................................................................................................10 3.1.1.6.Informations relatives à l’application.............................................................................10 3.1.2.C++.......................................................................................................................................10 3.1.2.1.Contrôle des types à la compilation................................................................................10 3.1.2.2.’Templates’....................................................................................................................10 3.1.3.Java.......................................................................................................................................11 3.1.3.1.’Garbage Collector’........................................................................................................11 3.1.3.2.Threads..........................................................................................................................11 3.1.3.3.’Reflection’....................................................................................................................11 3.1.4.Compilation...........................................................................................................................11 3.1.4.1.Scripts............................................................................................................................11 3.1.4.2.Makefile.........................................................................................................................12 3.1.4.3.Préprocessing.................................................................................................................12 3.2.Concepts.......................................................................................................................................12 3.2.1.Modèle ’Model−View−Controller’........................................................................................12 3.2.2.Dualité Application−Document.............................................................................................13 3.2.3.Programmation événementielle..............................................................................................13 3.2.4.Programmation par composants.............................................................................................13 3.3.Gestion Graphique........................................................................................................................13 3.3.1.Régions..................................................................................................................................13 3.3.2.Contexte graphique................................................................................................................14 3.3.3.Programmation graphique événementielle.............................................................................14 3.3.4.’Window Manager’................................................................................................................14 3.3.5.Modèles d’application multi−fenêtres....................................................................................15 3.3.6.’Xwindow’............................................................................................................................15 3.3.7.Répartition des tâches d’affichage (X−WM−Lib−App).........................................................15 3.4.Technique des librairies graphiques...............................................................................................15 3.4.1.Concepts................................................................................................................................15 3.4.1.1.Description de la composition graphique........................................................................15 3.4.1.2.’Layout Management’....................................................................................................16 3.4.1.3.’Top Level’....................................................................................................................16 3.4.1.4.Utilisation des contextes graphiques...............................................................................16 3.4.2.Déroulement standard d’une application................................................................................16 3.4.2.1.Introduction....................................................................................................................16 3.4.2.2.Création des objets.........................................................................................................16 3.4.2.3.Assignation des propriétés..............................................................................................17 3.4.2.4.Composition...................................................................................................................17 3.4.2.5.Réalisation.....................................................................................................................17 3.4.2.6.Lancement du processus événementiel...........................................................................17 3.4.2.7.Schéma de traitement des événements............................................................................17 3.4.2.8.Mise à jour de l’état de l’application..............................................................................17 Page 2/112 eivd Framework sous Linux Bastien Andrès 3.4.2.9.Terminaison de l’application..........................................................................................17 3.5.Librairies graphiques ’standards’ sous Linux................................................................................18 3.5.1.Introduction...........................................................................................................................18 3.5.2.Motif / Lesstif........................................................................................................................18 3.5.3.Gtk+ / Gtk−− / libsigc++.......................................................................................................18 3.5.3.1.Gtk.................................................................................................................................18 3.5.3.2.Gtk+...............................................................................................................................19 3.5.3.3.Glib................................................................................................................................19 3.5.3.4.Gdk................................................................................................................................19 3.5.3.5.Gtk−−.............................................................................................................................19 3.5.3.6.libsigc++........................................................................................................................19

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    112 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us