- Timestamp:
- 06/24/10 17:40:11 (14 years ago)
- Location:
- trunk/yao/src/interface/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/yao/src/interface/src/OperaWindow.cpp
r357 r360 1 1 //! \file OperaWindow.cpp 2 //! \brief Implementation of the Ctinwindow.3 //! \version 20 09/11/09(yyyy/mm/dd)4 //! \author MAYAKI Abdouramane & MAYOMBO Alexis.2 //! \brief Implementation of the Operator window. 3 //! \version 2010/06/24 (yyyy/mm/dd) 4 //! \author MAYAKI Abdouramane. 5 5 /* 6 6 Nom du Fichier: OperaWindow.cpp 7 7 Nom de classe: OperaWindow 8 8 Role: 9 Nombre de methodes: 10 Nombre d'attributs: 9 Nombre de methodes:11 10 Nombre d'attributs:8 11 11 */ 12 12 13 13 #include "include/OperaWindow.hpp" 14 #include "include/TrajectoryWindow.hpp" 14 15 /*! 15 16 * \class OperaWindow … … 21 22 22 23 /******************************************* Contructeur ***************************************************/ 23 OperaWindow::OperaWindow(Table <Space> *aSpaceTable, Table <Trajectory> *aTrajectory, Table <Constant> *aConstantTable, QWidget *parent) : QWidget(parent) { /*!< The constructor. */ 24 OperaWindow::OperaWindow(Table <Operator> *aOperaTable, Table <Trajectory> *aTrajectory, Table <Constant> *aConstantTable, QWidget *parent) : QWidget(parent), localTrajectoryTable(NULL), localOperaTable(NULL) { /*!< The constructor. */ 25 24 26 setupUi(this); 25 isCalled = false; 26 localOperaTable = a SpaceTable;27 localTrajectoryTable = aTrajectory; 28 localConstantTable = aConstantTable; 29 //localOperaExtent = aOperaExtent;30 //localOperaIdentifier = aOperaIdentifier;31 compteur = 0; 32 33 //m_OperaType = new QLineEdit("M"); /*!< Type of the QComboBox. */34 // m_OperaType->setEnabled(false); 35 m_ OperaD1->setEditable(true);36 m_ OperaD1->insertItem(0,"");37 m_ OperaD2->setEditable(true);38 m_ OperaD2->insertItem(0,"");39 m_ OperaD3->setEditable(true);40 m_ OperaD3->insertItem(0,"");27 28 localOperaTable = aOperaTable; /*!< See theOperaTable in MainWindow.hpp */ 29 localTrajectoryTable = aTrajectory; /*!< See theTrajectoryTable in MainWindow.hpp */ 30 localConstantTable = aConstantTable; /*!< See theConstantTable in MainWindow.hpp */ 31 32 QRegExp regExp("[A-Za-z_][A-Za-z0-9_]*"); 33 34 m_operaNameLine->setValidator(new QRegExpValidator(regExp, this)); 35 if (isOperaTableEmpty()) m_operaDeleteButton->setDisabled(true);/*!< To disable the m_operaDeleteButton if theTrajectoryTable is empty. */ 36 37 m_operaD1->setEditable(true); 38 m_operaD1->insertItem(0,""); 39 m_operaD2->setEditable(true); 40 m_operaD2->insertItem(0,""); 41 m_operaD3->setEditable(true); 42 m_operaD3->insertItem(0,""); 41 43 42 44 for (Table<Constant>::reverse_iterator it = localConstantTable->rbegin(); it != localConstantTable->rend(); it++) { 43 m_ OperaD1->insertItem(1, QString(it->getName().c_str()));44 m_ OperaD2->insertItem(1, QString(it->getName().c_str()));45 m_ OperaD3->insertItem(1, QString(it->getName().c_str()));45 m_operaD1->insertItem(1, QString(it->getName().c_str())); 46 m_operaD2->insertItem(1, QString(it->getName().c_str())); 47 m_operaD3->insertItem(1, QString(it->getName().c_str())); 46 48 } 47 49 48 m_OperaTrajname->insertItem(0, ""); 49 for (Table<Trajectory>::reverse_iterator it = localTrajectoryTable->rbegin(); it != localTrajectoryTable->rend(); it++) 50 m_OperaTrajname->insertItem(1, QString(it->getName().c_str())); 51 52 //for (QStringList::iterator it = trajData->getTrajName().begin(); it != trajData->getTrajName().end(); it++) 53 //m_OperaTrajname->addItems(trajData->getDataTraj());//getTrajName()); //it);//->toStdString()); 54 55 //m_OperaTrajname->addItem(trajData->); 56 //m_OperaEnregButton = new QPushButton("Enregistrer",this); /*!< The button "save". */ 57 // m_OperaEnregButton->setDisabled(true); 58 m_OperaDeleteButton->setDisabled(true); 59 60 m_operaModel = new QStandardItemModel(0, 6) ; 61 m_operaModel->setHorizontalHeaderLabels(QStringList() << "Nom Opera" << "Type" << "Dim 1" << "Dim 2" << "Dim 3" << "Nom traj"); 62 63 m_OperaTableView->setModel(m_operaModel); 64 m_OperaTableView->setEditTriggers(QAbstractItemView::NoEditTriggers); /*!< this ligne give no edit mode*/ 65 m_OperaTableView->setShowGrid(false); /*!< this ligne cover the grille in table */ 66 m_OperaTableView->setSelectionBehavior(QAbstractItemView::SelectRows); 67 m_OperaTableView->resizeColumnsToContents(); 68 69 70 71 //m_OperaLayoutG->addWidget(m_OperaTypeLabel, 1, 1); /*!< Adding in the main layout: the Opera's type. */ 72 //m_OperaLayoutG->addWidget(m_OperaType, 1, 2, Qt::AlignLeft); 73 74 75 connect(m_OperaAddButton, SIGNAL(clicked()), this, SLOT(addOperaRow())); /*!< Adds rows in the tableview after clicking on the button "Add"*/ 76 connect(m_OperaDeleteButton, SIGNAL(clicked()), this, SLOT(deleteRow())); 77 connect(m_OperaQuitButton, SIGNAL(clicked()), this, SLOT(close())); /*!< Will be closed after a click on the button "Quit" */ 78 // connect(m_OperaEnregButton, SIGNAL(clicked()), this, SLOT(saveInYaoStructure())); 79 connect(m_OperaHelpButton, SIGNAL(clicked()), this, SLOT(callOperaHelp())); 80 50 m_operaTrajname->insertItem(0, ""); 51 for (Table<Trajectory>::reverse_iterator it = localTrajectoryTable->rbegin(); it != localTrajectoryTable->rend(); it++) 52 m_operaTrajname->insertItem(1, QString(it->getName().c_str())); 53 54 modeleOpera = new QStandardItemModel(0, 3) ; 55 modeleOpera->setHorizontalHeaderLabels(QStringList() << "Nom Opera" << "Dimension(s) " << "Nom trajectoire"); //Gives names to the columns. 56 57 m_operaTableView->setModel(modeleOpera); /*!< The view takes model.*/ 58 m_operaTableView->setEditTriggers(QAbstractItemView::NoEditTriggers); /*!< this ligne give no edit mode*/ 59 m_operaTableView->setShowGrid(false); /*!< this ligne cover the grille in table */ 60 m_operaTableView->setSelectionBehavior(QAbstractItemView::SelectRows); 61 m_operaTableView->resizeColumnsToContents(); /*!< To optimize the column Opera. */ 62 63 //The following to load in the visual Yao the structure of Yao. 64 for (Table<Operator>::iterator it = localOperaTable->begin(); it != localOperaTable->end(); it++) { 65 66 int row = modeleOpera->rowCount(); 67 68 modeleOpera->setItem(row, 0, new QStandardItem(QString(it->getProperty(0).c_str()))); /*!< Gets the Opera name.*/ 69 modeleOpera->setItem(row, 1, new QStandardItem(QString(it->getProperty(1).c_str()))); /*!< Gets the Opera dimension (1, 2 or 3).*/ 70 modeleOpera->setItem(row, 2, new QStandardItem(QString(it->getProperty(2).c_str()))); /*!< Gets the trajectory choosed in the Opera directive.*/ 71 } 72 73 connect(m_operaAddButton, SIGNAL(clicked()), this, SLOT(addOperaRow())); /*!< Adds rows in the tableview after clicking on the button "Add"*/ 74 connect(m_operaDeleteButton, SIGNAL(clicked()), this, SLOT(deleteRow())); 75 connect(m_operaQuitButton, SIGNAL(clicked()), this, SLOT(close())); /*!< Will be closed after a click on the button "Quit" */ 76 connect(m_operaHelpButton, SIGNAL(clicked()), this, SLOT(callOperaHelp())); /*!< Calls the help method.*/ 81 77 82 setFixedWidth(baseSize().width() + 5 13);78 setFixedWidth(baseSize().width() + 505); 83 79 } 84 80 //------------------------------------ End of the contructor declaration.--------------------------------------- … … 86 82 void OperaWindow::addOperaRow() { 87 83 88 89 m_OperaDeleteButton->setEnabled(true); 90 91 string name = m_OperaNameLine->text().toStdString(), 92 d1 = m_OperaD1->currentText().toStdString(), 93 d2 = m_OperaD2->currentText().toStdString(), 94 d3 = m_OperaD3->currentText().toStdString(), 95 traj = m_OperaTrajname->currentText().toStdString(); 96 97 98 /* if (!isString(name)) { 99 QMessageBox::about(this, tr("Erreur de saisie!"), 100 tr("<p>Le premier champ contient au moins un caractere non conforme!<p> Les Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 101 return; 102 } 103 if (!isInt(d1)) { 104 QMessageBox::about(this, tr("Erreur de saisie!"), 105 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D1! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 106 return; 107 } 108 if (!isInt(d2)) { 109 QMessageBox::about(this, tr("Erreur de saisie!"), 110 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D2! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 111 return; 112 } 113 if (!isInt(d3)) { 114 QMessageBox::about(this, tr("Erreur de saisie!"), 115 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D3! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 116 return; 117 } 118 119 if (!isString(traj)) { 120 QMessageBox::about(this, tr("Erreur de saisie!"), 121 tr("<p>Vous avez saisi au moins un caractere non conforme au niveau du champ de la trajectoire!<p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 122 return; 123 } 124 125 //static int row = 0; 126 // int l = 0; 127 //else 128 //if (l >= 0) 129 // {*/ 130 int row = m_operaModel->rowCount(); 131 132 m_operaModel->setItem(row, 0, new QStandardItem(m_OperaNameLine->text())); 133 //m_operaModel->setItem(row, 1, new QStandardItem(m_OperaType->text())); 134 m_operaModel->setItem(row, 2, new QStandardItem(m_OperaD1->currentText())); 135 m_operaModel->setItem(row, 3, new QStandardItem(m_OperaD2->currentText())); 136 m_operaModel->setItem(row, 4, new QStandardItem(m_OperaD3->currentText())); 137 m_operaModel->setItem(row, 5, new QStandardItem(m_OperaTrajname->currentText())); 84 int row = modeleOpera->rowCount();//To have the current row of the tableView. 85 86 string name = m_operaNameLine->text().toStdString(), 87 d1 = m_operaD1->currentText().toStdString(), 88 d2 = m_operaD2->currentText().toStdString(), 89 d3 = m_operaD3->currentText().toStdString(), 90 dim ,//= d1 + " " + d2 + " " + d3, 91 traj = m_operaTrajname->currentText().toStdString(); 92 93 vector <int> theShape; 94 95 Constant *c1; //Nous créons d'abord un pointeur de constante. 96 Constant *c2; //Nous créons d'abord un pointeur de constante. 97 Constant *c3; //Nous créons d'abord un pointeur de constante. 98 99 c1 = localConstantTable->find(d1); //Ensuite on passe au pointeur le resultat de la recherche de la chaine en utilisant find. 100 c2 = localConstantTable->find(d2); //Ensuite on passe au pointeur le resultat de la recherche de la chaine en utilisant find. 101 c3 = localConstantTable->find(d3); //Ensuite on passe au pointeur le resultat de la recherche de la chaine en utilisant find. 102 103 //Control on the first dimension's value. 104 if (c1 != 0) { //C'est alors une constante. 105 106 dim = localConstantTable->find(d1)->getText(); 107 theShape.push_back(toInt(localConstantTable->find(d1)->getText())); 138 108 139 Identifier id(name, row); 140 vector <int> vecteur; 141 vecteur.push_back(toInt(d1)); 142 vecteur.push_back(toInt(d2)); 143 vecteur.push_back(toInt(d3)); 144 //Component(const std::string& aName, const T* aParent); 145 //Component com(name, ); 146 //localOperaExtent->push_back(vecteur); 147 //localOperaIdentifier->push_back(id); 148 //for (Table <Identifier>::iterator it = localOperaExtent->begin(); it != localOperaExtent->end(); it++) 149 //cout << "Voici le dernier ajout: " << it->getName().toStdString() << endl; 150 //m_localData.push_back(m_OperaNameLine->text()); //+ " " + m_OperaType->text() + " " + m_OperaD1->currentText() + 151 //" " + m_OperaD2->currentText() + " " + m_OperaD3->currentText() + 152 //" " + m_OperaTrajname->currentText()); //<< m_OperaNameLine->text() << m_OperaType->text(); 153 // row++; 109 } 110 else { 111 112 113 for(unsigned int i=0; i < d1.size(); i++) { 114 if(!(d1[i] >= '0' && d1[i] <= '9')){ 115 116 QMessageBox::about(this, tr("Erreur de saisie!"), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 1\".")); 117 return; 118 } 119 120 } 121 122 dim = d1; 123 theShape.push_back(toInt(d1)); 124 125 } 126 127 //Control on the 2nd dimension's value. 128 if (c2 != NULL) { //C'est alors une constante. 129 130 dim = dim + " " + localConstantTable->find(d2)->getText(); 131 theShape.push_back(toInt(localConstantTable->find(d2)->getText())); 132 133 } 134 else { 135 136 for(unsigned int i=0; i < d2.size(); i++) { 137 if(!(d2[i] >= '0' && d2[i] <= '9')){ 138 139 QMessageBox::about(this, tr("Operator erreur de saisie."), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 2\".")); 140 return; 141 } 142 143 } 144 145 dim = dim + " " + d2; 146 theShape.push_back(toInt(d2)); 147 148 149 } 150 151 //Control on the 3rd dimension's value. 152 if (c3 != NULL) { //C'est alors une constante. 153 154 dim = dim + " " + localConstantTable->find(d3)->getText(); 155 theShape.push_back(toInt(localConstantTable->find(d3)->getText())); 156 } 157 else { 158 for(unsigned int i=0; i < d3.size(); i++) { 159 if(!(d3[i] >= '0' && d3[i] <= '9')){ 160 161 QMessageBox::about(this, tr("Operator: erreur de saisie."), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 3\".")); 162 return; 163 } 164 165 } 166 167 dim = dim + " " + d3; 168 theShape.push_back(toInt(d3)); 169 } 170 171 if (name.empty()) { 172 QMessageBox::about(this, tr("Operator: erreur de saisie."), 173 tr("<p>Le champ \"Nom opera\" ne doit pas etre vide.")); 174 return; 175 } 176 else 177 178 if (!(dim.empty() || traj.empty())) { 179 180 modeleOpera->setItem(row, 0, new QStandardItem(m_operaNameLine->text())); 181 modeleOpera->setItem(row, 1, new QStandardItem(QString(dim.c_str()))); 182 modeleOpera->setItem(row, 2, new QStandardItem(m_operaTrajname->currentText())); 183 184 if (!(d1.empty() || d2.empty() || d3.empty())) { 185 //Operator Opera(name, localTrajectoryTable->find(traj), theShape); 186 Operator::Type M; 187 localOperaTable->push_back(Operator(name, localTrajectoryTable->find(traj), theShape, M)); 188 } 154 189 toInitialize(); 155 // } 156 //testPresenceLigne(); 190 191 if (!isOperaTableEmpty()) m_operaDeleteButton->setEnabled(true); 192 } 157 193 } 158 194 … … 168 204 //void OperaWindow::addRow() { 169 205 170 //int row = m_OperaTableView->rowCount(); 171 //m_OperaTableView->insertRow(row); 172 //compteur ++; 206 //int row = m_operaTableView->rowCount(); 207 //m_operaTableView->insertRow(row); 173 208 174 209 //} … … 177 212 void OperaWindow::deleteRow() { 178 213 179 //m_OperaTableView->removeRow(m_OperaTableView->currentRow()); 180 //testPresenceLigne(); 214 //m_operaTableView->removeRow(m_operaTableView->currentRow()); 181 215 182 QItemSelectionModel *selection = m_ OperaTableView->selectionModel();216 QItemSelectionModel *selection = m_operaTableView->selectionModel(); 183 217 index = selection->currentIndex(); 184 QVariant element = m _operaModel->data(index, Qt::DisplayRole);218 QVariant element = modeleOpera->data(index, Qt::DisplayRole); 185 219 int r = index.row(); 186 220 if (selection->hasSelection())// Permet de supprimer la ligne qui est selectionnée. Evite ainsi certains effets indesirables. 187 221 { 188 m _operaModel->removeRows(m_OperaTableView->currentIndex().row(), 1);189 //localTrajectoryTable->erase(localTrajectoryTable->begin() + r);222 modeleOpera->removeRows(m_operaTableView->currentIndex().row(), 1); 223 localOperaTable->erase(localOperaTable->begin() + r); 190 224 191 225 } 192 } 193 226 227 if (isOperaTableEmpty()) m_operaDeleteButton->setDisabled(true); 228 } 229 230 /**********************************************************************/ 231 bool OperaWindow::isOperaTableEmpty() { 232 233 if (localOperaTable->empty()) 234 return true; 235 else 236 return false; 237 } 194 238 /************************************** Implementation of function saveInYaoStructure() ***********************************/ 195 239 void OperaWindow::saveInYaoStructure() { 196 240 197 241 //for (QStringList::iterator it = m_localData.begin(); it != m_localData.end(); it++) 198 // m_OperaData.push_back(*it); 199 m_OperaData = m_localData; 200 } 201 202 /****************************************************************************************************************************/ 203 QStringList OperaWindow::getData() { 204 205 //QStringList test; 206 return m_OperaData; 207 } 242 // m_operaData.push_back(*it); 243 m_operaData = m_localData; 244 } 245 246 /****************************************************************************************************************************/ 208 247 209 248 /****************************************************************************************************************************/ 210 249 void OperaWindow::toInitialize() { 211 250 212 m_ OperaNameLine->setText("");213 m_ OperaD1->setCurrentIndex(0);214 m_ OperaD2->setCurrentIndex(0);215 m_ OperaD3->setCurrentIndex(0);216 m_ OperaTrajname->setCurrentIndex(0);251 m_operaNameLine->setText(""); 252 m_operaD1->setCurrentIndex(0); 253 m_operaD2->setCurrentIndex(0); 254 m_operaD3->setCurrentIndex(0); 255 m_operaTrajname->setCurrentIndex(0); 217 256 218 257 } … … 257 296 void OperaWindow::callOperaHelp() { 258 297 259 QMessageBox::about(this, tr("Aide sur la directive Opera."),("<p> La directive Opera permet de déclarer un eOpera qui sera identifié par son nom ( Operaname) et de sa taille qui peut être en 1, 2 ou 3 dimensions."298 QMessageBox::about(this, tr("Aide sur la directive Opera."),("<p> La directive Opera permet de déclarer un eOpera qui sera identifié par son nom (spacename) et de sa taille qui peut être en 1, 2 ou 3 dimensions." 260 299 "<p><u>Exemple 1</u>: Opera Soce M SZX SZY Toce <p> Pour plus d'informations sur la directive Opera, <a href=\"help/Opera_aide.html\">cliquez ici.</a>")); 261 300 … … 263 302 264 303 /****************************************************************************************************************************/ 265 void OperaWindow::testPresenceLigne() {266 267 if (m_localData.isEmpty())268 {269 m_OperaDeleteButton->setDisabled(true);270 //m_OperaEnregButton->setDisabled(true);271 }272 else273 {274 //m_OperaDeleteButton->setEnabled(true);275 m_OperaDeleteButton->setDisabled(true);276 }277 }278 /**************************************************************************/279 bool OperaWindow::testContenu(int anInt) {280 281 if (anInt != 0) {282 //m_OperaEnregButton->setEnabled(true);283 m_OperaDeleteButton->setEnabled(true);284 285 return true;286 287 }288 else289 {290 //m_OperaEnregButton->setDisabled(true);291 m_OperaDeleteButton->setDisabled(true);292 293 return false;294 }295 }296 304 /************************************************************************/ 297 void OperaWindow::closeEvent(QCloseEvent *event) {305 /************************************************************************/void OperaWindow::closeEvent(QCloseEvent *event) { 298 306 299 307 emit operaWindowIsClosed(6); -
trunk/yao/src/interface/src/SpaceWindow.cpp
r359 r360 93 93 void SpaceWindow::addSpaceRow() { 94 94 95 int row = modeleSpace->rowCount(); 96 97 m_spaceDeleteButton->setEnabled(true); 95 int row = modeleSpace->rowCount();//To have the current row of the tableView. 98 96 99 97 string name = m_spaceNameLine->text().toStdString(), … … 101 99 d2 = m_spaceD2->currentText().toStdString(), 102 100 d3 = m_spaceD3->currentText().toStdString(), 103 dim = d1 + " " + d2 + " " + d3,101 dim ,//= d1 + " " + d2 + " " + d3, 104 102 traj = m_spaceTrajname->currentText().toStdString(); 105 103 104 vector <int> theShape; 105 106 106 Constant *c1; //Nous créons d'abord un pointeur de constante. 107 107 Constant *c2; //Nous créons d'abord un pointeur de constante. … … 111 111 c2 = localConstantTable->find(d2); //Ensuite on passe au pointeur le resultat de la recherche de la chaine en utilisant find. 112 112 c3 = localConstantTable->find(d3); //Ensuite on passe au pointeur le resultat de la recherche de la chaine en utilisant find. 113 modeleSpace->setItem(row, 0, new QStandardItem(m_spaceNameLine->text())); 114 115 //vector <string> theShape; 116 /*modeleSpace->setItem(row, 0, new QStandardItem(m_spaceNameLine->text())); 113 114 //Control on the first dimension's value. 115 if (c1 != 0) { //C'est alors une constante. 116 117 dim = localConstantTable->find(d1)->getText(); 118 theShape.push_back(toInt(localConstantTable->find(d1)->getText())); 119 120 } 121 else { 122 123 124 for(unsigned int i=0; i < d1.size(); i++) { 125 if(!(d1[i] >= '0' && d1[i] <= '9')){ 126 127 QMessageBox::about(this, tr("Erreur de saisie!"), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 1\".")); 128 return; 129 } 130 131 } 132 133 dim = d1; 134 theShape.push_back(toInt(d1)); 135 136 } 137 138 //Control on the 2nd dimension's value. 139 if (c2 != NULL) { //C'est alors une constante. 140 141 dim = dim + " " + localConstantTable->find(d2)->getText(); 142 theShape.push_back(toInt(localConstantTable->find(d2)->getText())); 143 144 } 145 else { 146 147 for(unsigned int i=0; i < d2.size(); i++) { 148 if(!(d2[i] >= '0' && d2[i] <= '9')){ 149 150 QMessageBox::about(this, tr("Erreur de saisie!"), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 2\".")); 151 return; 152 } 153 154 } 155 156 dim = dim + " " + d2; 157 theShape.push_back(toInt(d2)); 158 159 160 } 161 162 //Control on the 3rd dimension's value. 163 if (c3 != NULL) { //C'est alors une constante. 164 165 dim = dim + " " + localConstantTable->find(d3)->getText(); 166 theShape.push_back(toInt(localConstantTable->find(d3)->getText())); 167 } 168 else { 169 for(unsigned int i=0; i < d3.size(); i++) { 170 if(!(d3[i] >= '0' && d3[i] <= '9')){ 171 QMessageBox::about(this, tr("Erreur de saisie!"), tr("Saisir un entier ou faire un choix dans la liste deroulante du champ \"Dimension 3\".")); 172 173 return; 174 } 175 176 } 177 178 dim = dim + " " + d3; 179 theShape.push_back(toInt(d3)); 180 } 181 182 if (name.empty()) { 183 QMessageBox::about(this, tr("Erreur de saisie!"), 184 tr("<p>Le champ \"Nom espace\" ne doit pas etre vide.")); 185 return; 186 } 187 else 188 189 if (!(dim.empty() || traj.empty())) { 190 191 modeleSpace->setItem(row, 0, new QStandardItem(m_spaceNameLine->text())); 117 192 modeleSpace->setItem(row, 1, new QStandardItem(QString(dim.c_str()))); 118 193 modeleSpace->setItem(row, 2, new QStandardItem(m_spaceTrajname->currentText())); 119 194 120 Identifier id(name, row); 121 vector <int> vecteur; 122 vecteur.push_back(toInt(d1)); 123 vecteur.push_back(toInt(d2)); 124 vecteur.push_back(toInt(d3)); 125 Space espace(name, localTrajectoryTable->find(traj), vecteur); 126 localSpaceTable->push_back(espace); 127 toInitialize();*/ 128 129 if (c1 != NULL) { //C'est alors une constante. 130 131 132 //modeleSpace->setItem(row, 1, new QStandardItem(QString(.c_str()))); 133 //string constantValue = localConstantTable->find(hatFile)->getText(); //"getText()" returns the constant value. 134 // constantValue.append(".h"); 135 //m_hatnameModel->setItem(m_hatnameModel->rowCount(), new QStandardItem(QString(hatFile.c_str())));//QStandardItem(QString(constantValue.c_str()))) ; 136 //localHeaderList->push_back(hatFile); 137 //eraseDataFromLineEdit(); 138 //m_delHatButton->setEnabled(true); 139 cout << "Cool, c'est une constante!" << endl; 140 } 141 else 142 cout << "Purée!" << endl; 143 144 if (c2 != NULL) { //C'est alors une constante. 145 //string constantValue = localConstantTable->find(hatFile)->getText(); //"getText()" returns the constant value. 146 // constantValue.append(".h"); 147 //m_hatnameModel->setItem(m_hatnameModel->rowCount(), new QStandardItem(QString(hatFile.c_str())));//QStandardItem(QString(constantValue.c_str()))) ; 148 //localHeaderList->push_back(hatFile); 149 //eraseDataFromLineEdit(); 150 //m_delHatButton->setEnabled(true); 151 cout << "Cool, c'est une constante!" << endl; 152 } 153 else 154 cout << "Purée!" << endl; 155 156 if (c3 != NULL) { //C'est alors une constante. 157 //string constantValue = localConstantTable->find(hatFile)->getText(); //"getText()" returns the constant value. 158 // constantValue.append(".h"); 159 //m_hatnameModel->setItem(m_hatnameModel->rowCount(), new QStandardItem(QString(hatFile.c_str())));//QStandardItem(QString(constantValue.c_str()))) ; 160 //localHeaderList->push_back(hatFile); 161 //eraseDataFromLineEdit(); 162 //m_delHatButton->setEnabled(true); 163 cout << "Cool, c'est une constante!" << endl; 164 } 165 else 166 cout << "Purée!" << endl; 167 168 169 170 // else { //Ce n'est pas une constante. 171 172 173 // if (!isInt(d1)) { 174 // QMessageBox::about(this, tr("Erreur de saisie!"), 175 // tr("<p>Saisir des valeurs entiÚres dans le champ D1! <p>.")); 176 // return; 177 // } 178 179 /* if (!isString(name)) { 180 QMessageBox::about(this, tr("Erreur de saisie!"), 181 tr("<p>Le premier champ contient au moins un caractere non conforme!<p> Les Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 182 return; 183 } 184 if (!isInt(d1)) { 185 QMessageBox::about(this, tr("Erreur de saisie!"), 186 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D1! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 187 return; 188 } 189 if (!isInt(d2)) { 190 QMessageBox::about(this, tr("Erreur de saisie!"), 191 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D2! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 192 return; 193 } 194 if (!isInt(d3)) { 195 QMessageBox::about(this, tr("Erreur de saisie!"), 196 tr("<p>Seuls les nombres entiers sont acceptes au niveau du champ D3! <p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 197 return; 198 } 199 200 if (!isString(traj)) { 201 QMessageBox::about(this, tr("Erreur de saisie!"), 202 tr("<p>Vous avez saisi au moins un caractere non conforme au niveau du champ de la trajectoire!<p> Cliquer sur <b>ok</b> pour fermer cette fenetre.")); 203 return; 204 } 205 206 //static int row = 0; 207 // int l = 0; 208 //else 209 //if (l >= 0) 210 // {*/ 211 212 /*modeleSpace->setItem(row, 0, new QStandardItem(m_spaceNameLine->text())); 213 modeleSpace->setItem(row, 1, new QStandardItem(QString(dim.c_str()))); 214 modeleSpace->setItem(row, 2, new QStandardItem(m_spaceTrajname->currentText())); 215 216 Identifier id(name, row); 217 vector <int> vecteur; 218 vecteur.push_back(toInt(d1)); 219 vecteur.push_back(toInt(d2)); 220 vecteur.push_back(toInt(d3)); 221 Space espace(name, localTrajectoryTable->find(traj), vecteur); 222 localSpaceTable->push_back(espace); 223 toInitialize();*/ 224 // } 225 226 if (!isSpaceTableEmpty()) m_spaceDeleteButton->setEnabled(true); 195 if (!(d1.empty() || d2.empty() || d3.empty())) { 196 Space espace(name, localTrajectoryTable->find(traj), theShape); 197 localSpaceTable->push_back(espace); 198 } 199 toInitialize(); 200 201 if (!isSpaceTableEmpty()) m_spaceDeleteButton->setEnabled(true); 202 } 227 203 } 228 204 -
trunk/yao/src/interface/src/include/OperaWindow.hpp
r357 r360 2 2 * \file OperaWindow.hpp 3 3 * \brief Opera class for visual_YAO. 4 * \version 20 09/12/26(yyyy/mm/dd)5 * \author MAYAKI Abdouramane & MAYOMBO Alexis.4 * \version 2010/06/24 (yyyy/mm/dd) 5 * \author MAYAKI Abdouramane. 6 6 */ 7 7 8 8 9 #ifndef O peraWindow_HPP10 #define O peraWindow_HPP9 #ifndef OPERAWINDOW_HPP 10 #define OPERAWINDOW_HPP 11 11 12 #include "TrajectoryWindow.hpp"13 12 #include "../../ui_operawindow.h" 14 13 #include <QStandardItemModel> … … 33 32 Q_OBJECT /*!< Must be declared for using signals and slots.*/ 34 33 35 34 public : 36 35 /*! 37 36 * \brief Constructor … … 43 42 44 43 45 OperaWindow(yao::Table <yao:: Space> *aSpaceTable, yao::Table <yao::Trajectory> *aTrajectory, yao::Table <yao::Constant> *aConstantTable, QWidget *parent=0); /*!< This function sets the file's name. */44 OperaWindow(yao::Table <yao::Operator> *aOperaTable, yao::Table <yao::Trajectory> *aTrajectory, yao::Table <yao::Constant> *aConstantTable, QWidget *parent=0); /*!< This function sets the file's name. */ 46 45 47 QStringList getData(); /*!< This function returns the Opera's data. */48 46 void toInitialize(); // Est appelée pour réinitialiser les champs. 49 47 bool isString(std::string aString); // Teste si le parametre est une chaine. 50 48 bool isInt(std::string aStringToInt);//Teste si le parametre est un entier. 51 49 //void addRow(); /*!< This function is called to add row in the visual window model. */ 52 void testPresenceLigne();53 bool testContenu(int anInt);54 50 const int toInt(const std::string& s); 55 51 //typedef yao::Operator Opera; 52 bool isOperaTableEmpty(); 56 53 57 54 public slots: /*!< Functions called after a click. */ 58 55 59 56 void addOperaRow(); … … 66 63 67 64 protected: 68 69 65 void closeEvent(QCloseEvent *event); 66 70 67 private : 71 72 68 73 69 QModelIndex index; 74 QStandardItemModel *m_operaModel; 70 QStandardItemModel *modeleOpera; 71 75 72 76 73 QStringList m_horizontalHeader; 77 QStringList m_ OperaData;74 QStringList m_operaData; 78 75 QStringList m_localData; 79 //yao::Table <yao::Identifier> *localOperaIdentifier; 80 //yao::Table <Operator> *localOperaExtent; 76 //OperaController m_spc; 81 77 yao::Table <yao::Trajectory> *localTrajectoryTable; 82 78 yao::Table <yao::Constant> *localConstantTable; 83 79 yao::Table <yao::Operator> *localOperaTable; //!< Table of so-called Operas (model operators). 84 bool isCalled;85 int compteur;86 80 87 81 }; 88 #endif // O peraWindow_HPP82 #endif // OPERAWINDOW_HPP -
trunk/yao/src/interface/src/ui_/operawindow.ui
r350 r360 7 7 <x>0</x> 8 8 <y>0</y> 9 <width>50 9</width>10 <height> 399</height>9 <width>500</width> 10 <height>439</height> 11 11 </rect> 12 12 </property> … … 19 19 <x>10</x> 20 20 <y>10</y> 21 <width>4 91</width>22 <height> 191</height>21 <width>481</width> 22 <height>231</height> 23 23 </rect> 24 24 </property> … … 29 29 <enum>QFrame::Raised</enum> 30 30 </property> 31 <widget class="QWidget" name=" layoutWidget">31 <widget class="QWidget" name=""> 32 32 <property name="geometry"> 33 33 <rect> 34 34 <x>10</x> 35 35 <y>10</y> 36 <width>2 51</width>37 <height> 173</height>36 <width>291</width> 37 <height>208</height> 38 38 </rect> 39 39 </property> 40 <layout class="QHBoxLayout" name="horizontalLayout_ 5">40 <layout class="QHBoxLayout" name="horizontalLayout_7"> 41 41 <item> 42 42 <layout class="QVBoxLayout" name="verticalLayout_3"> … … 49 49 </item> 50 50 <item> 51 <widget class="QLabel" name="label"> 52 <property name="text"> 53 <string>type</string> 54 </property> 55 </widget> 56 </item> 57 <item> 51 58 <widget class="QLabel" name="m_OperaD1Label"> 52 59 <property name="text"> … … 83 90 <layout class="QHBoxLayout" name="horizontalLayout_6"> 84 91 <item> 85 <widget class="QLineEdit" name="m_ OperaNameLine"/>92 <widget class="QLineEdit" name="m_operaNameLine"/> 86 93 </item> 87 94 <item> … … 101 108 </item> 102 109 <item> 110 <layout class="QHBoxLayout" name="horizontalLayout_5"> 111 <item> 112 <widget class="QLineEdit" name="lineEdit"/> 113 </item> 114 <item> 115 <spacer name="horizontalSpacer_6"> 116 <property name="orientation"> 117 <enum>Qt::Horizontal</enum> 118 </property> 119 <property name="sizeHint" stdset="0"> 120 <size> 121 <width>260</width> 122 <height>20</height> 123 </size> 124 </property> 125 </spacer> 126 </item> 127 </layout> 128 </item> 129 <item> 103 130 <layout class="QHBoxLayout" name="horizontalLayout_4"> 104 131 <item> 105 <widget class="QComboBox" name="m_ OperaD1"/>132 <widget class="QComboBox" name="m_operaD1"/> 106 133 </item> 107 134 <item> … … 123 150 <layout class="QHBoxLayout" name="horizontalLayout_3"> 124 151 <item> 125 <widget class="QComboBox" name="m_ OperaD2"/>152 <widget class="QComboBox" name="m_operaD2"/> 126 153 </item> 127 154 <item> … … 143 170 <layout class="QHBoxLayout" name="horizontalLayout_2"> 144 171 <item> 145 <widget class="QComboBox" name="m_ OperaD3"/>172 <widget class="QComboBox" name="m_operaD3"/> 146 173 </item> 147 174 <item> … … 163 190 <layout class="QHBoxLayout" name="horizontalLayout"> 164 191 <item> 165 <widget class="QComboBox" name="m_ OperaTrajname"/>192 <widget class="QComboBox" name="m_operaTrajname"/> 166 193 </item> 167 194 <item> … … 189 216 <rect> 190 217 <x>10</x> 191 <y>2 10</y>192 <width>4 91</width>218 <y>250</y> 219 <width>481</width> 193 220 <height>181</height> 194 221 </rect> … … 200 227 <enum>QFrame::Raised</enum> 201 228 </property> 202 <widget class="QPushButton" name="m_ OperaHelpButton">229 <widget class="QPushButton" name="m_operaHelpButton"> 203 230 <property name="geometry"> 204 231 <rect> 205 <x> 400</x>232 <x>380</x> 206 233 <y>140</y> 207 234 <width>41</width> … … 213 240 </property> 214 241 </widget> 215 <widget class="QTableView" name="m_ OperaTableView">242 <widget class="QTableView" name="m_operaTableView"> 216 243 <property name="geometry"> 217 244 <rect> 218 245 <x>10</x> 219 246 <y>10</y> 220 <width>3 81</width>247 <width>361</width> 221 248 <height>161</height> 222 249 </rect> … … 226 253 <property name="geometry"> 227 254 <rect> 228 <x> 400</x>229 <y> 30</y>255 <x>380</x> 256 <y>20</y> 230 257 <width>81</width> 231 258 <height>95</height> … … 234 261 <layout class="QVBoxLayout" name="verticalLayout"> 235 262 <item> 236 <widget class="QPushButton" name="m_ OperaAddButton">263 <widget class="QPushButton" name="m_operaAddButton"> 237 264 <property name="text"> 238 265 <string>Ajouter</string> … … 241 268 </item> 242 269 <item> 243 <widget class="QPushButton" name="m_ OperaDeleteButton">270 <widget class="QPushButton" name="m_operaDeleteButton"> 244 271 <property name="text"> 245 272 <string>Supprimer</string> … … 248 275 </item> 249 276 <item> 250 <widget class="QPushButton" name="m_ OperaQuitButton">277 <widget class="QPushButton" name="m_operaQuitButton"> 251 278 <property name="text"> 252 279 <string>Quitter</string> … … 259 286 </widget> 260 287 <tabstops> 261 <tabstop>m_OperaNameLine</tabstop> 262 <tabstop>m_OperaD1</tabstop> 263 <tabstop>m_OperaD2</tabstop> 264 <tabstop>m_OperaD3</tabstop> 265 <tabstop>m_OperaTrajname</tabstop> 266 <tabstop>m_OperaAddButton</tabstop> 267 <tabstop>m_OperaDeleteButton</tabstop> 268 <tabstop>m_OperaQuitButton</tabstop> 269 <tabstop>m_OperaTableView</tabstop> 270 <tabstop>m_OperaHelpButton</tabstop> 288 <tabstop>m_operaNameLine</tabstop> 289 <tabstop>lineEdit</tabstop> 290 <tabstop>m_operaD1</tabstop> 291 <tabstop>m_operaD2</tabstop> 292 <tabstop>m_operaD3</tabstop> 293 <tabstop>m_operaTrajname</tabstop> 294 <tabstop>m_operaAddButton</tabstop> 295 <tabstop>m_operaDeleteButton</tabstop> 296 <tabstop>m_operaQuitButton</tabstop> 297 <tabstop>m_operaTableView</tabstop> 298 <tabstop>m_operaHelpButton</tabstop> 271 299 </tabstops> 272 300 <resources/>
Note: See TracChangeset
for help on using the changeset viewer.