Isis 3 Programmer Reference
Isis::MosaicController Class Reference

#include <MosaicController.h>

Inheritance diagram for Isis::MosaicController:
Inheritance graph
Collaboration diagram for Isis::MosaicController:
Collaboration graph

Public Slots

void saveProject (QString filename)
 
void readProject (QString filename)
 
void openImages (QStringList filenames)
 Handle opening cubes by filename.
 
void openProjectImages (PvlObject projectImages)
 

Signals

void imagesAdded (ImageList images)
 Emitted when new images are available.
 
void imagesAdded (ImageList *images)
 
void allImagesClosed ()
 

Public Member Functions

 MosaicController (QStatusBar *status, QSettings &settings)
 MosaicWidget constructor.
 
virtual ~MosaicController ()
 Free the allocated memory by this object.
 
MosaicSceneWidgetgetMosaicScene ()
 
MosaicSceneWidgetgetMosaicWorldScene ()
 
ImageFileListWidgetgetImageFileList ()
 
void addExportActions (QMenu &fileMenu)
 Add actions that are export-related to the menu.
 
QProgressBargetProgress ()
 
void saveProject ()
 
QList< QAction * > getSettingsActions ()
 
void saveSettings (QSettings &settings)
 

Private Slots

void changeMaxThreads ()
 
void imageClosed (QObject *image)
 An open image is being deleted.
 
void imagesReady (ImageList)
 
void saveList ()
 

Private Member Functions

void applyMaxThreadCount ()
 
