Changeset 440 for trunk/yao


Ignore:
Timestamp:
10/04/10 03:37:44 (14 years ago)
Author:
yerima
Message:

The instruction's window is ready at 80%.

Location:
trunk/yao/src/interface
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/yao/src/interface/src/InstructionWindow.cpp

    r435 r440  
    2424InstructionWindow::InstructionWindow(QWidget *parent) : QWidget(parent) { 
    2525 
    26         //QFrame *slk = new QFrame; 
    2726        setupUi(this); 
    28         //pushButton->setText("->"); 
    2927        m_rightButton->setIcon(QIcon("Images/icons/rightarrow2.png")); 
    30         m_instructionModel = new QStandardItemModel(0, 1);//Model in one line whitch contained the possibles functions used in the process of generation of the instruction file.  
     28        m_instructionLeftModel = new QStandardItemModel(0, 1);//Model in one column whitch contained the possibles functions used in the process of generation of the instruction file.  
     29        m_instructionRightModel = new QStandardItemModel(0, 2);//Model in two columns whitch contained the selected functions used in the process of generation of the instruction file.  
    3130 
    32         QStandardItem *initialisation = new QStandardItem("Fonctions d'initialisation");//Declaration of the first main line. 
     31        initialisation = new QStandardItem("Fonctions d'initialisation");//Declaration of the first main line. 
    3332 
    34         m_instructionModel->appendRow(initialisation);//Insertion of the first main line.  
     33        m_instructionLeftModel->appendRow(initialisation);//Insertion of the first main line.  
    3534        initialisation->appendRow(new QStandardItem("set_modeltime"));//Insertion of a sub-line. 
    3635        initialisation->appendRow(new QStandardItem("setstate"));//Insertion of a sub-line. 
     
    3938        initialisation->appendRow(new QStandardItem("set_pcoef"));//Insertion of a sub-line. 
    4039 
    41         QStandardItem *minimisation = new QStandardItem("Fonctions de minimisation");//Declaration of the 2nde main line. 
     40        minimisation = new QStandardItem("Fonctions de minimisation");//Declaration of the 2nde main line. 
    4241 
    43         m_instructionModel->appendRow(minimisation); //Insertion of the main line. 
     42        m_instructionLeftModel->appendRow(minimisation); //Insertion of the main line. 
    4443        minimisation->appendRow(new QStandardItem("setm_impres"));//Insertion of a sub-line. 
    4544        minimisation->appendRow(new QStandardItem("setm_io"));//Insertion of a sub-line. 
     
    5554 
    5655         
    57         QStandardItem *input_output = new QStandardItem("Fonctions d'entrée/sortie"); 
     56        input_output = new QStandardItem("Fonctions d'entrée/sortie"); 
    5857 
    59                 m_instructionModel->appendRow(input_output); 
     58                m_instructionLeftModel->appendRow(input_output); 
    6059                input_output->appendRow(new QStandardItem("loadobs")); 
    6160                input_output->appendRow(new QStandardItem("loadstate")); 
     
    6665                input_output->appendRow(new QStandardItem("print_cost")); 
    6766 
    68         QStandardItem *test = new QStandardItem("Fonctions de test"); 
    69                 m_instructionModel->appendRow(test); 
     67        test = new QStandardItem("Fonctions de test"); 
     68                m_instructionLeftModel->appendRow(test); 
    7069                test->appendRow(new QStandardItem("testdf")); 
    7170                test->appendRow(new QStandardItem("testad")); 
    7271 
    73         QStandardItem *execution = new QStandardItem("Fonctions d'exécution"); 
    74                 m_instructionModel->appendRow(execution); 
     72        execution = new QStandardItem("Fonctions d'exécution"); 
     73                m_instructionLeftModel->appendRow(execution); 
    7574                execution->appendRow(new QStandardItem("forward")); 
    7675                execution->appendRow(new QStandardItem("backward")); 
     
    8079                execution->appendRow(new QStandardItem("runim")); 
    8180         
    82         QStandardItem *user_functions = new QStandardItem("Fonction(s) de l'utilisateur."); 
    83                 m_instructionModel->appendRow(user_functions); 
     81        user_functions = new QStandardItem("Fonction(s) de l'utilisateur."); 
     82                m_instructionLeftModel->appendRow(user_functions); 
    8483                for (int i = 0; i< 4; i++) 
    8584                user_functions->appendRow(new QStandardItem("Par défaut")); 
    8685 
    87         m_proposedParametersListView->setModel(m_instructionModel);      
    88                  
     86        m_instructionLeftModel->setHorizontalHeaderLabels(QStringList() << "Fonctions proposées"); 
     87        m_instructionRightModel->setHorizontalHeaderLabels(QStringList() << "Fonctions choisies" << "ParamÚtres"); 
     88 
     89 
     90        m_proposedParametersListView->setModel(m_instructionLeftModel);  
     91        m_choosedParametersTableView->setModel(m_instructionRightModel);         
     92        m_choosedParametersTableView->resizeColumnsToContents(); 
     93        connect(m_proposedParametersListView, SIGNAL(clicked(QModelIndex )), this, SLOT(selectedFunction(QModelIndex ))); 
     94        connect(m_rightButton, SIGNAL(clicked()), this, SLOT(addInstructionRow())); 
    8995} 
    90 /*********************************************************************************************************************************/ 
    91 /***********************************************************************/ 
     96 
     97/********************************* Implementation of the selectedFunction(QModelIndex index) method  ***********************************/ 
     98void InstructionWindow::selectedFunction(QModelIndex index) { 
     99 
     100        QItemSelectionModel *selection = m_proposedParametersListView->selectionModel(); 
     101        //index = selection->currentIndex(); 
     102        QVariant element = m_instructionLeftModel->data(index, Qt::DisplayRole); 
     103        QString chaine = element.toString();//.toStdString(); 
     104        m_fonctionNameLineEdit->setText(chaine); 
     105        //QMessageBox::about(this, "Avis", chaine); 
     106        //int r = index.row(); 
     107         
     108} 
     109 
     110/********************************* Implementation of the addInstructionRow()  method *************************************************/ 
     111void InstructionWindow::addInstructionRow() { 
     112 
     113        QString nom  = m_fonctionNameLineEdit->text(); 
     114        QString val  = m_fonctionParameterLineEdit->text(); 
     115         
     116        if (nom.isEmpty()){  
     117   
     118                            QMessageBox::critical(this, "Avertissement", "Le champ \"<I>Nom de la fonction<I>\" est obligatoire! Veuillez sélectionner une fonction parmi celles qui sont proposées dans la partie gauche de la fenêtre."); 
     119                            return; // Arrêt de la méthode 
     120                    } 
     121   
     122          else { 
     123                  //if (!(m_ligneNom->text().isEmpty()) || (m_ligneValeur->text().isEmpty())) { 
     124                    //      m_delButton->setEnabled(true); 
     125                    //      Constant localConstant (Nom.toStdString(), Val.toStdString()); 
     126                    //              m_localConstantTable->push_back(localConstant); 
     127                        m_instructionRightModel->setItem(m_instructionRightModel->rowCount(), 0, new QStandardItem(nom)); 
     128                        m_instructionRightModel->setItem(m_instructionRightModel->rowCount()-1, 1, new QStandardItem(val)); 
     129                                 
     130                        m_fonctionNameLineEdit->setText(""); 
     131                        m_fonctionParameterLineEdit->setText(""); 
     132                  } 
     133 
     134} 
     135 
     136/***********************************************************************************************************************/ 
     137/***************************************************** End of file *****************************************************/ 
     138/***********************************************************************************************************************/ 
  • trunk/yao/src/interface/src/include/ConstantWindow.hpp

    r366 r440  
    1515class ConstantWindow : public QWidget, Ui::ConstantWindow { 
    1616 
    17         Q_OBJECT; 
     17        Q_OBJECT 
    1818 
    1919        public : 
  • trunk/yao/src/interface/src/include/InstructionWindow.hpp

    r435 r440  
    99#ifndef INSTRUCTIONWINDOW_HPP 
    1010#define INSTRUCTIONWINDOW_HPP 
    11  
     11#include <QStandardItemModel>  
     12#include <QModelIndex>  
     13#include <QMessageBox>  
    1214#include "../../ui_instructionwindow.h" 
    13 #include <QStandardItemModel>  
    1415 
    1516class InstructionWindow: public QWidget, public Ui::InstructionWindow { 
    1617 
    17         //Q_OBJECT 
     18        Q_OBJECT 
    1819 
    1920        public : 
    2021                InstructionWindow(QWidget *parent=0); 
    2122 
    22         //private slots: 
    23  
     23        private slots: 
     24                void addInstructionRow();        
     25                void selectedFunction(QModelIndex index); 
    2426                 
    2527        //signals: 
     
    3032 
    3133        private : 
    32                 QStandardItemModel *m_instructionModel; 
     34                QStandardItemModel *m_instructionLeftModel; 
     35                QStandardItemModel *m_instructionRightModel; 
     36                QStandardItem *initialisation; 
     37                QStandardItem *minimisation;  
     38                QStandardItem *input_output;  
     39                QStandardItem *test;  
     40                QStandardItem *execution;  
     41                QStandardItem *user_functions;  
    3342                 //QStandardItemModel *m_orderModel; 
    3443}; 
  • trunk/yao/src/interface/ui_newprojectwindow.h

    r436 r440  
    22** Form generated from reading UI file 'newprojectwindow.ui' 
    33** 
    4 ** Created: Sun Oct 3 13:46:54 2010 
     4** Created: Sun Oct 3 16:42:34 2010 
    55**      by: Qt User Interface Compiler version 4.6.2 
    66** 
Note: See TracChangeset for help on using the changeset viewer.