PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
ProgressBarr Class Reference

classe qui permet d'afficher une barre de chargement dans la console More...

#include <ProgressBarr.h>

Public Member Functions

void finish ()
 affiche la barre de chargement finie More...
 
char getChEnd () const
 retourne le charactère de remplissage de la barre vide More...
 
char getChMiddle () const
 retourne le charactère au bout de la ligne de remplissage More...
 
char getChPlein () const
 retourne le caractère de remplissage More...
 
size_t getMax () const
 retourne la valeur max atteinte par la barre More...
 
size_t getSize () const
 retourne la taille maximale de la barre More...
 
ProgressBarroperator= (const ProgressBarr &progressBarr)
 redéfinition de l'opérateur = More...
 
void progress (size_t avencement)
 fonction qui fait avancer (ou reculer) la barre de chargement More...
 
 ProgressBarr (const ProgressBarr &progressBarr)
 constreucteur de copie de la barre de progression More...
 
 ProgressBarr (size_t max=100, size_t size=100, char chPlein='=', char chMiddle='>', char chEnd=' ')
 constructeur de la barre de progression en console More...
 
void setChEnd (char chEnd)
 init le charactère de remplissage de la barre vide More...
 
void setChMiddle (char chMiddle)
 init le charactère au bout de la ligne de remplissage More...
 
void setChPlein (char chPlein)
 init le caractère de remplissage More...
 
void setMax (size_t max)
 init la valeur max atteinte par la barre More...
 
void setSize (size_t size)
 init la taille de la barre More...
 
virtual ~ProgressBarr ()
 destructeur de la barre de progression More...
 

Protected Member Functions

void clear ()
 fonction qui efface la barre de chargement More...
 
void copy (const ProgressBarr &progressBarr)
 fonction qui copie la barre de chargement More...
 
void feelbuffer (size_t taille)
 affiche la barre de chargement More...
 

Protected Attributes

char * p_buffer
 tampon pour l'affichage More...
 
char p_chEnd
 charactère de remplissage de la barre vide More...
 
char p_chMiddle
 charactère au bout de la ligne de remplissage More...
 
char p_chPlein
 caractère de remplissage More...
 
size_t p_max
 valeur maximale atteinte par le chargement More...
 
size_t p_old_taille
 ancienne taille de la barre de chargement More...
 
size_t p_size
 taille maximale de la barre de chargement More...
 

Private Member Functions

void init (size_t max, size_t size, char chPlein, char chMiddle, char chEnd)
 Initialisation de la barre de progression en console. More...
 

Detailed Description

classe qui permet d'afficher une barre de chargement dans la console

Definition at line 14 of file ProgressBarr.h.

Constructor & Destructor Documentation

◆ ProgressBarr() [1/2]

ProgressBarr::ProgressBarr ( size_t  max = 100,
size_t  size = 100,
char  chPlein = '=',
char  chMiddle = '>',
char  chEnd = ' ' 
)

constructeur de la barre de progression en console

Parameters
max: valeur maximale atteinte par barre de progression pleine
size: taille de la barre de chargement
chPlein: charactère de remplissage de la barre plein
chMiddle: charactère au bout de la ligne de remplissage
chEnd: charactère de remplissage de la barre vide

Definition at line 19 of file ProgressBarr.cpp.

19  {
20  init(max, size, chPlein, chMiddle, chEnd);
21 }

◆ ProgressBarr() [2/2]

ProgressBarr::ProgressBarr ( const ProgressBarr progressBarr)

constreucteur de copie de la barre de progression

Parameters
progressBarr: barre de progression à copier

Definition at line 27 of file ProgressBarr.cpp.

27  {
28  p_buffer = NULL;
29  copy(progressBarr);
30 }

◆ ~ProgressBarr()

ProgressBarr::~ProgressBarr ( )
virtual

destructeur de la barre de progression

Definition at line 33 of file ProgressBarr.cpp.

33  {
34  if(p_buffer != NULL){
35  delete[] p_buffer;
36  }
37 }

Member Function Documentation

◆ clear()

void ProgressBarr::clear ( )
protected

fonction qui efface la barre de chargement

Definition at line 192 of file ProgressBarr.cpp.

192  {
193  for(size_t i = 0; i < p_size; ++i){
194  p_buffer[i] = '\r';
195  }
196  p_buffer[p_size] = '\0';
197 }

◆ copy()

void ProgressBarr::copy ( const ProgressBarr progressBarr)
protected

fonction qui copie la barre de chargement

Parameters
progressBarr: barre de chargement à copier

Definition at line 162 of file ProgressBarr.cpp.

