Tableur C++  1.0
API de tableur + interprète bison en ligne de commande
RefRelativeCol.h
1 /*
2  * RefRelativeCol.h
3  *
4  * Created on: 2 avr. 2015
5  * Author: michel
6  */
7 
8 #ifndef REFRELATIVECol_H_
9 #define REFRELATIVECol_H_
10 
11 #include "Expression.h"
12 #include "Reference.h"
13 #include "Cellule.h"
14 #include "ValVide.h"
15 #include "Feuille.h"
16 #include "Ref.h"
17 
18 namespace modele {
19 
20 class RefRelativeCol: public Ref {
21 private:
22  Reference *pref;
23  int deplCol;
24  int ligne;
25 public:
26  RefRelativeCol(Reference * pr,int l,int dc):pref(pr),deplCol(dc),ligne(l) {
27  // TODO Auto-generated constructor stub
28 
29  }
30 
32  Feuille *f=pref->getFeuille(); // feuille courante
33  Reference *r=new Reference(ligne,pref->getColonne()+deplCol, f); // réf absolue
34  Cellule * c = f->getCellule(*r);
35  if (c == NULL)
36  return new ValVide(); // valeur nulle
37  else
38  return c->calculer();
39  }
40 
41  Reference toAbsolue(){
42  int c=pref->getColonne()+deplCol;
43  return Reference(ligne,c,pref->getFeuille());
44  }
45  std::string toString(){
46  return toAbsolue().toString();
47  }
48 
50  return new RefRelativeCol(*this);
51  }
53  pref=r;
54  }
55  ~RefRelativeCol() {
56  // TODO Auto-generated destructor stub
57  }
58 };
59 
60 } /* namespace modele */
61 
62 #endif /* REFRELATIVECol_H_ */
La classe abstraite Valeur représente une valeur parmi : ValErreur, ValDouble, ValChaine, ValVide.
Definition: Valeur.h:19
Classe abstraite parent de Reference (absolue), RefRelative, RefRelativeLigne, RefRelativeCol.
Definition: Ref.h:18
std::string toString()
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: RefRelativeCol.h:45
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
Cellule * getCellule(const Reference r)
Méthode getCellule.
Definition: Feuille.cpp:28
Definition: RefRelativeCol.h:20
Definition: Argument.cpp:10
void majRefRelatives(Reference *r)
destructeur virtuel impur : seul le destructeur de l'hérité sera appelé
Definition: RefRelativeCol.h:52
Expression * clone()
Clonage arborescent d'une expression.
Definition: RefRelativeCol.h:49
Valeur * calculer()
Méthode virtuelle pure calculant la valeur de l'expression (arbre)
Definition: RefRelativeCol.h:31
La classe Expression représente la classe ABSTRAITE racine de la hiérachie des noeuds calculables de ...
Definition: Expression.h:25
une Cellule ne peut exister en dehors de sa feuille : lors de sa construction, elle est automatiqueme...
Definition: Cellule.h:23
La classe Feuille permet de rassembler des cellules.
Definition: Feuille.h:31
std::string toString()
Méthode virtuelle pure retournant une chaîne représentant l'expression (arbre)
Definition: Reference.cpp:54
La classe ValVide représente une Valeur Vide.
Definition: ValVide.h:19