Commit 7edbb84a authored by Adam Goins's avatar Adam Goins
Browse files

Modified Health Monitor to open the selected cubes from the image table.

parent 619fc28a
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -36,10 +36,14 @@
#include "ControlPointEditView.h"
#include "ControlPointEditWidget.h"
#include "CnetEditorView.h"
#include "CubeDnView.h"

#include "ControlNet.h"
#include "ControlPoint.h"
#include "Directory.h"
#include "ProjectItem.h"
#include "ProjectItemModel.h"

#include "ToolPad.h"


@@ -59,8 +63,8 @@ namespace Isis {
    connect(m_controlHealthMonitorWidget, SIGNAL(openPointEditor(ControlPoint *)),
            this, SLOT(openPointEditor(ControlPoint *)));

    connect(m_controlHealthMonitorWidget, SIGNAL(openImageEditor()),
            this, SLOT(openImageEditor()));
    connect(m_controlHealthMonitorWidget, SIGNAL(openImageEditor(QList<QString>)),
            this, SLOT(openImageEditor(QList<QString>)));

    setCentralWidget(m_controlHealthMonitorWidget);

@@ -118,8 +122,22 @@ namespace Isis {
   *
   *  It is designed to open the CubeDnView and populate it with the selected cubes.
   */
  void ControlHealthMonitorView::openImageEditor() {
    m_directory->addCubeDnView();
  void ControlHealthMonitorView::openImageEditor(QList<QString> serials) {
    CubeDnView *cubeView = m_directory->addCubeDnView();
    foreach (QString serial, serials) {
      QList<ImageList*> imageLists = m_directory->project()->images();
      foreach(ImageList *list, imageLists) {
        foreach(Image *image, *list) {
          QString imageSerial = image->serialNumber();
          if (imageSerial == serial) {
            ProjectItem *item = m_directory->model()->findItemData(QVariant::fromValue(image));
            if (item) {
              cubeView->addItem(item);
            }
          }
        }
      }
    }
  }


+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ class ControlHealthMonitorView : public AbstractProjectItemView {

  private slots:
    void openPointEditor(ControlPoint *point);
    void openImageEditor();
    void openImageEditor(QList<QString> serials);

  private:
    Directory *m_directory;
+9 −2
Original line number Diff line number Diff line
@@ -453,6 +453,7 @@ namespace Isis {

    // Create the table.
    m_imagesTable = new QTableWidget();
    m_imagesTable->addAction(new QAction("Sup"));

    connect(m_imagesTable, SIGNAL(itemDoubleClicked(QTableWidgetItem *)),
            this, SLOT(emitOpenImageEditor()));
@@ -467,7 +468,8 @@ namespace Isis {
    m_imagesTable->verticalHeader()->setVisible(false);
    m_imagesTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
    m_imagesTable->setSelectionBehavior(QAbstractItemView::SelectRows);
    m_imagesTable->setSelectionMode(QAbstractItemView::SingleSelection);
    m_imagesTable->setSelectionMode(QAbstractItemView::ExtendedSelection);

    m_imagesTable->setShowGrid(true);
    m_imagesTable->setGeometry(QApplication::desktop()->screenGeometry());
    m_imagesTable->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
@@ -661,7 +663,12 @@ namespace Isis {
   *  and opens the CubeDnView with the images selected.
   */
  void ControlHealthMonitorWidget::emitOpenImageEditor() {
    emit openImageEditor();
    QList<QString> serials;
    QModelIndexList rows = m_imagesTable->selectionModel()->selectedRows(1);
    foreach (QModelIndex index, rows) {
      serials.append(index.data().toString());
    }
    emit openImageEditor(serials);
  }


+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ namespace Isis {

    signals:
      void openPointEditor(ControlPoint *point);
      void openImageEditor();
      void openImageEditor(QList<QString> serials);

    private:
        void updateStatus(int code);