Projet C IG (1A)

IHM (2A)


VR/AR/Post-WIMP (3A)


Projet image (2A)


HCI (MoSIG 2)


Test Logiciel


Projects Docs

Testez votre bibliothèque avec une nouvelle classe de widget et un nouveau gestionnaire de géométrie

Si votre bibliothèque répond bien aux spécifications demandées, elle doit pouvoir gérer une nouvelles classes de widget ou une nouveau gestionnaire de géométrie, tout deux pouvant être créés par le programmeur (c.f. à quoi sert ei_class_register).

Nous vous proposons ici de télécharger une extension "nouvelle classe de widget" et une extension "nouveau gestionnaire de géométrie" pour tester votre bibliothèque.

Attention

Le but de ces extensions est de vous aider à tester la généricité de votre bibliothèque. Mais vous avez peut être fait des choix de conception pour votre bibliothèque qui ne sont pas compatibles avec les extensions proposées ici. Si les programmes ci-dessous ne fonctionnent pas, posez-vous la question: est-ce une erreur ou une incompatibilité de votre bibliothèque ? En cas de doute, discutez-en avec un enseignant.

Nouvelle classe de widget

  1. Téléchargez les codes sources de l'exemple (ext_testclass.h, et test_ext_class.c) ci-dessous et placez-les dans le répertoire test.
  2. Téléchargez l'implémentation de cette nouvelle classe sous forme binaire : choisissez le fichier qui correspond à votre plate-forme. Par example macos_libextclass64.a si vous êtes sur MacOS. Placez le binaire dans le répertoire de la plate-forme (_macos pour MacOS).
  3. Ajoutez une nouvelle cible test_ext_class au fichier CMakeLists.txt (en adaptant la dernière ligne pour votre plate-forme) :
 add_executable(test_ext_class ${TESTS_SRC}/test_ext_class.c)
 target_include_directories(test_ext_class PUBLIC ${TESTS_SRC})
 target_link_libraries(test_ext_class ei ${PLATFORM_DIR}/macos_libextclass64.a ${PLATFORM_LIB_FLAGS})

Le programme obtenu devrait avoir le comportement illustré dans le clip video "test_class.mp4".

Nouveau gestionnaire de géométrie

  1. Téléchargez les codes sources de l'exemple (ext_testgm.h, et test_ext_gm.c) ci-dessous et placez-les dans le répertoire test.
  2. Téléchargez l'implémentation de cette nouvelle classe sous forme binaire : choisissez le fichier qui correspond à votre plate-forme. Par example macos_libextgm64.a si vous êtes sur MacOS. Placez le binaire dans le répertoire de la plate-forme (_macos pour MacOS).
  3. Ajoutez une nouvelle cible test_ext_gm au fichier CMakeLists.txt (en adaptant la dernière ligne pour votre plate-forme) :
 add_executable(test_ext_gm ${TESTS_SRC}/test_ext_gm.c)
 target_include_directories(test_ext_gm PUBLIC ${TESTS_SRC})
 target_link_libraries(test_ext_gm ei ${PLATFORM_DIR}/macos_libextgm64.a ${PLATFORM_LIB_FLAGS})

Le programme obtenu devrait avoir le comportement illustré dans le clip video "test_gm.mp4".

Fichiers à télécharger

Edit - History - Upload - Print - Recent Changes - Search
Page last modified on May 02, 2022, at 01:26 PM