Exemple #1
0
/*!
 * \brief Constructeur de la fenêtre de modification d'une UV.
 * \param uvToEdit référence vers l'UV à modifier
 * \param uvm référence vers l'UVManager
 * \param parent fenêtre parente
 */
UVEditeur::UVEditeur(UV& uvToEdit, UVManager& uvm, QWidget* parent) : QWidget(parent), uv(uvToEdit), M(uvm) {

    this->setWindowTitle(QString("Edition de l'UV")+uv.getCode());
    codeLabel=new QLabel("code", this);
    titreLabel=new QLabel("titre", this);
    creditsLabel=new QLabel("credits", this);
    categorieLabel=new QLabel("categorie", this);
    ouvertureLabel=new QLabel("ouverture", this);

    code= new QLineEdit(uv.getCode(), this);
    titre=new QTextEdit(uv.getTitre(), this);
    credits=new QSpinBox(this);
    credits->setRange(1,8);
    credits->setValue(uv.getNbCredits());

    categorie=new QComboBox(this);
    categorie->addItem("CS");
    categorie->addItem("TM");
    categorie->addItem("TSH");
    categorie->addItem("SP");
    categorie->setCurrentIndex(int(uv.getCategorie()));

    automne=new QCheckBox("automne", this);
    automne->setChecked(uv.ouvertureAutomne());

    printemps=new QCheckBox("printemps", this);
    printemps->setChecked(uv.ouvertureAutomne());

    sauver=new QPushButton("Sauver", this);
    annuler=new QPushButton("Annuler", this);
    coucheH1=new QHBoxLayout;
    coucheH1->addWidget(codeLabel);
    coucheH1->addWidget(code);
    coucheH1->addWidget(categorieLabel);
    coucheH1->addWidget(categorie);
    coucheH1->addWidget(creditsLabel);
    coucheH1->addWidget(credits);

    coucheH2=new QHBoxLayout;
    coucheH2->addWidget(titreLabel);
    coucheH2->addWidget(titre);

    coucheH3=new QHBoxLayout;
    coucheH3->addWidget(ouvertureLabel);
    coucheH3->addWidget(automne);
    coucheH3->addWidget(printemps);

    coucheH4=new QHBoxLayout;
    coucheH4->addWidget(annuler);
    coucheH4->addWidget(sauver);

    couche=new QVBoxLayout;

    couche->addLayout(coucheH1);
    couche->addLayout(coucheH2);
    couche->addLayout(coucheH3);
    couche->addLayout(coucheH4);

    setLayout(couche);

   QObject::connect(sauver, SIGNAL(clicked()), this, SLOT(sauverUV()));
}
/**
 * @brief Constructeur de la classe UVEditeur qui ouvre une fenêtre avec les différentes caractéristiques de l'UV à éditer.
 * @param uvToEdit L'UV à modifier.
 * @param parent Un pointeur sur la fenêtre principale.
 */
