Commit a87b348f authored by Christopher Combs's avatar Christopher Combs
Browse files

Added TemplateEditorWidget. References #5168.

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/branches/ipce@8342 41f8697f-d340-4b68-9986-7bafba869bb8
parent 8cdcb13b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
ifeq ($(ISISROOT), $(BLANK))
.SILENT:
error:
	echo "Please set ISISROOT";
else
	include $(ISISROOT)/make/isismake.objs
endif
 No newline at end of file
+67 −0
Original line number Diff line number Diff line
#include "TemplateEditorWidget.h"
#include "ui_TemplateEditorWidget.h"

#include "Directory.h"
#include "Template.h"

namespace Isis {


  TemplateEditorWidget::TemplateEditorWidget(Template* currentTemplate, Directory *directory,
                                             QWidget *parent) : m_ui(new Ui::TemplateEditorWidget) {
    m_ui->setupUi(this);
    m_template = currentTemplate;

    QFile templateFile(m_template->fileName());
    templateFile.open(QFile::ReadOnly | QFile::Text);
    QTextStream textStream(&templateFile);
    m_ui->templateTextEdit->setText(textStream.readAll());
    templateFile.close();

    connect(m_ui->templateTextSave, SIGNAL (released()),this, SLOT (saveText()));
    // connect(m_ui->templateTextSaveAs, SIGNAL (released()),this, SLOT (saveAsText()));

  }


  TemplateEditorWidget::~TemplateEditorWidget() {
    delete m_ui;
  }


  void TemplateEditorWidget::saveText() {
    //We create a new QFile just in case the template's file name has changed
    QFile templateFile(m_template->fileName());

    if (templateFile.open(QFile::WriteOnly | QFile::Text)) {
      templateFile.resize(0);
      templateFile.write(m_ui->templateTextEdit->toPlainText().toUtf8());
      templateFile.close();
    }
  }

  // Future plans to include Save As button

  // void TemplateEditorWidget::saveAsText() {
  //   //We create a new QFile just in case the template's file name has changed
  //
  //   QString templateFileName = QFileDialog::getSaveFileName(
  //       qobject_cast<QWidget *>(parent()),
  //       "Save File",
  //       QString(),);
  //
  //   Template *newTemplate(m_template);
  //   newTemplate->fileName = templateFileName;
  //   m_template = newTemplate;
  //
  //   m_directory->project()-> // add to project item model
  //
  //   QFile templateFile(templateFileName);
  //
  //   if (templateFile.open(QFile::WriteOnly | QFile::Text)) {
  //     templateFile.resize(0);
  //     templateFile.write(m_ui->templateTextEdit->toPlainText().toUtf8());
  //     templateFile.close();
  //   }
  // }
}
+50 −0
Original line number Diff line number Diff line
#ifndef TemplateEditorWidget_H
#define TemplateEditorWidget_H

#include <QFile>
#include <QFrame>
#include <QPushButton>
#include <QString>
#include <QTextEdit>
#include <QTextStream>

namespace Ui {
  class TemplateEditorWidget;
}

namespace Isis {
  class Directory;
  class Template;

  /**
   * @brief Widget for displaying information about a target
   *
   * @author 2017-12-05 Christopher Combs
   *
   * @internal
   *   @history 2017-12-05 Christopher Combs - Original version.
   *
   */

   class TemplateEditorWidget : public QFrame {
     Q_OBJECT

     public:
       explicit TemplateEditorWidget(Template * currentTemplate, Directory *directory, QWidget *parent = 0);

       ~TemplateEditorWidget();

     public slots:
       void saveText();

     private:
       Ui::TemplateEditorWidget *m_ui;

       Directory *m_directory;
       Template *m_template;
   };
}



#endif
+48 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>TemplateEditorWidget</class>
 <widget class="QFrame" name="TemplateEditorWidget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
   </rect>
  </property>
  <property name="minimumSize">
   <size>
    <width>0</width>
    <height>0</height>
   </size>
  </property>
  <property name="maximumSize">
   <size>
    <width>420</width>
    <height>16777215</height>
   </size>
  </property>
  <property name="windowTitle">
   <string>DockWidget</string>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
      <widget class="QTextEdit" name="templateTextEdit">
       <property name="font">
        <font>
         <pointsize>10</pointsize>
        </font>
       </property>

      </widget>
    </item>
    <item>
      <widget class="QPushButton" name="templateTextSave">
        <property name="text">
         <string> Save Changes </string>
        </property>
      </widget>
    </item>
  </layout>
 </widget>
 <resources/>
 <connections/>
</ui>