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. More...
 
void openProjectImages (PvlObject projectImages)
 

Signals

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

Public Member Functions

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

Private Slots

void changeMaxThreads ()
 
void imageClosed (QObject *image)
 An open image is being deleted. More...
 
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. More...
 

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
History:
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
History:
2011-08-08 Steven Lambright - Refactored. Now uses scene widget's preloadFromPvl.
History:
2011-08-12 Steven Lambright - Export options now come from the scene and the file list, not directly from this controller. Fixes #342
History:
2011-09-26 Steven Lambright - Calling openCubes many times in a row now works.
History:
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.
History:
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.
History:
2012-09-17 Steven Lambright - Added compatibility with old versions of project files, updated to use changed mosaic scene widget constructor.
History:
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.

◆ 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::PvlObject::hasObject(), Isis::PvlKeyword::isNamed(), Isis::PvlContainer::keywords(), Isis::PvlObject::object(), Isis::PvlObject::objects(), Isis::PvlContainer::setName(), and Isis::PvlKeyword::setName().

◆ 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().

◆ 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.


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