Projet C IG (1A)

IHM (2A)


VR/AR/Post-WIMP (3A)


Projet image (2A)


HCI (MoSIG 2)


Test Logiciel


Projects Docs

A quoi sert "ei_widgetclass_register" ?

Supposez que le programmeur qui utilise votre bibliothèque souhaite créer sa propre classe de widgets. Son programme inclue les étapes suivantes:

  1. création d'une instance de "ei_widgetclass_t",
  2. choix d'un nom pour cette classe de widget, par exemple "scale",
  3. définition de toutes les fonctions de cette classe (alloc_func, draw_func, etc...),
  4. stockage des adresses de fonction dans la structure "ei_widgetclass_t"
  5. appel de la fonction "ei_widgetclass_register" de votre bibliothèque.

Ensuite, il peut créer des instances de widgets de sa classe en appelant votre fonction "ei_widget_create"

 my_scale_widget = ei_widget_create("scale", ...);

C'est ce que fait le programme "tests/ext_testclass.c". Une nouvelle classe de widgets "testclass" s'enregistre auprès de votre bibliothèque. L'appel à "ei_widgetclass_register" est fait lors de l'appel à la fonction "testclass_register" de ce programme.

Et à quoi sert "ei_geometrymanager_register" ?

Le programmeur peut définir son propre gestionnaire de géométrie, et l'enregistrer auprès de votre bibliothèque avec "ei_geometrymanager_register". Est-ce que votre bibliothèque sera capable de le gérer, quand vous devrez afficher des widgets dont le champ

 geom_params->manager

ne pointe pas vers votre placer ?

C'est ce qui est testé dans le programme "tests/ext_testgm.c"

Edit - History - Upload - Print - Recent Changes - Search
Page last modified on April 18, 2024, at 08:12 AM