@@ -302,7 +302,10 @@ void MainWindow::on_nbPile(int n){
302
302
303
303
void MainWindow::on_commit (){
304
304
if (ui->Afficheur ->text ().isEmpty ())
305
+ {
305
306
on_dup ();
307
+ instancePile->getGardien ()->addMemento (instancePile);
308
+ }
306
309
else {
307
310
parser ();
308
311
ui->Afficheur ->clear ();
@@ -381,29 +384,42 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
381
384
void MainWindow::on_swap (){
382
385
ui->Afficheur ->insert (" SWAP" );
383
386
instancePile->swap (1 ,2 );
387
+ instancePile->getGardien ()->addMemento (instancePile);
384
388
refresh ();
385
389
}
386
390
void MainWindow::on_sum (){
387
391
ui->Afficheur ->insert (" SUM" );
388
392
// instancePile->sum(10);
393
+ instancePile->getGardien ()->addMemento (instancePile);
389
394
refresh ();
390
395
}
391
396
void MainWindow::on_dup (){
392
- instancePile->dup ();
393
- refresh ();
397
+ if (!(instancePile->pileVide ()))
398
+ {
399
+ instancePile->dup ();
400
+ instancePile->getGardien ()->addMemento (instancePile);
401
+ // Régler le problème gardien <-> dup
402
+ refresh ();
403
+ }
394
404
}
395
405
void MainWindow::on_mean (){
396
406
ui->Afficheur ->insert (" MEAN" );
397
407
// instancePile->mean(10);
408
+ instancePile->getGardien ()->addMemento (instancePile);
398
409
refresh ();
399
410
}
400
411
void MainWindow::on_clear (){
401
412
instancePile->clear ();
413
+ instancePile->getGardien ()->addMemento (instancePile);
402
414
refresh ();
403
415
}
404
416
void MainWindow::on_drop (){
405
- instancePile->drop ();
406
- refresh ();
417
+ if (!(instancePile->pileVide ()))
418
+ {
419
+ instancePile->drop ();
420
+ instancePile->getGardien ()->addMemento (instancePile);
421
+ refresh ();
422
+ }
407
423
}
408
424
409
425
MainWindow::~MainWindow (){
@@ -480,6 +496,7 @@ void refresh_complexe(Ui::MainWindow *ui){
480
496
}
481
497
482
498
// fonctions de récupération ou suppression d'historique
499
+ // quelque part parmi elles, s'occuper de récupérer le gardien? Ou au moins en faire un nouveau
483
500
484
501
void MainWindow::InitParam (){
485
502
std::ifstream fichier (" sauvegarde_CooCoo.txt" , std::ios::in); // Ouverture en lecture du fichier de sauvegarde
0 commit comments