Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cogitantdisplay::OperationDraw Class Reference

Opération de dessin d'un élément graphique. More...

#include "cogitant/display/operation.h"

Inheritance diagram for cogitantdisplay::OperationDraw:
cogitantdisplay::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject

Public Member Functions

 OperationDraw ()
 Constructeur par défaut. More...
 
 OperationDraw (Context *c, Drawing *d)
 Constructeur. More...
 
void runElement (Drawing::Element el)
 Exécution de l'opération sur un élément. More...
 
bool canHandle (Drawing::Element const *el)
 L'opération peut-elle gérer l'élément ? More...
 
virtual void addClipping (Drawing::Element const &el, Clipping &clipping) const
 Ajout de la zone correspondant à l'élément graphique. More...
 
virtual bool inClipping (Drawing::Element const &el, Clipping const &clipping) const
 La zone graphique de l'élément est elle en intersection avec une zone graphique donnée ? More...
 
virtual bool isUnder (Drawing::Element const &el, Point const &point) const
 Un point est-il à l'intérieur de la zone graphique de l'élément ? More...
 
virtual iFigure drawElement (Drawing::Element const &el, Point const &point, iFigure parent) const
 Dessin de l'élément. More...
 
virtual Point rPos (Drawing::Element const &el) const
 Accès aux coordonnées de l'objet (relatives au parent). More...
 
virtual Rect rRect (Drawing::Element const &el) const
 Accès au rectangle englobant. More...
 
virtual Size size (Drawing::Element const &el) const
 Accès à la taille de l'objet. More...
 
virtual Size sizeClient (Drawing::Element const &el) const
 Accès à la taille de la zone client de l'élément. More...
 
virtual Point rPosClient (Drawing::Element const &el) const
 Accès aux coordonnées de la zone client de l'objet. More...
 
virtual bool rPos (Drawing::Element const &el, Point const &p, bool usegrid)
 Fixe les coordonnées (relatives) de l'objet. More...
 
virtual bool size (Drawing::Element const &el, Size const &s, bool usegrid)
 Fixe la taille de l'objet. More...
 
virtual bool sizeClient (Drawing::Element const &el, Size const &s, bool usegrid)
 Fixe la taille de la zone client de l'objet. More...
 
virtual bool getEdgeCoords (Drawing::Element const &el, Point &o, Point &e) const
 Calcul des coordonnées de l'arête passée. More...
 
- Public Member Functions inherited from cogitantdisplay::Operation
 Operation ()
 Constructeur par défaut. More...
 
 Operation (Context *c, Drawing *d)
 Constructeur. More...
 
Error check ()
 Vérification des paramètres. More...
 
virtual Contextcontext () const
 Contexte d'affichage. More...
 
virtual Drawingdrawing () const
 Dessin. More...
 
void setContext (Context *c)
 Modification du contexte d'affichage utilisé. More...
 
void setDrawing (Drawing *d)
 Modification du dessin utilisé par l'opération. More...
 
void run ()
 Exécution de l'opération. More...
 
virtual void runSet (std::list< Drawing::Element > const &soe)
 Exécution de l'opération sur un ensemble d'éléments. More...
 
- Public Member Functions inherited from cogitant::OperationBase
void stop ()
 Stopper l'opération dès que possible. More...
 
bool isStopped () const
 Est-ce que l'opération a été stoppée. More...
 
 OperationBase ()
 Constructeur. More...
 
 OperationBase (OperationBase const &o)
 Constructeur par recopie. More...
 
 ~OperationBase ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. More...
 
std::string className () const
 Nom de la classe. More...
 
PropertySet const * properties () const
 Accès en lecture seule à l'ensemble des propriétés. More...
 
bool hasProperties () const
 Existence de propriétés. More...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 

Protected Member Functions

virtual bool getEdgeLabelRect (Drawing::Element const &el, Point const &o, Point const &e, Rect &result) const
 Calcul du rectangle contenant l'étiquette d'une arête. More...
 
virtual void applySelectedState (iFigure ifig, Drawing::Element const &el) const
 Modification d'une figure créée pour prendre en compte la caractéristique "sélectionné" de l'objet. More...
 
