27 #include "../../../common/StringUtils.h" 
   37 #include <boost/filesystem.hpp> 
   38 #include <boost/format.hpp> 
   41 #include <QtCore/QFile> 
   42 #include <QtCore/QTextStream> 
   43 #include <QtGui/QApplication> 
   44 #include <QtGui/QFileDialog> 
   45 #include <QtGui/QMessageBox> 
   46 #include <QtGui/QVBoxLayout> 
   49 #include <Qsci/qsciscintilla.h> 
   60   m_txtEditor->setAutoCompletionSource(QsciScintilla::AcsAll);
 
   64   m_txtEditor->setFolding(QsciScintilla::PlainFoldStyle, 2);
 
   66   QVBoxLayout* mainLayout = 
new QVBoxLayout;
 
   70   setLayout(mainLayout);
 
   86     return QString(tr(
"lang-unknown"));
 
   88   boost::filesystem::path fpath(m_fileName->toStdString());
 
   93   std::string::size_type pos = fext.find(
'.');
 
   95   if(pos != std::string::npos)
 
   96     return QString(fext.substr(pos + 1).c_str());
 
   98     return QString(fext.c_str());
 
  104     return QString(tr(
"New-Script"));
 
  106   boost::filesystem::path fpath(m_fileName->toStdString());
 
  108   return QString(fpath.filename().string().c_str());
 
  116   QFile file(fileName);
 
  118   if(!file.open(QFile::ReadOnly))
 
  120     QMessageBox::warning(
this,
 
  122                          tr(
"Cannot read file %1:\n%2.").arg(fileName).arg(file.errorString()));
 
  126   QTextStream ifile(&file);
 
  128   QApplication::setOverrideCursor(Qt::WaitCursor);
 
  130   m_txtEditor->setText(ifile.readAll());
 
  132   QApplication::restoreOverrideCursor();
 
  134   m_fileName = 
new QString(fileName);
 
  138   m_hasChanged = 
false;
 
  146     saveFile(*m_fileName);
 
  148   m_hasChanged = 
false;
 
  153   QString fileName = QFileDialog::getSaveFileName(
this);
 
  155   if(fileName.isEmpty())
 
  160   m_fileName = 
new QString(fileName);
 
  166   m_hasChanged = 
false;
 
  176   m_txtEditor->clear();
 
  184   m_hasChanged = 
false;
 
  192   else if(!m_hasChanged && (m_fileName == 0)) 
 
  235   m_txtEditor->zoomIn();
 
  236   m_txtEditor->setMarginWidth(1, QString(
"0000"));
 
  241   m_txtEditor->zoomOut();
 
  242   m_txtEditor->setMarginWidth(1, QString(
"0000"));
 
  252   QFile file(fileName);
 
  254   if(!file.open(QFile::WriteOnly))
 
  256     QMessageBox::warning(
this,
 
  257                          tr(
"TerraLib Code Editor"),
 
  258                          tr(
"Cannot write file %1:\n%2.").arg(fileName).arg(file.errorString()));
 
  262   QTextStream ofile(&file);
 
  264   QApplication::setOverrideCursor(Qt::WaitCursor);
 
  266   ofile << m_txtEditor->text();
 
  268   QApplication::restoreOverrideCursor();
 
  285   QString lang = getScriptType();
 
  289   m_txtEditor->setLexer(m_lexer);
 
QString getScriptName() const 
 
void saveFile(const QString &fileName)
 
A widget that can be used to show and control he execution of a script. 
 
QString getScriptType() const 
 
std::string Convert2UCase(const std::string &value)
It converts a string to upper case. 
 
ScriptWidget(QWidget *parent)
 
static QsciLexer * make(const QString &lang, QObject *parent=0)
 
void open(const QString &fileName)
 
A factory method for language lexers. 
 
QsciScintilla * m_txtEditor