![]() |
Programmation dans Anatomist:
|
![]() ![]() |
(mise à jour: 27/07/2001)
C'est relativement simple: il faut créer une classe dérivant de Module et l'instancier une fois:
#include <anatomist/application/module.h>
namespace anatomist
{
class MyModule: public Module
{
public:
MyModule();
virtual ~MyModule();
virtual std::string name() const
{ return "MyModule"; }
virtual std::string description() const
{ return "Performs lots of marvelous things" }
};
}
Pour instancier un module depuis une librairie dynamique, utilizez une variable statique (un booléen ou un pointeur, éviter d'utiliser un objet Module statique), par ex. dans le source du module en question:
static bool myModuleInitialized = initMyModule();
static bool initMyModule()
{
new MyModule;
return true;
}
Si le module apporte des nouveaux types d'objets, de fenêtres,
de contrôles, ou des nouvelles options pour certains objets, on peut
surcharger les fonctions correspondantes de la classe Module et leur faire
faire les initialisations nécéssaires. Voir les pages de
docs correspondantes pour plus de détails (quand elles seront à
jour...)