Représentation d'un objet dessinable. More...
#include "cogitant/display/drawing.h"
Classes | |
class | Element |
Représentation d'un élément de dessin d'un Drawing. More... | |
class | Iterator |
Représentation de l'état du parcours d'éléments d'un Drawing. More... | |
class | Style |
Représentation d'un style pour un élément d'un dessin. More... | |
Public Member Functions | |
Drawing (Style *stylesheet) | |
Constructeur par défaut. More... | |
virtual | ~Drawing () |
Destructeur. More... | |
virtual Iterator | begin (Iterator::Type type, Element const &arg) const =0 |
Itérateur de début pour un parcours des objets liés ou objets fils. More... | |
Iterator | beginChildren (Element const &arg) const |
Itérateur de début pour un parcours des fils. More... | |
Iterator | beginLinked (Element const &arg) const |
Itérateur de début pour un parcours des objets liés. More... | |
Iterator | beginParent (Element const &arg) const |
Itérateur de début pour un parcours des objets parents. More... | |
Iterator | beginAll () const |
Itérateur de début pour un parcours total. More... | |
Iterator | end () const |
Iterateur incorrect de fin de parcours (quelconque). More... | |
virtual void | next (Iterator &it) const =0 |
Passage à l'itérateur suivant lors d'un parcours. More... | |
virtual Element | ident (Iterator const &it) const =0 |
Calcul de l'élément correspondant à un itérator. More... | |
virtual Element | root () const =0 |
Élément racine (extérieur). More... | |
virtual Element | global () const |
Élément qui contient les propriétés globales. More... | |
virtual cogitant::CogitantObject * | getObjectVar (Element const &it) |
Accès à l'objet correspondant à un élément de dessin. More... | |
virtual cogitant::CogitantObject const * | getObject (Element const &it) const =0 |
Accès à l'objet correspondant à un élément de dessin. More... | |
virtual bool | isEdge (Element const &it, unsigned int *linked=NULL) const =0 |
Accès à la nature de l'élément. More... | |
virtual bool | isSelectable (Element const &el) const |
L'élément est-il sélectionnable. More... | |
virtual unsigned int | edgeSameElements (Element const &el, unsigned int *i=NULL) const |
L'arête a t elle des soeurs. More... | |
virtual cogitant::iSet | getSubId (Element const &it) const |
Accès à l'identificateur de sous-ensemble de propriétés. More... | |
virtual Style::Id | getStyle (Element const &it) const |
Retourne le style de l'élément de dessin. More... | |
virtual Font | getFont (Element const &el) const |
Retourne la fonte correspondant à l'élément de dessin. More... | |
virtual Brush | getBrush (Element const &el) const |
Retourne la brosse correspondant à l'élément de dessin. More... | |
virtual Pen | getPen (Element const &el) const |
Retourne le pinceau correspondant à l'élément de dessin. More... | |
virtual Position | getPosition (Element const &el) const |
Retourne la position des éléments contenus dans un élément de dessin. More... | |
virtual std::string | getLabel (Element const &el) const |
Retourne l'étiquette correspondant à l'élément de dessin. More... | |
virtual bool | getLabelP (Element const &el) const |
Retourne vrai si l'élément de dessin est étiquetté. More... | |
virtual Figure::Style | getFigure (Element const &el) const |
Retourne le type de figure de l'élément de dessin. More... | |
virtual bool | getVisible (Element const &el) const |
L'élément est-il caché ou visible ? Si l'élément n'est pas visible, les fils ne sont pas affichés non plus. More... | |
virtual cogitant::PropertySet const * | getPropertySet (Element const &it) const |
Accès à un ensemble de propriétés pour la lecture/stockage de propriétés d'un élément de dessin. More... | |
virtual cogitant::PropertySet * | getPropertySet (Element const &it) |
Accès à un ensemble de propriétés pour la lecture/stockage de propriétés d'un élément de dessin. More... | |
virtual int | propertyDefined (Element const &el, cogitant::Property::Type tp) const |
La propriété est elle définie pour l'élément ? More... | |
virtual bool | read (Element const &it, std::string const &tp, std::string &value) const |
Accès à la valeur chaîne d'une propriété dont le type est une chaîne. More... | |
virtual bool | read (Element const &it, cogitant::Property::Type tp, unsigned int &value) const |
Accès à la valeur entière d'une propriété. More... | |
virtual bool | read (Element const &it, cogitant::Property::Type tp, std::string &value) const |
Accès à la valeur chaîne d'une propriété. More... | |
virtual bool | read (Element const &it, cogitant::Property::Type tp, std::vector< cogitant::iSet > &value) const |
Accès à la valeur tableau d'entiers d'une propriété. More... | |
virtual void | set (Element const &it, std::string const &tp, std::string const &value) |
Modification de la valeur d'une propriété. More... | |
virtual void | set (Element const &it, cogitant::Property::Type tp, unsigned int value) |
Modification de la valeur d'une propriété. More... | |
virtual void | set (Element const &it, cogitant::Property::Type tp, std::string const &value) |
Modification de la valeur d'une propriété. More... | |
virtual void | set (Element const &it, cogitant::Property::Type tp, std::vector< cogitant::iSet > const &value) |
Modification de la valeur d'une propriété. More... | |
virtual void | remove (Element const &it, cogitant::Property::Type tp) |
Suppression d'une propriété. More... | |
virtual void | remove (Element const &it, std::string const &tp) |
Suppression d'une propriété. More... | |
virtual bool | posDefined (Element const &el) const |
La position de l'objet est elle définie ?. More... | |
virtual bool | sizeDefined (Element const &el) const |
La taille de l'objet est elle définie ?. More... | |
virtual Point | rPos (Element const &el) const |
Accès aux coordonnées de l'objet (relatives au parent). More... | |
virtual Size | size (Element const &el) const |
Accès au rectangle englobant. More... | |
virtual bool | rPos (Element const &el, Point const &p) |
Fixe les coordonnées de l'objet. More... | |
virtual bool | size (Element const &el, Size const &s) |
Fixe la taille de l'objet. More... | |
virtual std::string | name () const |
Nom du dessin. More... | |
Style & | styles () |
Accès au gestionnaire de styles du dessin. More... | |
Public Member Functions inherited from cogitant::CogitantObject | |
CogitantObject () | |
Constructeur. More... | |
CogitantObject (CogitantObject const &o) | |
Constructeur par recopie. More... | |
virtual | ~CogitantObject () |
Destructeur. More... | |
PropertySet * | properties () |
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... | |
CogitantObject & | operator= (CogitantObject const &ob) |
Affectation. More... | |
Static Public Attributes | |
static Style::Id | SID_HIDDEN |
Identificateur de style "caché". More... | |
Protected Attributes | |
Style | m_styles |
Les styles spécifiques au dessin (+ le lien vers la feuille de style parent). | |
Additional Inherited Members | |
Protected Member Functions inherited from cogitant::CogitantObject | |
virtual PropertySet * | allocProperties () const |
Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More... | |
Représentation d'un objet dessinable.
Cette classe fournit toutes les fonctionnalités de parcours et d'interrogation de propriétés d'un objet dessinable. * Par contre, aucune opération de dessin n'est fournie dans cette classe. De plus, cette classe est abstraite et doit être concrétisée pour permettre le dessin d'un graphe, d'un support, etc. Pour définir une sous classe, il faut plus particulièrement redéfinir les méthodes getObject() (accès au CogitantObject contenant les propriétés d'un élément de dessin), getSubId() (accès à l'identificateur du sous ensemble de propriétés du CogitantObject correspondant à l'élément de dessin), begin() (début de parcours) et next() (parcours). Les fonctions de modification de cette classe sont de bas niveau: par exemple, la modification de la position/taille ne prennent pas en compte la grille du dessin, ne cherchent pas à redimensionner le parent, ne mettent pas à jour un Clipping. Pour utiliser des fonctions de plus haut niveau, utiliser les méthodes de OperationDraw ou DrawHandler, telles que DrawHandler::pos() ou DrawHandler::size().
cogitantdisplay::Drawing::Drawing | ( | Style * | stylesheet | ) |
Constructeur par défaut.
stylesheet | la feuille de styles parent des styles locaux. Si NULL, c'est la feuille de style globale (Style::s_styles) qui est utilisée. Elle doit donc être créée avant un appel au constructeur avec NULL. Une telle feuille de style est créée par le constructeur de |
|
virtual |
Destructeur.
|
pure virtual |
Itérateur de début pour un parcours des objets liés ou objets fils.
Iterator cogitantdisplay::Drawing::beginAll | ( | ) | const |
Itérateur de début pour un parcours total.
Itérateur de début pour un parcours des fils.
Itérateur de début pour un parcours des objets liés.
Itérateur de début pour un parcours des objets parents.
|
virtual |
L'arête a t elle des soeurs.
Dans le cas où il existe plusieurs arêtes entre deux éléments, il est nécessaire de connaitre ce nombre pour afficher les arêtes à des coordonnées différentes.
el | élément représentant l'arête. |
i | (R) indice de l'élément parmi ses soeurs. |
Iterator cogitantdisplay::Drawing::end | ( | ) | const |
Iterateur incorrect de fin de parcours (quelconque).
Retourne la brosse correspondant à l'élément de dessin.
|
virtual |
Retourne le type de figure de l'élément de dessin.
Retourne la fonte correspondant à l'élément de dessin.
|
virtual |
Retourne l'étiquette correspondant à l'élément de dessin.
Reimplemented in cogitantdisplay::DrawingGraph.
|
virtual |
Retourne vrai si l'élément de dessin est étiquetté.
Cette méthode n'est pas indispensable puisqu'il est possible d'utiliser toujours getLabel(). D'ailleurs, l'implémentation par défaut de cette méthode est justement un appel à getLabel() et une comparaison de la chaine résultat avec la chaine vide. Mais il est possible de redéfinir cette méthode pour un traitement plus rapide, car certaines opérations ont besoin de déterminer si un élément de dessin est étiquetté ou pas, peu importe la valeur de l'étiquette (qui peut être coûteuse à calculer).
Reimplemented in cogitantdisplay::DrawingGraph.
|
pure virtual |
Accès à l'objet correspondant à un élément de dessin.
Implemented in cogitantdisplay::DrawingNull, and cogitantdisplay::DrawingGraph.
|
virtual |
Accès à l'objet correspondant à un élément de dessin.
Retourne le pinceau correspondant à l'élément de dessin.
Retourne la position des éléments contenus dans un élément de dessin.
|
virtual |
Accès à un ensemble de propriétés pour la lecture/stockage de propriétés d'un élément de dessin.
Retourne l'ensemble de propriétés utilisé pour le stockages des propriétés correspodant à l'itérateur. Il peut s'agir de l'ensemble de propriétés d'un cogitant::CogitantObject ou d'un sous ensemble de propriétés.
|
virtual |
Accès à un ensemble de propriétés pour la lecture/stockage de propriétés d'un élément de dessin.
Retourne l'ensemble de propriétés utilisé pour le stockages des propriétés correspodant à l'itérateur. Il peut s'agir de l'ensemble de propriétés d'un cogitant::CogitantObject ou d'un sous ensemble de propriétés.
Retourne le style de l'élément de dessin.
Le style est utilisé pour déterminer les valeurs par défaut des propriétés de l'élément de dessin (celles qui ne sont pas définies dans l'ensemble de propriétés getPropertySet()). Un style repère en fait un ensemble de propriétés (associé au Drawing pour l'instant), et contient au moins le type de figure (ligne, rectangle, ellipse)).
Reimplemented in cogitantdisplay::DrawingGraph.
|
virtual |
Accès à l'identificateur de sous-ensemble de propriétés.
Cette méthode doit être utilisée conjointement à getObject() pour obtenir le CogitantObject et l'identificateur de sous ensemble de propriétés à utiliser pour les propriétés de l'élément de dessin repéré par it.
Reimplemented in cogitantdisplay::DrawingGraph.
|
virtual |
L'élément est-il caché ou visible ? Si l'élément n'est pas visible, les fils ne sont pas affichés non plus.
Par défaut, cette méthode utilise la propriété Property::DISPLAY_HIDDEN.
|
virtual |
Élément qui contient les propriétés globales.
Cet élément porte les propriétés globales (grille par exemple), il ne s'agit pas obligatoirement de l'élément racine, même si il s'agit de la racine par défaut. Cet élément ne figure pas obligatoirement dans un parcours de tous les éléments d'un dessin (par begin(), end()).
Reimplemented in cogitantdisplay::DrawingGraph.
Calcul de l'élément correspondant à un itérator.
Implemented in cogitantdisplay::DrawingNull, and cogitantdisplay::DrawingGraph.
Referenced by cogitantdisplay::Drawing::Iterator::operator*().
|
pure virtual |
Accès à la nature de l'élément.
true
ssi l'élément est une arête. Dans ce cas, et si l'élément est lié à deux autres éléments, la modification de la position/taille des éléments liés (les sommets) entraîne la modification de la position de l'élément (arête). Au contraire, si l'élément n'est pas une arête (c'est à dire un sommet), la modification de la position/taille des élément liés (arêtes) n'entraîne pas de modification de la position de l'élément (sommet). it | élément dont la nature est interrogée. |
linked | si un pointeur non NULL est passé et que l'élément est effectivement une arête, alors *linked contient en sortie le nombre d'éléments liés à cette arête. |
Implemented in cogitantdisplay::DrawingNull, and cogitantdisplay::DrawingGraph.
|
virtual |
L'élément est-il sélectionnable.
Reimplemented in cogitantdisplay::DrawingGraph.
|
virtual |
Nom du dessin.
Par défaut, cette méthode retourne une chaîne vide. Elle peut être redéfinie dans les sous-classes.
Reimplemented in cogitantdisplay::DrawingGraph.
|
pure virtual |
Passage à l'itérateur suivant lors d'un parcours.
Implemented in cogitantdisplay::DrawingNull, and cogitantdisplay::DrawingGraph.
Referenced by cogitantdisplay::Drawing::Iterator::operator++().
|
virtual |
La position de l'objet est elle définie ?.
|
virtual |
La propriété est elle définie pour l'élément ?
|
virtual |
Accès à la valeur chaîne d'une propriété dont le type est une chaîne.
true
si une propriété de type tp est trouvée dans les propriétés spécifiques à l'élément de dessin, false
s'il s'agit de la valeur par défaut. Dans les deux cas, la valeur est contenue dans value).
|
virtual |
Accès à la valeur entière d'une propriété.
true
si une propriété de type tp est trouvée dans les propriétés spécifiques à l'élément de dessin, false
s'il s'agit de la valeur par défaut. Dans les deux cas, la valeur est contenue dans value).
|
virtual |
Accès à la valeur chaîne d'une propriété.
true
si une propriété de type tp est trouvée dans les propriétés spécifiques à l'élément de dessin, false
s'il s'agit de la valeur par défaut. Dans les deux cas, la valeur est contenue dans value).
|
virtual |
Accès à la valeur tableau d'entiers d'une propriété.
true
si une propriété de type tp est trouvée dans les propriétés spécifiques à l'élément de dessin, false
s'il s'agit de la valeur par défaut. Dans les deux cas, la valeur est contenue dans value).
|
virtual |
Suppression d'une propriété.
|
virtual |
Suppression d'une propriété.
|
pure virtual |
Élément racine (extérieur).
Cet élément est celui qui sert à démarrer le dessin.
Implemented in cogitantdisplay::DrawingNull, and cogitantdisplay::DrawingGraph.
Accès aux coordonnées de l'objet (relatives au parent).
Fixe les coordonnées de l'objet.
Les coordonnées sont simplement modifiées pour l'objet, aucune mise à jour des voisins / parent n'est effectuée. Retourne true ssi les coordonnées ont été modifiées.
|
virtual |
Modification de la valeur d'une propriété.
|
virtual |
Modification de la valeur d'une propriété.
|
virtual |
Modification de la valeur d'une propriété.
|
virtual |
Modification de la valeur d'une propriété.
Accès au rectangle englobant.
Fixe la taille de l'objet.
Retourne true ssi la taille a été modifiée.
|
virtual |
La taille de l'objet est elle définie ?.
Style& cogitantdisplay::Drawing::styles | ( | ) |
Accès au gestionnaire de styles du dessin.
|
static |
Identificateur de style "caché".