virtual void applyErrorState (iFigure ifig, Drawing::Element const &el) const
 Modification d'une figure créée pour prendre en compte la caractéristique "en erreur" de l'objet. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Protected Attributes

Color m_brushselected
 Couleur de la brosse pour les objets sélectionnés.
 
Color m_penselected
 Couleur du pinceau pour les objets sélectionnés.
 
Color m_brusherror
 Couleur de la brosse pour les objets en erreur.
 
Color m_penerror
 Couleur du pinceau pour les objets en erreur.
 
- Protected Attributes inherited from cogitantdisplay::Operation
Drawingi_drawing
 Dessin.
 
Contexti_context
 Contexte d'affichage.
 
- Protected Attributes inherited from cogitant::OperationBase
bool m_stop
 Arrêt de l'exécution de l'opération demandé. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::OperationBase
typedef unsigned int Error
 Résultat de la vérification des arguments d'une opération. More...
 
- Static Public Attributes inherited from cogitant::OperationBase
static const Error CHECKOK
 Pas d'erreur. More...
 
static const Error ARGUMENTS
 Certains paramètres de l'opération n'ont pas été fixés. More...
 
static const Error UNUSED
 Symbole d'erreur inutilisé. More...
 

Detailed Description

Opération de dessin d'un élément graphique.