void convertV1ToV2 (Pvl &project)
 This converts qmos project files (no other project files existed) from their original version (file names everywhere, CubeDisplayProperties, non-OR'able display properties) to the second major version.
 

Private Attributes

ImageList m_images
 
QPointer< ImageFileListWidgetm_fileList
 
QPointer< MosaicSceneWidgetm_scene
 
QPointer< MosaicSceneWidgetm_worldScene
 
QPointer< ImageReaderm_imageReader
 
int m_maxThreads
 
QMutex * m_mutex
 

Detailed Description

Author
????-??-?? Stacy Alley
History

2010-05-10 Christopher Austin - added cnet connectivity functionality and fixed a few design issues

2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.

2011-08-08 Steven Lambright - Refactored. Now uses scene widget's preloadFromPvl.

2011-08-12 Steven Lambright - Export options now come from the scene and the file list, not directly from this controller. Fixes #342

2011-09-26 Steven Lambright - Calling openCubes many times in a row now works.

2011-12-05 Steven Lambright - Added fixes for maximum number of simultaneously open files. It now stays lower and has an option to become drastically lower.

2011-12-16 Steven Lambright - Applies fixes for maximum number of open files to opening project files and fixed progress to be more accurate. Fixes #635.

2012-09-17 Steven Lambright - Added compatibility with old versions of project files, updated to use changed mosaic scene widget constructor.

2013-03-19 Steven Lambright - Added option for changing default file list columns in the settings menu.

Definition at line 67 of file MosaicController.h.

Constructor & Destructor Documentation

◆ MosaicController()

Isis::MosaicController::MosaicController ( QStatusBar * status,
QSettings & settings )

MosaicWidget constructor.

MosaicWidget is derived from QSplitter, the left side of the splitter is a QTreeWidget and the right side of the splitter is a QGraphicsView.

Parameters
parent

Definition at line 44 of file MosaicController.cpp.

References imagesAdded().

◆ ~MosaicController()

Isis::MosaicController::~MosaicController ( )
virtual

Free the allocated memory by this object.

Definition at line 80 of file MosaicController.cpp.

Member Function Documentation

◆ addExportActions()

void Isis::MosaicController::addExportActions ( QMenu & fileMenu)

Add actions that are export-related to the menu.

Definition at line 91 of file MosaicController.cpp.

◆ applyMaxThreadCount()

void Isis::MosaicController::applyMaxThreadCount ( )
private

Definition at line 278 of file MosaicController.cpp.

◆ changeMaxThreads

void Isis::MosaicController::changeMaxThreads ( )
privateslot

Definition at line 190 of file MosaicController.cpp.

◆ convertV1ToV2()

void Isis::MosaicController::convertV1ToV2 ( Pvl & project)
private

This converts qmos project files (no other project files existed) from their original version (file names everywhere, CubeDisplayProperties, non-OR'able display properties) to the second major version.

Cubes are now Images, Display properties' indices have changed, Image ID's instead of file names in many places.

This is only intended to get the project to the major V2 version... minor version adjustments ought to be handled internally by each object.

Definition at line 297 of file MosaicController.cpp.

References Isis::PvlContainer::deleteKeyword(), Isis::PvlObject::findObject(), Isis::PvlKeyword::isNamed(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::PvlContainer::setName(), and Isis::PvlKeyword::setName().

◆ getImageFileList()

ImageFileListWidget * Isis::MosaicController::getImageFileList ( )
inline

Definition at line 82 of file MosaicController.h.

◆ getMosaicScene()

MosaicSceneWidget * Isis::MosaicController::getMosaicScene ( )
inline

Definition at line 74 of file MosaicController.h.

◆ getMosaicWorldScene()

MosaicSceneWidget * Isis::MosaicController::getMosaicWorldScene ( )
inline

Definition at line 78 of file MosaicController.h.

◆ getProgress()

QProgressBar * Isis::MosaicController::getProgress ( )

Definition at line 109 of file MosaicController.cpp.

◆ getSettingsActions()

QList< QAction * > Isis::MosaicController::getSettingsActions ( )

Definition at line 131 of file MosaicController.cpp.

◆ imageClosed

void Isis::MosaicController::imageClosed ( QObject * image)
privateslot

An open image is being deleted.

Definition at line 221 of file MosaicController.cpp.

References Isis::ImageList::erase().

◆ imagesAdded

void Isis::MosaicController::imagesAdded ( ImageList images)
signal

Emitted when new images are available.

Referenced by MosaicController().

◆ imagesReady

void Isis::MosaicController::imagesReady ( ImageList images)
privateslot

Definition at line 167 of file MosaicController.cpp.

◆ openImages

void Isis::MosaicController::openImages ( QStringList cubeNames)
slot

Handle opening cubes by filename.

This class constructs and owns the actual Cube objects.

Definition at line 157 of file MosaicController.cpp.

◆ openProjectImages

void Isis::MosaicController::openProjectImages ( PvlObject projectImages)
slot

Definition at line 162 of file MosaicController.cpp.

◆ readProject

void Isis::MosaicController::readProject ( QString filename)
slot

Definition at line 235 of file MosaicController.cpp.

◆ saveList

void Isis::MosaicController::saveList ( )
privateslot

Definition at line 261 of file MosaicController.cpp.

◆ saveProject

void Isis::MosaicController::saveProject ( QString filename)
slot

Definition at line 114 of file MosaicController.cpp.

◆ saveSettings()

void Isis::MosaicController::saveSettings ( QSettings & settings)

Definition at line 146 of file MosaicController.cpp.

Member Data Documentation

◆ m_fileList

QPointer<ImageFileListWidget> Isis::MosaicController::m_fileList
private

Definition at line 122 of file MosaicController.h.

◆ m_imageReader

QPointer<ImageReader> Isis::MosaicController::m_imageReader
private

Definition at line 125 of file MosaicController.h.

◆ m_images

ImageList Isis::MosaicController::m_images
private

Definition at line 120 of file MosaicController.h.

◆ m_maxThreads

int Isis::MosaicController::m_maxThreads
private

Definition at line 127 of file MosaicController.h.

◆ m_mutex

QMutex* Isis::MosaicController::m_mutex
private

Definition at line 131 of file MosaicController.h.

◆ m_scene

QPointer<MosaicSceneWidget> Isis::MosaicController::m_scene
private

Definition at line 123 of file MosaicController.h.

◆ m_worldScene

QPointer<MosaicSceneWidget> Isis::MosaicController::m_worldScene
private

Definition at line 124 of file MosaicController.h.


The documentation for this class was generated from the following files: