Salome HOME
d012248351f1ebb30df98fe9337b4c4e2c6b856d
[modules/homard.git] / src / HOMARDGUI / MonEditFile.cxx
1 // Copyright (C) 2011-2013  CEA/DEN, EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 using namespace std;
21
22 #include "MonEditFile.h"
23
24 #include <QFile>
25 #include <QTextStream>
26 #include <QMessageBox>
27
28 #include "SalomeApp_Tools.h"
29 #include "HOMARDGUI_Utils.h"
30 #include "HomardQtCommun.h"
31 #include <utilities.h>
32
33 /* ---------------------------------------------------------
34  * MonEditFile classe derivee de EditFile
35  *               elle meme generee par uic
36  * Ouvre le fichier passe en parametre
37  * et affiche le texte correspondant dans la fenetre de log
38  * ---------------------------------------------------------
39  */
40
41 /* ---------------------------------------------------------
42  * MonEditFile Constructeur
43  * ---------------------------------------------------------
44  */
45 MonEditFile::MonEditFile( QWidget* parent,  bool modal,
46                           HOMARD::HOMARD_Gen_var myHomardGen,
47                           QString aFileName):
48 //    QWidget(0),
49     Ui_EditFile(),
50     _aFileName (aFileName),
51     _codret (0)
52 {
53   MESSAGE("Debut de MonEditFile " << aFileName.toStdString().c_str());
54   setupUi(this);
55   InitConnect();
56   EditText();
57 }
58 /*
59  *  Destroys the object and frees any allocated resources
60  */
61 MonEditFile::~MonEditFile()
62 {
63    MESSAGE("Destructeur de ~MonEditFile");
64 }
65 // ------------------------------------------------------------------------
66 void MonEditFile::InitConnect()
67 // ------------------------------------------------------------------------
68 {
69     connect( buttonQuit,     SIGNAL(pressed()), this, SLOT(close()));
70     connect( buttonPrint,    SIGNAL(pressed()), this, SLOT(PushOnPrint()));
71 }
72 // ------------------------------------------------------------------------
73 void MonEditFile::EditText()
74 // ------------------------------------------------------------------------
75 {
76 // Creation de l'objet fichier QT associe
77   QFile file( _aFileName );
78 // Ouverture
79   bool bOpen = file.open( QIODevice::ReadOnly | QIODevice::Text ) ;
80 //
81   if ( bOpen )
82   {
83 // Lecture
84 //    Remarque : il serait plus clair de tout lire d'un coup mais cela ne marche pas !
85 //               alors on fait ligne par ligne et on cumule en ajoutant un saut de ligne.
86       QTextStream stream( &file );
87       QString tout;
88       while ( !stream.atEnd() )
89       {
90         tout = tout + stream.readLine() + "\n" ;
91       }
92 //       tout = stream.readAll() ;
93       QTBEditFile->setPlainText( tout );
94   }
95   else
96   {
97      // GERALD -- QMESSAGE BOX
98      MESSAGE( "EditText " << _aFileName.toStdString().c_str() << " est impossible a ouvrir ");
99     QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
100                               QObject::tr("HOM_SELECT_FILE_3") );
101     _codret = 1 ;
102   }
103 }
104 // ------------------------------------------------------------------------
105 void MonEditFile::PushOnPrint()
106 // ------------------------------------------------------------------------
107 {
108   MESSAGE("Debut de MonEditFile::PushOnPrint")
109   QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
110                             QObject::tr("HOM_INACTIVE_BUTTON") );
111   return;
112 }
113
114