162  {
163  if(p_buffer != NULL){
164  delete [] p_buffer;
165  }
166  p_buffer = new char[progressBarr.p_size + 1]; //on pense au caractère \0
167  p_size = progressBarr.p_size;
168  p_max = progressBarr.p_max;
169  p_chPlein = progressBarr.p_chPlein;
170  p_chMiddle = progressBarr.p_chMiddle;
171  p_chEnd = progressBarr.p_chEnd;
172  p_old_taille = progressBarr.p_old_taille;
173 }

References p_chEnd, p_chMiddle, p_chPlein, p_max, p_old_taille, and p_size.

◆ feelbuffer()

void ProgressBarr::feelbuffer ( size_t  taille)
protected

affiche la barre de chargement

Parameters
taille: taille de la barre à afficher

Definition at line 178 of file ProgressBarr.cpp.

178  {
179  if(taille <= p_size){
180  for(size_t i = 0; i < taille; ++i){
181  p_buffer[i] = p_chPlein;
182  }
183  p_buffer[taille] = p_chMiddle;
184  }
185  for(size_t i = taille + 1; i < p_size; ++i){
186  p_buffer[i] = p_chEnd;
187  }
188  p_buffer[p_size] = '\0';
189 }

◆ finish()

void ProgressBarr::finish ( )

affiche la barre de chargement finie

Definition at line 129 of file ProgressBarr.cpp.