Cette classe abstraite définit une interface pour les opérations de dessin des éléments graphiques. Cette classe doit donc être concrétisée pour définir des opérations effectives de dessin. En plus de méthodes pour le dessin telles que drawElement(), cette classe fournit des fonctions qui permettent d'interroger ou de modifier des propriétés des éléments composant le dessin. Ces fonctions sont plus complètes que celles de Drawing: par exemple les fonctions de modification de position / taille prennent en compte la grille alors que celles de Drawing ne la prennent pas en compte. Ces fonctions peuvent être spécifiques à des sous classes d'OperationDraw (elles sont virtuelles et peuvent donc être redéfinies, ainsi le code redéfini de la sous-classe d'OperationDraw correspondant au type de dessin exact sera utilisé), mais sauf utilisation très particulière, il ne devrait pas être nécessaire de dériver de nouvelles classes à partir d'OperationDraw.

Warning
Cette classe doit dessiner un élément de dessin et non pas un dessin en entier, de cette facon le DrawHandler peut choisir la bonne OperationDraw pour chaque élément de dessin. Le dessin entier par une OperationDraw est toutefois défini et représente tout simplement l'utilisation de cette classe pour tous les éléments.
See also
DrawHandler.

Constructor & Destructor Documentation

◆ OperationDraw() [1/2]

cogitantdisplay::OperationDraw::OperationDraw ( )

Constructeur par défaut.

◆ OperationDraw() [2/2]

cogitantdisplay::OperationDraw::OperationDraw ( Context c,
Drawing d 
)

Constructeur.

Member Function Documentation

◆ addClipping()

virtual void cogitantdisplay::OperationDraw::addClipping ( Drawing::Element const &  el,
Clipping clipping 
) const
virtual

Ajout de la zone correspondant à l'élément graphique.

Parameters
elélément dans le dessin.
clippingzone graphique a laquelle est rajoutée la zone de l'élément graphique (coordonnées relatives à la zone client du parent).

◆ applyErrorState()

virtual void cogitantdisplay::OperationDraw::applyErrorState ( iFigure  ifig,
Drawing::Element const &  el 
) const
protectedvirtual

Modification d'une figure créée pour prendre en compte la caractéristique "en erreur" de l'objet.

◆ applySelectedState()

virtual void cogitantdisplay::OperationDraw::applySelectedState ( iFigure  ifig,
Drawing::Element const &  el 
) const
protectedvirtual

Modification d'une figure créée pour prendre en compte la caractéristique "sélectionné" de l'objet.

◆ canHandle()

bool cogitantdisplay::OperationDraw::canHandle ( Drawing::Element const *  el)
virtual

L'opération peut-elle gérer l'élément ?

Parameters
elpointeur sur l'élément ou NULL si l'opération est interrogée sur sa capacité à gerer le dessin en son entier.
Returns
true ssi l'opération peut être exécutée sur cet élément.

Implements cogitantdisplay::Operation.

◆ drawElement()

virtual iFigure cogitantdisplay::OperationDraw::drawElement ( Drawing::Element const &  el,
Point const &  point,
iFigure  parent 
) const
virtual

Dessin de l'élément.

L'élément est dessiné aux coordonnées de l'objet, auxquelles sont ajoutées celles du point passé en paramètre.

Parameters
elÉlément à dessiner.
pointpoint servant à définir un décalage des coordonnées.
parentidentificateur de la figure parent des figures créées.
Returns
l'identifiant de la figure créée ou IFIGURE_NULL si aucune figure n'a été créée.

◆ getEdgeCoords()

virtual bool cogitantdisplay::OperationDraw::getEdgeCoords ( Drawing::Element const &  el,
Point o,
Point e 
) const
virtual

Calcul des coordonnées de l'arête passée.

Parameters
elélément arête.
opoint origine calculé.
epoint extrémité calculé.
Returns
true si l'arête doit être affichée, false sinon.

◆ getEdgeLabelRect()

virtual bool cogitantdisplay::OperationDraw::getEdgeLabelRect ( Drawing::Element const &  el,
Point const &  o,
Point const &  e,
Rect result 
) const
protectedvirtual

Calcul du rectangle contenant l'étiquette d'une arête.

Parameters
elélément arête.
oorigine de l'arête (doit déjà être calculé).
eextrémité de l'arête (doit déjà être calculé).
resultrectangle contenant l'étiquette.
Returns
true si l'étiquette doit être affichée, false sinon.

◆ inClipping()

virtual bool cogitantdisplay::OperationDraw::inClipping ( Drawing::Element const &  el,
Clipping const &  clipping 
) const
virtual

La zone graphique de l'élément est elle en intersection avec une zone graphique donnée ?

Parameters
elélément dans le dessin.
clippingzone graphique à tester (coordonnées relatives à la zone client du parent).
Returns
true ssi la zone graphique de l'élément a une intersection non vide avec clipping.

◆ isUnder()

virtual bool cogitantdisplay::OperationDraw::isUnder ( Drawing::Element const &  el,
Point const &  point 
) const
virtual

Un point est-il à l'intérieur de la zone graphique de l'élément ?

Parameters
elélément dans le dessin.
pointpoint à tester (coordonnées relatives à la zone client du parent).
Returns
true ssi la zone graphique de l'élément contient point.

◆ rPos() [1/2]

virtual Point cogitantdisplay::OperationDraw::rPos ( Drawing::Element const &  el) const
virtual

Accès aux coordonnées de l'objet (relatives au parent).

◆ rPos() [2/2]

virtual bool cogitantdisplay::OperationDraw::rPos ( Drawing::Element const &  el,
Point const &  p,
bool  usegrid 
)
virtual

Fixe les coordonnées (relatives) de l'objet.

◆ rPosClient()

virtual Point cogitantdisplay::OperationDraw::rPosClient ( Drawing::Element const &  el) const
virtual

Accès aux coordonnées de la zone client de l'objet.

Les coordonnées retournées sont relatives à l'origine de l'objet.

◆ rRect()

virtual Rect cogitantdisplay::OperationDraw::rRect ( Drawing::Element const &  el) const
virtual

Accès au rectangle englobant.

◆ runElement()

void cogitantdisplay::OperationDraw::runElement ( Drawing::Element  el)
virtual

Exécution de l'opération sur un élément.

Parameters
ell'élément en question.

Implements cogitantdisplay::Operation.

◆ size() [1/2]

virtual Size cogitantdisplay::OperationDraw::size ( Drawing::Element const &  el) const
virtual

Accès à la taille de l'objet.

◆ size() [2/2]

virtual bool cogitantdisplay::OperationDraw::size ( Drawing::Element const &  el,
Size const &  s,
bool  usegrid 
)
virtual

Fixe la taille de l'objet.

◆ sizeClient() [1/2]

virtual Size cogitantdisplay::OperationDraw::sizeClient ( Drawing::Element const &  el) const
virtual

Accès à la taille de la zone client de l'élément.

◆ sizeClient() [2/2]

virtual bool cogitantdisplay::OperationDraw::sizeClient ( Drawing::Element const &  el,
Size const &  s,
bool  usegrid 
)
virtual

Fixe la taille de la zone client de l'objet.