Gestionnaire de classes d'opérations. More...
#include "cogitant/display/operation.h"
Public Member Functions | |
OperationHandler () | |
Constructeur par défaut. More... | |
virtual | ~OperationHandler () |
Destructeur. More... | |
std::vector< Operation * > const & | operations () const |
Accès aux opérations. More... | |
Protected Member Functions | |
Operation * | find (Context const &context, Drawing const &drawing, Drawing::Element const *el=NULL) const |
Accès à l'opération pouvant gérer l'élément. More... | |
void | deleteOp (Operation *op) |
Suppression d'une opération. More... | |
Protected Attributes | |
std::vector< Operation * > | m_operations |
Les opérations gérées par l'OperationHandler. More... | |
Static Protected Attributes | |
static unsigned int | s_nb |
Nombre handlers actuellement en mémoire. | |
Gestionnaire de classes d'opérations.
Cette classe permet de mémoriser des opérations pouvant être appelées sur des dessins. Plus précisément, une instance de cette classe contient un ensemble d'instances de Operation, chacune de ces instances pouvant effectuer des opérations sur des éléments graphiques. Le rôle d'un OperationHandler est de choisir l'instance d'une sous-classe de Operation capable de traiter l'élément graphique en cours. De cette façon, il est très facile de définir de nouvelles opérations : il suffit de définir une sous-classe de Operation et de l'enregistrer auprès du OperationHandler utilisé. À noter que dans le cas où plusieurs Operation peuvent gérer un élément, c'est la plus récente (celle qui a été ajoutée en dernier) qui est utilisée.
cogitantdisplay::OperationHandler::OperationHandler | ( | ) |
Constructeur par défaut.
|
virtual |
Destructeur.
|
protected |
Suppression d'une opération.
|
protected |
Accès à l'opération pouvant gérer l'élément.
context | contexte utilisé. |
drawing | dessin |
el | élément de dessin à gérer. Si NULL l'opération recherchée est celle qui permet de gérer le dessin dans son entier. |
|
inline |
Accès aux opérations.
|
protected |
Les opérations gérées par l'OperationHandler.