129  {
130  progress(p_max);
131  cout << endl;
132 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ getChEnd()

char ProgressBarr::getChEnd ( ) const

retourne le charactère de remplissage de la barre vide

Returns
charactère de remplissage de la barre vide

Definition at line 89 of file ProgressBarr.cpp.

89  {
90  return p_chEnd;
91 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ getChMiddle()

char ProgressBarr::getChMiddle ( ) const

retourne le charactère au bout de la ligne de remplissage

Returns
charactère au bout de la ligne de remplissage

Definition at line 82 of file ProgressBarr.cpp.

82  {
83  return p_chMiddle;
84 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ getChPlein()

char ProgressBarr::getChPlein ( ) const

retourne le caractère de remplissage

Returns
caractère de remplissage

Definition at line 75 of file ProgressBarr.cpp.

75  {
76  return p_chPlein;
77 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ getMax()

size_t ProgressBarr::getMax ( ) const

retourne la valeur max atteinte par la barre

Returns
valeur max atteinte par la barre

Definition at line 61 of file ProgressBarr.cpp.

61  {
62  return p_max;
63 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ getSize()

size_t ProgressBarr::getSize ( ) const

retourne la taille maximale de la barre

Returns
taille maximale de la barre

Definition at line 68 of file ProgressBarr.cpp.

68  {
69  return p_size;
70 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ init()

void ProgressBarr::init ( size_t  max,
size_t  size,
char  chPlein,
char  chMiddle,
char  chEnd 
)
private

Initialisation de la barre de progression en console.

Parameters
max: valeur maximale atteinte par barre de progression pleine
size: taille de la barre de chargement
chPlein: charactère de remplissage de la barre plein
chMiddle: charactère au bout de la ligne de remplissage
chEnd: charactère de remplissage de la barre vide

Definition at line 149 of file ProgressBarr.cpp.

149  {
150  p_buffer = new char[size + 1lu];
151  p_size = size;
152  p_max = max;
153  p_chPlein = chPlein;
154  p_chMiddle = chMiddle;
155  p_chEnd = chEnd;
156  p_old_taille = 0lu;
157 }

◆ operator=()

ProgressBarr & ProgressBarr::operator= ( const ProgressBarr progressBarr)

redéfinition de l'opérateur =

Parameters
progressBarr: barre de chargement à copier

Definition at line 137 of file ProgressBarr.cpp.

137  {
138  copy(progressBarr);
139  return *this;
140 }

◆ progress()

void ProgressBarr::progress ( size_t  avencement)

fonction qui fait avancer (ou reculer) la barre de chargement

Parameters
avencement: avencement de la barre (plus petit ou égal à max)

Definition at line 43 of file ProgressBarr.cpp.

43  {
44  size_t taille = (avencement*p_size)/p_max;
45  if(p_old_taille != taille){
46  int pourcent = (avencement*100)/p_max;
47  //on efface la ligne de la console où il y a la barre de chargement
48  clear();
49  cerr << "\r" << p_buffer << "\r\r\r\r";
50  //on affiche la barre de chargement
51  feelbuffer(taille);
52  cerr << "[" << p_buffer << "|" << pourcent << "%]";
53  //on met old_taille à jour
54  p_old_taille = taille;
55  }
56 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ setChEnd()

void ProgressBarr::setChEnd ( char  chEnd)

init le charactère de remplissage de la barre vide

Parameters
chEnd: charactère de remplissage de la barre vide

Definition at line 124 of file ProgressBarr.cpp.

124  {
125  p_chEnd = chEnd;
126 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ setChMiddle()

void ProgressBarr::setChMiddle ( char  chMiddle)

init le charactère au bout de la ligne de remplissage

Parameters
chMiddle: charactère au bout de la ligne de remplissage

Definition at line 117 of file ProgressBarr.cpp.

117  {
118  p_chMiddle = chMiddle;
119 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ setChPlein()

void ProgressBarr::setChPlein ( char  chPlein)

init le caractère de remplissage

Parameters
chPlein: caractère de remplissage

Definition at line 110 of file ProgressBarr.cpp.

110  {
111  p_chPlein = chPlein;
112 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ setMax()

void ProgressBarr::setMax ( size_t  max)

init la valeur max atteinte par la barre

Parameters
max: valeur max atteinte par la barre

Definition at line 96 of file ProgressBarr.cpp.

96  {
97  p_max = max;
98 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

◆ setSize()

void ProgressBarr::setSize ( size_t  size)

init la taille de la barre

Parameters
size: taille de la barre de chargement pleine

Definition at line 103 of file ProgressBarr.cpp.

103  {
104  p_size = size;
105 }

Referenced by testProgressBar().

+ Here is the caller graph for this function:

Member Data Documentation

◆ p_buffer

char* ProgressBarr::p_buffer
protected

tampon pour l'affichage

Definition at line 46 of file ProgressBarr.h.

◆ p_chEnd

char ProgressBarr::p_chEnd
protected

charactère de remplissage de la barre vide

Definition at line 58 of file ProgressBarr.h.

Referenced by copy().

◆ p_chMiddle

char ProgressBarr::p_chMiddle
protected

charactère au bout de la ligne de remplissage

Definition at line 56 of file ProgressBarr.h.

Referenced by copy().

◆ p_chPlein

char ProgressBarr::p_chPlein
protected

caractère de remplissage

Definition at line 54 of file ProgressBarr.h.

Referenced by copy().

◆ p_max

size_t ProgressBarr::p_max
protected

valeur maximale atteinte par le chargement

Definition at line 50 of file ProgressBarr.h.

Referenced by copy().

◆ p_old_taille

size_t ProgressBarr::p_old_taille
protected

ancienne taille de la barre de chargement

Definition at line 52 of file ProgressBarr.h.

Referenced by copy().

◆ p_size

size_t ProgressBarr::p_size
protected

taille maximale de la barre de chargement

Definition at line 48 of file ProgressBarr.h.

Referenced by copy().


The documentation for this class was generated from the following files:
ProgressBarr::init
void init(size_t max, size_t size, char chPlein, char chMiddle, char chEnd)
Initialisation de la barre de progression en console.
Definition: ProgressBarr.cpp:149
ProgressBarr::p_chMiddle
char p_chMiddle
charactère au bout de la ligne de remplissage
Definition: ProgressBarr.h:56
ProgressBarr::p_max
size_t p_max
valeur maximale atteinte par le chargement
Definition: ProgressBarr.h:50
ProgressBarr::p_size
size_t p_size
taille maximale de la barre de chargement
Definition: ProgressBarr.h:48
ProgressBarr::p_chPlein
char p_chPlein
caractère de remplissage
Definition: ProgressBarr.h:54
ProgressBarr::copy
void copy(const ProgressBarr &progressBarr)
fonction qui copie la barre de chargement
Definition: ProgressBarr.cpp:162
ProgressBarr::p_old_taille
size_t p_old_taille
ancienne taille de la barre de chargement
Definition: ProgressBarr.h:52
ProgressBarr::progress
void progress(size_t avencement)
fonction qui fait avancer (ou reculer) la barre de chargement
Definition: ProgressBarr.cpp:43
ProgressBarr::feelbuffer
void feelbuffer(size_t taille)
affiche la barre de chargement
Definition: ProgressBarr.cpp:178
ProgressBarr::clear
void clear()
fonction qui efface la barre de chargement
Definition: ProgressBarr.cpp:192
ProgressBarr::p_buffer
char * p_buffer
tampon pour l'affichage
Definition: ProgressBarr.h:46
ProgressBarr::p_chEnd
char p_chEnd
charactère de remplissage de la barre vide
Definition: ProgressBarr.h:58