UVEditeur::UVEditeur(UV& uvToEdit, QMainWindow* parent):uv(uvToEdit){

    codeLabel= new QLabel("Code",this);
    titreLabel= new QLabel("Titre", this);
    creditsLabel= new QLabel("Crédits",this);
    creditsCSLabel= new QLabel("CS",this);
    creditsTMLabel= new QLabel("TM",this);
    creditsTSHLabel= new QLabel("TSH",this);
    creditsSPLabel= new QLabel("SP",this);
    ouvertureLabel= new QLabel("Ouverture",this);
    //brancheLabel= new QLabel("Branche",this);



    creditsCS= new QSpinBox(this);
    creditsCS->setRange(0,8);


    creditsTM= new QSpinBox(this);
    creditsTM->setRange(0,8);


    creditsTSH= new QSpinBox(this);
    creditsTSH->setRange(0,8);


    creditsSP= new QSpinBox(this);
    creditsSP->setRange(0,8);


    automne = new QCheckBox("Automne",this);


    printemps = new QCheckBox("Printemps",this);


    save = new QPushButton("Sauvegarder",this);
    save->setEnabled(false); //desactive le bouton

    code = new QLineEdit(uv.getCode(),this);
    titre = new QTextEdit(uv.getTitre(),this);
    //branche = new QLineEdit(uv.getBranche(),this);
    parent->setWindowTitle(QString("Edition de l'UV ")+uv.getCode());
    creditsCS->setValue(uv.getNbCreditsCS());
    creditsTM->setValue(uv.getNbCreditsTM());
    creditsTSH->setValue(uv.getNbCreditsTSH());
    creditsSP->setValue(uv.getNbCreditsTSH());
    automne->setChecked(uv.ouvertureAutomne());
    printemps->setChecked(uv.ouverturePrintemps());

    QObject::connect(save, SIGNAL(clicked()), this, SLOT(sauverUV()));

    QObject::connect(code, SIGNAL(textChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(titre, SIGNAL(textChanged(/*QString*/)),this,SLOT(activSave(/*QString*/)));
    //QObject::connect(branche, SIGNAL(textChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(creditsSP, SIGNAL(valueChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(creditsTSH, SIGNAL(valueChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(creditsTM, SIGNAL(valueChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(creditsCS, SIGNAL(valueChanged(QString)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(automne, SIGNAL(stateChanged(/*QString*/int)),this,SLOT(activSave(/*QString*/)));
    QObject::connect(printemps, SIGNAL(stateChanged(/*QString*/int)),this,SLOT(activSave(/*QString*/)));





    cancel=new QPushButton("Annuler",this);
    QObject::connect(cancel, SIGNAL(clicked()), this, SLOT(cancelChanges()));

    coucheH1 = new QHBoxLayout;
    coucheH2 = new QHBoxLayout;
    coucheH3 = new QHBoxLayout;
    coucheH4 = new QHBoxLayout;
    couche = new QVBoxLayout;


    coucheH1->addWidget(codeLabel);
    coucheH1->addWidget(code);
    coucheH1->addWidget(creditsLabel);
    coucheH1->addWidget(creditsCSLabel);
    coucheH1->addWidget(creditsCS);
    coucheH1->addWidget(creditsTMLabel);
    coucheH1->addWidget(creditsTM);
    coucheH1->addWidget(creditsTSHLabel);
    coucheH1->addWidget(creditsTSH);
    coucheH1->addWidget(creditsSPLabel);
    coucheH1->addWidget(creditsSP);

    coucheH2->addWidget(titreLabel);
    coucheH2->addWidget(titre);

    coucheH3->addWidget(ouvertureLabel);
    coucheH3->addWidget(automne);
    coucheH3->addWidget(printemps);

    coucheH4->addWidget(cancel);
    coucheH4->addWidget(save);


    couche->addLayout(coucheH1);
    couche->addLayout(coucheH2);
    couche->addLayout(coucheH3);
    couche->addLayout(coucheH4);

    this->setLayout(couche);
    parent->setCentralWidget(this);
}
Exemple #3
0
UVEditeur::UVEditeur(UV& uvToEdit, UVManager& uvm, QWidget* parent) : QWidget(parent), uv(uvToEdit), M(uvm) {

    this->setWindowTitle(QString("Edition de l'UV")+uv.getCode());
    codeLabel=new QLabel("code", this);
    titreLabel=new QLabel("titre", this);
    creditsLabel=new QLabel("credits", this);
    categorieLabel=new QLabel("categorie", this);
    ouvertureLabel=new QLabel("ouverture", this);

    code= new QLineEdit(uv.getCode(), this);
    titre=new QTextEdit(uv.getTitre(), this);
    credits=new QSpinBox(this);
    credits->setRange(1,8);
    credits->setValue(uv.getNbCredits());

    categorie=new QComboBox(this);
    categorie->addItem("CS");
    categorie->addItem("TM");
    categorie->addItem("SP");
    categorie->addItem("TSH");
    categorie->setCurrentIndex(int(uv.getCategorie()));

    automne=new QCheckBox("automne", this);
    automne->setChecked(uv.ouvertureAutomne());

    printemps=new QCheckBox("printemps", this);
    printemps->setChecked(uv.ouvertureAutomne());

    sauver=new QPushButton("Sauver", this);
    annuler=new QPushButton("Annuler", this);
    //on cree plusieurs couches horizontales qu'on superpose ensuite en une couche veerticale
    coucheH1=new QHBoxLayout;
    coucheH1->addWidget(codeLabel);
    coucheH1->addWidget(code);
    coucheH1->addWidget(categorieLabel);
    coucheH1->addWidget(categorie);
    coucheH1->addWidget(creditsLabel);
    coucheH1->addWidget(credits);

    coucheH2=new QHBoxLayout;
    coucheH2->addWidget(titreLabel);
    coucheH2->addWidget(titre);

    coucheH3=new QHBoxLayout;
    coucheH3->addWidget(ouvertureLabel);
    coucheH3->addWidget(automne);
    coucheH3->addWidget(printemps);

    coucheH4=new QHBoxLayout;
    coucheH4->addWidget(annuler);
    coucheH4->addWidget(sauver);

    couche=new QVBoxLayout;

    couche->addLayout(coucheH1);
    couche->addLayout(coucheH2);
    couche->addLayout(coucheH3);
    couche->addLayout(coucheH4);

    setLayout(couche);

    //bouton desactive par defaut
    //sauver->setEnabled(false);

   QObject::connect(sauver, SIGNAL(clicked()), this, SLOT(sauverUV()));

   //pour que ça sactive que si modif :
  // QObject::connect(code, SIGNAL(textEdited(QString)), this, SLOT(activerSauverUV(QString)));


}