void ASSISTANT::PagePre() { qDebug() << "Dans PagePre"; if(liste) { disconnect(this); disconnect(page(lect),0,0,0); page(lect)->close(); qDebug() << "Lect = " <<lect; if(lect-1) { disconnect(this,0,0,0); disconnect(page(lect),0,0,0); lect--; QObject::connect(page(lect), SIGNAL(precedent()), this, SLOT(PagePre())); qDebug() << "Connexion Suivant, il est " << QTime::currentTime().toString("HH:mm::ss"); QObject::connect(page(lect), SIGNAL(suivant()), this, SLOT(PageSuiv())); page(lect)->show(); } else { disconnect(this,0,0,0); QObject::connect(page(lect), SIGNAL(precedent()), this, SLOT(Fermer())); qDebug() << "Connexion Suivant, il est " << QTime::currentTime().toString("HH:mm::ss"); QObject::connect(page(lect), SIGNAL(suivant()), this, SLOT(PageSuiv())); qDebug() << "Show"; page(lect)->show(); qDebug() << "Après Show"; } } }
void Liste::effacer() ///< efface l'element courant de la liste { //precedent() =>> 0 = worked, 1 = Vide, 2 = debut, -1 = erreur Objet* temp = p_courant; if (p_courant == p_dernier) { int resultat = precedent(); //Liste de plus de 1 element if (resultat == 0) { p_courant->set_lien(NULL); delete temp; temp = NULL; p_longueur--; p_dernier = p_courant; } //Liste Vide else if (resultat == 1) { cout << "Rien a effacer, Liste vide" << endl; } //Juste 1 element, la liste devient vide else if (resultat == 2) { p_head = NULL; delete temp; temp = NULL; p_courant = NULL; p_dernier = NULL; p_longueur--; } else cout << "Erreur dans precedent()" << endl; } else { int resultat = precedent(); if (resultat == 0) { p_courant->set_lien(temp->get_lien()); delete temp; p_longueur--; } else if (resultat == 1) { cout << "Rien a effacer, Liste vide" << endl; } else if (resultat == 2) { p_head = p_courant->get_lien(); delete p_courant; p_courant = p_head; p_longueur--; } else cout << "Erreur dans precedent()" << endl; } }
//les actions void MNotePad::creerAction() { a_nouveauTab = new QAction(QIcon("images/nouveau.png"),tr("nouveau"),this); a_nouveauTab->setShortcut(tr("Ctrl+N")); connect(a_nouveauTab,SIGNAL(triggered()),this,SLOT(nouveauTab())); a_ouvrirTab = new QAction(QIcon("images/ouvrir.png"),tr("ouvrir"),this); a_ouvrirTab->setShortcut(tr("Ctrl+O")); connect(a_ouvrirTab,SIGNAL(triggered()),this,SLOT(ouvrirTab())); a_saveTab = new QAction(QIcon("images/save.png"),tr("save"),this); a_saveTab->setShortcut(tr("Ctrl+S")); connect(a_saveTab,SIGNAL(triggered()),this,SLOT(saveTab())); a_fermerTab = new QAction(tr("fermer"),this); a_fermerTab->setShortcut(tr("Ctrl+W")); connect(a_fermerTab,SIGNAL(triggered()),this,SLOT(fermerTab())); a_quitter = new QAction(QIcon("images/quitter.png"),tr("quitter"),this); a_quitter->setShortcut(tr("Ctrl+Q")); connect(a_quitter,SIGNAL(triggered()),qApp,SLOT(quit())); a_precedent = new QAction(QIcon("images/precedent.png"),tr("precedent"),this); a_precedent->setShortcut(tr("Ctrl+Z")); connect(a_precedent,SIGNAL(triggered()),this,SLOT(precedent())); a_suivant = new QAction(QIcon("images/suivant.png"),tr("suivant"),this); a_suivant->setShortcut(tr("Ctrl+F")); connect(a_suivant,SIGNAL(triggered()),this,SLOT(suivant())); a_font = new QAction(QIcon("images/font.png"),tr("font"),this); connect(a_font,SIGNAL(triggered()),this,SLOT(font())); a_apropos = new QAction(QIcon("images/apropos.png"),tr("A propos"),this); connect(a_apropos,SIGNAL(triggered()),this,SLOT(apropos())); a_aproposQt = new QAction(QIcon("images/aproposQt.png"),tr("A propos de Qt"),this); connect(a_aproposQt,SIGNAL(triggered()),qApp,SLOT(aboutQt())); }
// parcours inverse : du dernier vers le premier void parcoursListeSymI (ListeS* ls, void (*f) (Objet*)) { if (listeVide(ls)) { printf ("Liste symétrique vide\n"); } else { Element* ptc = dernier (ls); while (ptc != NULL) { f (ptc->reference); ptc = precedent (ptc); } } }
void oter_elt(void) /* Supprime l'elt courant et positionne sur le precedent */ { t_element * element_courant; element_courant = ec; (ec->pred)->succ = ec->succ; (ec->succ)->pred = ec->pred; element_courant = ec; precedent(); free(element_courant); }
void ASSISTANT::PageSuiv() { qDebug() << "Dans PageSuiv"; page(lect)->close(); disconnect(page(lect),0,0,0); if(page(lect)->terminer) { QObject::connect(page(lect), SIGNAL(suivant()), this, SLOT(Fermer()));} else {lect++; QObject::connect(page(lect+1), SIGNAL(precedent()), this, SLOT(PagePre())); QObject::connect(page(lect+1), SIGNAL(suivant()), this, SLOT(PageSuiv())); page(lect)->show(); } }
void ASSISTANT::Ouvrir() { qDebug() << "Dans Ouvrir"; qDebug() << "Lect = " <<lect; if(liste) { QObject::connect(page(lect), SIGNAL(precedent()), this, SLOT(Fermer())); if(page(lect)->terminer) { QObject::connect(page(lect), SIGNAL(suivant()), this, SLOT(Fermer()));} else { QObject::connect(page(lect), SIGNAL(suivant()), this, SLOT(PageSuiv())); } page(lect)->show(); } }
void supprimer(void) /* Supprime toutes les occurrences d'un entier lu au clavier */ { int valeur; int valeur_actuelle; if(liste_vide()) { printf("La liste est vide\n"); } else { printf("\nEntrez l'entier a supprimer dans la liste : "); scanf("%i", &valeur); en_queue(); while(!hors_liste()) { valeur_elt(&valeur_actuelle); if(valeur_actuelle == valeur) { oter_elt(); } else { precedent(); } } } }
void PixEditor::addMenu() { //Fichier precedent_action=new QAction(tr("&Precedent"),this); precedent_action->setIcon(QIcon("./icones/precedent.jpg")); precedent_action->setStatusTip(tr("Precedent")); QObject::connect(precedent_action,SIGNAL(triggered()),&widgetcentral,SLOT(precedent())); // nouveau_action = new QAction(tr("&Nouveau"), this); nouveau_action->setIcon(QIcon("./icones/window-new-3.png")); nouveau_action->setShortcut(tr("Ctrl+N")); nouveau_action->setStatusTip(tr("Nouvelle image")); QObject::connect(nouveau_action, SIGNAL(triggered()), &widgetcentral, SLOT(nouveau())); ouvrir_action = new QAction(tr("&Ouvrir"), this); ouvrir_action->setShortcut(tr("Ctrl+O")); ouvrir_action->setIcon(QIcon("./icones/OpenButton.png")); ouvrir_action->setStatusTip(tr("Charger une image")); QObject::connect(ouvrir_action, SIGNAL(triggered()), &widgetcentral, SLOT(ouvrir())); sauver_action = new QAction(tr("&Sauvegarder"), this); sauver_action->setShortcut(tr("Ctrl+S")); sauver_action->setIcon(QIcon("./icones/enregistrer.png")); sauver_action->setStatusTip(tr("Sauvegarder l'image")); QObject::connect(sauver_action, SIGNAL(triggered()), &widgetcentral, SLOT(sauvegarder())); sauversous_action = new QAction(tr("S&auvegarder sous..."), this); sauversous_action->setShortcut(tr("Ctrl+Shift+S")); sauversous_action->setIcon(QIcon("./icones/enregistrer-sous.png")); sauversous_action->setStatusTip(tr("Sauvegarder l'image sous...")); connect(sauversous_action, SIGNAL(triggered()), &widgetcentral, SLOT(sauvegarderSous())); quitter_action = new QAction(tr("&Quitter"), this); quitter_action->setStatusTip(tr("Quitter le programme")); quitter_action->setIcon(QIcon("./icones/icone-infos.png")); QObject::connect(quitter_action, SIGNAL(triggered()), &widgetcentral, SLOT(quitter())); menu_fichier = new QMenu(tr("&Fichier"), this); menu_fichier->addAction(precedent_action); menu_fichier->addAction(nouveau_action); menu_fichier->addAction(ouvrir_action); menu_fichier->addAction(sauver_action); menu_fichier->addAction(sauversous_action); menu_fichier->addAction(quitter_action); // Filtre flou_action = new QAction(tr("&F&lou"), this); flou_action->setStatusTip(tr("Appliquer un flou l'image")); flou_action->setIcon(QIcon("./icones/flou.gif")); QObject::connect(flou_action, SIGNAL(triggered()), &widgetcentral, SLOT(loadflou())); fusion_action = new QAction(tr("&F&usion"), this); fusion_action->setStatusTip(tr("Fusionner l'image avec une autre")); QObject::connect(fusion_action, SIGNAL(triggered()), &widgetcentral, SLOT(loadfusion())); gris_action = new QAction(tr("&Gris"),this); gris_action->setStatusTip("Appliquer un gris l'image"); QObject::connect(gris_action,SIGNAL(triggered()),&widgetcentral,SLOT(gris())); rehaussement_action = new QAction(tr("&Rehaussement de contraste"),this); rehaussement_action->setStatusTip("Rehausser le contraste"); QObject::connect(rehaussement_action,SIGNAL(triggered()),&widgetcentral,SLOT(loadrehausseur())); detection_action = new QAction(tr("&Detecter les contours"),this); detection_action->setStatusTip("Detection de contour"); QObject::connect(detection_action,SIGNAL(triggered()),&widgetcentral,SLOT(loaddetection())); gradient_action = new QAction(tr("&Gradient"),this); gradient_action->setStatusTip("Gradient"); QObject::connect(gradient_action,SIGNAL(triggered()),&widgetcentral,SLOT(loadgradient())); perso_action = new QAction(tr("&Personnaliser"),this); perso_action->setStatusTip("Personnaliser le filtre"); QObject::connect(perso_action,SIGNAL(triggered()),&widgetcentral,SLOT(loadperso())); accent_action = new QAction(tr("&Accentuer"),this); accent_action->setStatusTip("Accentuer l'image"); QObject::connect(accent_action,SIGNAL(triggered()),&widgetcentral,SLOT(loadaccentuer())); menu_outils = new QMenu(tr("&F&iltre"), this); menu_outils->addAction(flou_action); menu_outils->addAction(fusion_action); menu_outils->addAction(gris_action); menu_outils->addAction(rehaussement_action); menu_outils->addAction(detection_action); menu_outils->addAction(gradient_action); menu_outils->addAction(perso_action); menu_outils->addAction(accent_action); //histogramme histo_menu=new QMenu(tr("&Histogramme"),this); histoRGB_action = new QAction(tr("&RGB"),this); QObject::connect(histoRGB_action, SIGNAL(triggered()), &widgetcentral, SLOT(histogrammeRGB())); histo_menu->addAction(histoRGB_action); histoHSV_action = new QAction(tr("&HSV"),this); QObject::connect(histoHSV_action, SIGNAL(triggered()), &widgetcentral, SLOT(histogrammeHSV())); histo_menu->addAction(histoHSV_action); egalise_action = new QAction(tr("&Egaliser"),this); QObject::connect(egalise_action, SIGNAL(triggered()), &widgetcentral, SLOT(egalisation())); histo_menu->addAction(egalise_action); linearise_action = new QAction(tr("&Lineariser"),this); QObject::connect(linearise_action, SIGNAL(triggered()), &widgetcentral, SLOT(linearisation())); histo_menu->addAction(linearise_action); negatif_action = new QAction(tr("&Negatif"),this); QObject::connect(negatif_action, SIGNAL(triggered()), &widgetcentral, SLOT(negatif())); histo_menu->addAction(negatif_action); seuillage_action = new QAction(tr("&Seuillage"),this); QObject::connect(seuillage_action, SIGNAL(triggered()), &widgetcentral, SLOT(seuillage())); histo_menu->addAction(seuillage_action); //color_picker picker_action = new QAction(tr("&P&i&xelColor"),this); picker_action->setStatusTip("Pixel valeur"); picker_action->setIcon(QIcon("./icones/icones/pixelcolor.jpg")); QObject::connect(picker_action, SIGNAL(triggered()), widgetcentral.affichage, SLOT(pixelColor())); color_picker = new QMenu(tr("&Picolor"),this); color_picker->addAction(picker_action); //Selection menu_selection = new QMenu(tr("&Se&lection"),this); selection_action=new QAction(tr("&selection"),this); QObject::connect(selection_action, SIGNAL(triggered()), widgetcentral.affichage, SLOT(selection())); menu_selection->addAction(selection_action); //redimension redim_action = new QAction(tr("&R&edimension"),this); redim_action->setStatusTip("Appliquer le redimensionnement l'image"); QObject::connect(redim_action,SIGNAL(triggered()),&widgetcentral,SLOT(redimension())); seam_action = new QAction(tr("&Seam Carving"),this); seam_action->setStatusTip("Redimensionnement intelligent"); QObject::connect(seam_action,SIGNAL(triggered()),&widgetcentral,SLOT(loadseam())); menu_redimension = new QMenu (tr ("&R&e&dimension"), this); menu_redimension->addAction(redim_action); menu_redimension->addAction(seam_action); barre_menu = new QMenuBar(this); barre_menu->addMenu(menu_fichier); barre_menu->addMenu(menu_outils); barre_menu->addMenu(histo_menu); barre_menu->addMenu(color_picker); barre_menu->addMenu(menu_selection); barre_menu->addMenu(menu_redimension); setMenuBar(barre_menu); }