Beispiel #1
0
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;
	}
}
Beispiel #3
0
    //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);
}
}
}
Beispiel #5
0
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);
}
Beispiel #6
0
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();
    }

}
Beispiel #7
0
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();
    }
}
Beispiel #8
0
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();
			}
		}
	}
}
Beispiel #9
0
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);
}