Commit 8cdcb13b authored by Christopher Combs's avatar Christopher Combs
Browse files

Added TemplateEditViewWidget and TemplateEditViewWorkOrder. Fixes #5168.

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/branches/ipce@8341 41f8697f-d340-4b68-9986-7bafba869bb8
parent 4e3c92b2
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@
#include "OpenProjectWorkOrder.h"
#include "SensorInfoWidget.h"
#include "TargetInfoWidget.h"
#include "TemplateEditorWidget.h"
#include "ViewSubWindow.h"

namespace Isis {
@@ -213,7 +214,8 @@ namespace Isis {
   */
  void IpceMainWindow::addView(QWidget *newWidget) {
    if ( qobject_cast<SensorInfoWidget *>(newWidget) ||
         qobject_cast<TargetInfoWidget *>(newWidget) ) {
         qobject_cast<TargetInfoWidget *>(newWidget) ||
         qobject_cast<TemplateEditorWidget *>(newWidget)) {
      QDockWidget *dock = new QDockWidget( newWidget->windowTitle() );
      dock->setAttribute(Qt::WA_DeleteOnClose, true);
      dock->setWidget(newWidget);
+0 −2
Original line number Diff line number Diff line
@@ -59,5 +59,3 @@ int main(int argc, char *argv[]) {
  }

}

+4 −2
Original line number Diff line number Diff line
@@ -226,8 +226,10 @@ namespace Isis {
  void Control::copyToNewProjectRoot(const Project *project, FileName newProjectRoot) {
    if (FileName(newProjectRoot).toString() != FileName(project->projectRoot()).toString()) {

      QString newNetworkPath =  project->cnetRoot(newProjectRoot.toString()) + "/" +
                  FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name();
      FileName newCnetFileName(project->cnetRoot(newProjectRoot.toString()) + "/" +
          FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name());
      controlNet()->Write(newCnetFileName.toString());
    }

      QString oldNetworkPath = project->cnetRoot(project->projectRoot()) + "/" +
                  FileName(m_fileName).dir().dirName() + "/" + FileName(m_fileName).name();
+55 −0
Original line number Diff line number Diff line
@@ -92,6 +92,8 @@
#include "TableViewContent.h"
#include "TargetInfoWidget.h"
#include "TargetGetInfoWorkOrder.h"
#include "TemplateEditorWidget.h"
#include "TemplateEditViewWorkOrder.h"
#include "ToolPad.h"
#include "WarningTreeWidget.h"
#include "WorkOrder.h"
@@ -154,6 +156,7 @@ namespace Isis {
      //createWorkOrder<RemoveImagesWorkOrder>();
      createWorkOrder<TargetGetInfoWorkOrder>();
      createWorkOrder<BundleObservationViewWorkOrder>();
      createWorkOrder<TemplateEditViewWorkOrder>();

      //  Main menu actions
      m_exportControlNetWorkOrder = createWorkOrder<ExportControlNetWorkOrder>();
@@ -294,6 +297,8 @@ namespace Isis {
    m_matrixViewWidgets.clear();
    m_sensorInfoWidgets.clear();
    m_targetInfoWidgets.clear();
    m_templateEditorWidgets.clear();

    m_projectItemModel->clean();
    emit directoryCleaned();
  }
@@ -918,6 +923,27 @@ namespace Isis {
  }


  /**
   * @brief Add template editor view widget to the window.
   * @return (TemplateEditorWidget*) The widget to view.
   */
  TemplateEditorWidget *Directory::addTemplateEditorView(Template *currentTemplate) {
    TemplateEditorWidget *result = new TemplateEditorWidget(currentTemplate, this);

    connect( result, SIGNAL( destroyed(QObject *) ),
             this, SLOT( cleanupTemplateEditorWidgets(QObject *) ) );

    m_templateEditorWidgets.append(result);

    result->setWindowTitle( tr("%1").arg( FileName(currentTemplate->fileName()).name() ) );
    result->setObjectName( result->windowTitle() );

    emit newWidgetAvailable(result);

    return result;
  }


  /**
   * @brief Add sensor data view widget to the window.
   * @return @b (SensorInfoWidget*) The widget to view.
@@ -1145,6 +1171,20 @@ namespace Isis {
  }


  /**
   * @brief Removes pointers to deleted TemplateEditorWidget objects.
   */
  void Directory::cleanupTemplateEditorWidgets(QObject *obj) {

    TemplateEditorWidget *templateEditorWidget = static_cast<TemplateEditorWidget *>(obj);
    if (!templateEditorWidget) {
      return;
    }
    m_templateEditorWidgets.removeAll(templateEditorWidget);
    m_project->setClean(false);
  }


  /**
   * @brief  Adds a new Project object to the list of recent projects if it has not
   * already been added.
@@ -1239,6 +1279,21 @@ namespace Isis {
  }


  /**
   * @brief Accessor for the list of TemplateEditorWidgets currently available.
   * @return @b QList<TemplateEditorWidget *> The list of TemplateEditorWidget objects.
   */
  QList<TemplateEditorWidget *> Directory::templateEditorViews() {
    QList<TemplateEditorWidget *> results;

    foreach (TemplateEditorWidget *widget, m_templateEditorWidgets) {
      results.append(widget);
    }

    return results;
  }


  /**
   * @brief Accessor for the list of Footprint2DViews currently available.
   * @return QList<Footprint2DView *> The list of MosaicSceneWidget objects.
+7 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ namespace Isis {
  class SensorInfoWidget;
  class TargetBody;
  class TargetInfoWidget;
  class TemplateEditorWidget;
  class WarningTreeWidget;
  class WorkOrder;
  class Workspace;
@@ -203,6 +204,8 @@ namespace Isis {
   *   @history 2017-12-01 Adam Goins Modified updateRecentProjects() to update the recent projects
   *                           menu it display a chronologically ordered list of recently loaded 
   *                           projects. Fixes #5216.
   *   @history 2017-12-05 Christopher Combs - Added support for TemplateEditorWidget and
   *                           TemplateEditViewWorkOrder. Fixes #5168.
   */
  class Directory : public QObject {
    Q_OBJECT
@@ -222,6 +225,7 @@ namespace Isis {
      Footprint2DView *addFootprint2DView();
      MatrixSceneWidget *addMatrixView();
      TargetInfoWidget *addTargetInfoView(TargetBodyQsp target);
      TemplateEditorWidget *addTemplateEditorView(Template *currentTemplate);
      SensorInfoWidget *addSensorInfoView(GuiCameraQsp camera);
      ImageFileListWidget *addImageFileListView();
      ControlPointEditView *addControlPointEditView();
@@ -251,6 +255,7 @@ namespace Isis {
      QList<MatrixSceneWidget *> matrixViews();
      QList<SensorInfoWidget *> sensorInfoViews();
      QList<TargetInfoWidget *> targetInfoViews();
      QList<TemplateEditorWidget *> templateEditorViews();
      QList<ImageFileListWidget *> imageFileListViews();
      QList<QProgressBar *> progressBars();
      ControlPointEditView *controlPointEditView();
@@ -334,6 +339,7 @@ namespace Isis {
      void cleanupMatrixViewWidgets(QObject *);
      void cleanupSensorInfoWidgets(QObject *);
      void cleanupTargetInfoWidgets(QObject *);
      void cleanupTemplateEditorWidgets(QObject *);
      //void imagesAddedToProject(ImageList *images);
      void updateControlNetEditConnections();

@@ -418,6 +424,7 @@ namespace Isis {
      QList< QPointer<MatrixSceneWidget> > m_matrixViewWidgets; //!< List of MatrixSceneWidgets
      QList< QPointer<SensorInfoWidget> > m_sensorInfoWidgets; //!< List of SensorInfoWidgets
      QList< QPointer<TargetInfoWidget> > m_targetInfoWidgets; //!< List of TargetInfoWidgets
      QList< QPointer<TemplateEditorWidget> > m_templateEditorWidgets; //!< List of TemplateEditorWidgets

      QList< QPointer<WorkOrder> > m_workOrders; //!< List of WorkOrders

Loading