14 #include "Expression.h"
16 #include "Reference.h"
33 Plage(
Feuille *f,
Ref *rg,
Ref *rd) : feuille(f), gauche(rg), droite(rd), ga(rg->toAbsolue()), da(rd->toAbsolue()) {
44 bool estCalculable(){
return false; }
62 ga=gauche->toAbsolue();
63 da=droite->toAbsolue();
84 const Reference& getDa()
const {
88 const Reference& getGa()
const {
107 Iterator(
Plage *p) : pplage(p),courante(p->getGa()),incColonne(0),incLigne(0) {
108 int diffligne=p->getDa().getLigne() - p->getGa().getLigne();
114 int diffcol=p->getDa().getColonne() - p->getGa().getColonne();
124 courante.setColonne(pplage->getGa().getColonne());
125 courante.setLigne(pplage->getDa().getLigne()+incLigne);
130 Iterator(
const Iterator& it) : pplage(it.pplage), courante(it.courante), incColonne(it.incColonne), incLigne(it.incLigne){}
137 if(courante.getColonne()==pplage->getGa().getColonne()&&courante.getLigne()==pplage->getDa().getLigne()+incLigne){
140 }
else if (courante.getColonne()!=pplage->getDa().getColonne()){
141 courante.setColonne(courante.getColonne()+incColonne);
144 courante.setColonne(pplage->getGa().getColonne());
145 courante.setLigne(courante.getLigne()+incLigne);
Itérateur de plage permettant de parcourir l'ensemble des références absolues désignées par une Plage...
Definition: Plage.h:96
Classe abstraite parent de Reference (absolue), RefRelative, RefRelativeLigne, RefRelativeCol.
Definition: Ref.h:18
Référence absolue de cellule définie par un numéro de ligne [1..16384], un numéro de colonne [1...
Definition: Reference.h:24
Iterator(Plage *p)
Constructeur d'un itérateur de plage : la position courante est initialisée sur la référence absolue ...
Definition: Plage.h:107
virtual std::string toString()=0
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: Argument.cpp:10
Iterator & operator++()
Opérateur de pré-incrémentation d'un itérateur de plage : on avance d'abord sur la ligne courante à l...
Definition: Plage.h:136
void vaALaFin()
positionne l'itérateur (référence courante) sur la fin : fin(A1:B2)=A3
Definition: Plage.h:123
Definition: Argument.h:16
void majRefRelatives(Reference *r)
Lors du collage du presse-papier, les références relatives doivent être mises à jour en fonction de l...
Definition: Plage.h:59
Iterator begin()
retourne un itérateur de plage pointant sur la première référence de la plage (à gauche du :)...
Definition: Plage.h:68
Iterator(const Iterator &it)
constructeur par recopie
Definition: Plage.h:130
Argument * clone()
Clonage d'une plage.
Definition: Plage.h:48
Iterator operator++(int)
Opérateur de post-incrémentation d'un itérateur de plage : on avance d'abord sur la ligne courante à ...
Definition: Plage.h:154
Reference & operator*()
Déréférencement de l'itérateur qui pointe sur une référence absolue.
Definition: Plage.h:168
La classe Feuille permet de rassembler des cellules.
Definition: Feuille.h:31
bool operator!=(const Iterator &d)
Opérateur "différent de" vérifiant que les deux références courantes de sont différentes.
Definition: Plage.h:164
virtual void majRefRelatives(Reference *r)
destructeur virtuel impur : seul le destructeur de l'hérité sera appelé
Definition: Expression.h:50
Iterator end()
retourne un itérateur de plage pointant sur la position après la dernière référence valide de la plag...
Definition: Plage.h:74
std::string toString()
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: Plage.h:52