Isis 3 Programmer Reference
Isis::GuiCameraList Class Reference

List of GuiCameras saved as QSharedPointers. More...

#include <GuiCameraList.h>

Inheritance diagram for Isis::GuiCameraList:
Inheritance graph
Collaboration diagram for Isis::GuiCameraList:
Collaboration graph

Classes

class  XmlHandler
 XmlHandler used to save to xml files. More...
 

Signals

void countChanged (int newCount)
 Emitted when the number of GuiCameras in the list changes. More...
 

Public Member Functions

 GuiCameraList (QString name, QString path, QObject *parent=NULL)
 Create an gui camera list from a gui camera list name and path (does not read GuiCamera objects). More...
 
 GuiCameraList (QObject *parent=NULL)
 Create a blank gui camera list. More...
 
 GuiCameraList (QList< GuiCameraQsp >, QObject *parent=NULL)
 Create a gui camera list from a list of GuiCamera's. More...
 
 GuiCameraList (Project *project, XmlStackedHandlerReader *xmlReader, QObject *parent=NULL)
 Create an image list from XML. More...
 
 GuiCameraList (const GuiCameraList &)
 Copy constructor. More...
 
 ~GuiCameraList ()
 Create a gui camera list from a list of gui camera file names. More...
 
void append (GuiCameraQsp const &value)
 Appends a single GuiCamera to the list. More...
 
void append (const QList< GuiCameraQsp > &value)
 Appends another GuiCameraList to the list. More...
 
void clear ()
 Clears the list. More...
 
iterator erase (iterator pos)
 Removes the GuiCamera associated with an iterator. More...
 
iterator erase (iterator begin, iterator end)
 Removes all GuiCameras from begin up to, but not inclusing end. More...
 
void insert (int i, GuiCameraQsp const &value)
 Inserts a GuiCamera into the list at a given index. More...
 
iterator insert (iterator before, GuiCameraQsp const &value)
 Inserts a GuiCamera in front of the GuiCamera associated with an iterator. More...
 
void prepend (GuiCameraQsp const &value)
 Inserts a GuiCamera at the beginning of the list. More...
 
void push_back (GuiCameraQsp const &value)
 Inserts a GuiCamera at the end of the list. More...
 
void push_front (GuiCameraQsp const &value)
 Inserts a GuiCamera at the front of the list. More...
 
int removeAll (GuiCameraQsp const &value)
 Removes all occurances of a GuiCamera from the list. More...
 
void removeAt (int i)
 Removes the GuiCamera at a specific index. More...
 
void removeFirst ()
 Removes the first GuiCamera in the list. More...
 
void removeLast ()
 Removes the last GuiCamera in the list. More...
 
bool removeOne (GuiCameraQsp const &value)
 Removes the first occurance of a GuiCamera from the list. More...
 
void swap (QList< GuiCameraQsp > &other)
 Swaps the list with another GuiCameraList. More...
 
GuiCameraQsp takeAt (int i)
 Removes and returns the GuiCamera at a specific index. More...
 
GuiCameraQsp takeFirst ()
 Removes and returns the first GuiCamera in the list. More...
 
GuiCameraQsp takeLast ()
 Removes and returns the last GuiCamera in the list. More...
 
GuiCameraListoperator+= (const QList< GuiCameraQsp > &other)
 Appends another GuiCameraList to the list and returns a reference to this. More...
 
GuiCameraListoperator+= (GuiCameraQsp const &other)
 Appends a GuiCamera to the list and returns a reference to this. More...
 
GuiCameraListoperator<< (const QList< GuiCameraQsp > &other)
 Appends another GuiVameraList to the list and returns a reference to this. More...
 
GuiCameraListoperator<< (GuiCameraQsp const &other)
 Appends a GuiCamera to the list and returns a reference to this. More...
 
GuiCameraListoperator= (const QList< GuiCameraQsp > &rhs)
 Assigns a list of GuiCameras to the list. More...
 
GuiCameraListoperator= (const GuiCameraList &rhs)
 Assignment operator. More...
 
QList< QAction * > supportedActions (Project *project=NULL)
 
bool allSupport (GuiCameraDisplayProperties::Property prop)
 
void setName (QString newName)
 Gets a list of pre-connected actions that have to do with display, such as color, alpha, outline, fill, etc. More...
 
void setPath (QString newPath)
 Set the relative path (from the project root) to this gui camera list's folder. More...
 
QString name () const
 Get the human-readable name of this gui cameray list. More...
 
QString path () const
 Get the path to these gui camera objects in the list (relative to project root). More...
 
void save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
 Delete all of the contained GuiCamera objects from disk (see GuiCamera::deleteFromDisk()) More...
 

Private Attributes

QString m_name
 This functor is used for copying the GuiCamera objects between two projects quickly. More...
 
QString m_path
 This stores the directory name that contains the GuiCamera objects in this list. More...
 

Detailed Description

List of GuiCameras saved as QSharedPointers.

Overrides many QList methods in order to emit signals about that status of the list.

List of GuiCameras.

Author
2015-06-11 Ken Edmundson
History:

2015-06-11 Ken Edmundson - original version

2016-06-15 Jesse Mapel - Added documentation in preparation for merge from IPCE to ISIS. Fixes #4005.

Definition at line 35 of file GuiCameraList.h.

Constructor & Destructor Documentation

◆ GuiCameraList() [1/5]

Isis::GuiCameraList::GuiCameraList ( QString  name,
QString  path,
QObject parent = NULL 
)

Create an gui camera list from a gui camera list name and path (does not read GuiCamera objects).

Parameters
nameThe GuiCameraList's name (i.e. import1, import2, ...)
pathThe GuiCameraList's folder name (i.e. import1, import2, ...)
parentThe Qt-relationship parent

Definition at line 52 of file GuiCameraList.cpp.

References m_name, m_path, name(), and path().

Referenced by Isis::GuiCameraList::XmlHandler::XmlHandler().

◆ GuiCameraList() [2/5]

Isis::GuiCameraList::GuiCameraList ( QObject parent = NULL)
explicit

Create a blank gui camera list.

Parameters
parentThe Qt-relationship parent

Definition at line 63 of file GuiCameraList.cpp.

◆ GuiCameraList() [3/5]

Isis::GuiCameraList::GuiCameraList ( QList< GuiCameraQsp guiCameras,
QObject parent = NULL 
)
explicit

Create a gui camera list from a list of GuiCamera's.

Parameters
guiCamerasThe list of guiCamera's
parentThe Qt-relationship parent

Definition at line 73 of file GuiCameraList.cpp.

References append().

◆ GuiCameraList() [4/5]

Isis::GuiCameraList::GuiCameraList ( Project project,
XmlStackedHandlerReader xmlReader,
QObject parent = NULL 
)
explicit

Create an image list from XML.

Parameters
projectThe project with the gui camera list
xmlReaderThe XML reader currently at an <GuiCameraList> tag.
parentThe Qt-relationship parent

Definition at line 85 of file GuiCameraList.cpp.

References Isis::XmlStackedHandlerReader::pushContentHandler().

◆ GuiCameraList() [5/5]

Isis::GuiCameraList::GuiCameraList ( const GuiCameraList src)

Copy constructor.

Parameters
otherThe GuiCameraList to copy

Definition at line 96 of file GuiCameraList.cpp.

References m_name, and m_path.

◆ ~GuiCameraList()

Isis::GuiCameraList::~GuiCameraList ( )

Create a gui camera list from a list of gui camera file names.

This is slow (serial) and not recommended. Destructor. This does not free the GuiCamera objects from memory.

Definition at line 122 of file GuiCameraList.cpp.

Member Function Documentation

◆ append() [1/2]

void Isis::GuiCameraList::append ( GuiCameraQsp const &  value)

Appends a single GuiCamera to the list.

Parameters
valueThe GuiCamera to be appened
See also
QList<GuiCameraQsp>::append()

Definition at line 133 of file GuiCameraList.cpp.

References countChanged().

Referenced by Isis::Project::addCamera(), and GuiCameraList().

◆ append() [2/2]

void Isis::GuiCameraList::append ( const QList< GuiCameraQsp > &  value)

Appends another GuiCameraList to the list.

Parameters
valueThe GuiCameraList to be appened
See also
QList<GuiCameraQsp>::append()

Definition at line 146 of file GuiCameraList.cpp.

References countChanged().

◆ clear()

void Isis::GuiCameraList::clear ( )

Clears the list.

See also
QList<GuiCameraQsp>::clear()

Definition at line 157 of file GuiCameraList.cpp.

References countChanged().

Referenced by Isis::Project::clear().

◆ countChanged

void Isis::GuiCameraList::countChanged ( int  newCount)
signal

Emitted when the number of GuiCameras in the list changes.

Not currently connected to anything.

Referenced by append(), clear(), erase(), insert(), operator+=(), operator<<(), operator=(), prepend(), push_back(), push_front(), removeAll(), removeAt(), removeFirst(), removeLast(), removeOne(), swap(), takeAt(), takeFirst(), and takeLast().

◆ erase() [1/2]

QList< GuiCameraQsp >::iterator Isis::GuiCameraList::erase ( iterator  pos)

Removes the GuiCamera associated with an iterator.

Returns an iterator associated with the next GuiCamera in the list.

Parameters
posAn iterator associated with the GuiCamera to be erased
Returns
QList<GuiCameraQsq>::iteraror Iterator associated with the next GuiCamera
See also
QList<GuiCameraQsp>::erase()

Definition at line 176 of file GuiCameraList.cpp.

References countChanged().

◆ erase() [2/2]

QList< GuiCameraQsp >::iterator Isis::GuiCameraList::erase ( iterator  begin,
iterator  end 
)

Removes all GuiCameras from begin up to, but not inclusing end.

Returns an iterator associated with GuiCamera that was associated with end.

Parameters
beginAn iterator associated with the first GuiCamera to be removed
endAn iterator associated with the GuiCamera after the last GuiCamera to be removed
Returns
QList<GuiCameraQsp>::iteraror Iterator associated with the GuiCamera that was associated with end.
See also
QList<GuiCameraQsp>::erase()

Definition at line 195 of file GuiCameraList.cpp.

References countChanged().

◆ insert() [1/2]

void Isis::GuiCameraList::insert ( int  i,
GuiCameraQsp const &  value 
)

Inserts a GuiCamera into the list at a given index.

Parameters
iThe index the GuiCamera will be inserted at
valueThe GuiCamera to be inserted
See also
QList<GuiCameraQsp>::insert()

Definition at line 210 of file GuiCameraList.cpp.

References countChanged().

◆ insert() [2/2]

QList< GuiCameraQsp >::iterator Isis::GuiCameraList::insert ( iterator  before,
GuiCameraQsp const &  value 
)

Inserts a GuiCamera in front of the GuiCamera associated with an iterator.

Returns an iterator associated with the inserted GuiCamera.

Parameters
beforeAn iterator associated with the GuiCamera that value will be inserted in front of
valueThe GuiCamera to be inserted.
Returns
QList<GuiCameraQsp>::iterator Iterator associated with the inserted GuiCamera
See also
QList<GuiCameraQsp>::insert()

Definition at line 228 of file GuiCameraList.cpp.

References countChanged().

◆ name()

QString Isis::GuiCameraList::name ( ) const

Get the human-readable name of this gui cameray list.

Returns
QString The name of the gui camera list (or an empty string if anonymous).

Definition at line 693 of file GuiCameraList.cpp.

References m_name.

Referenced by GuiCameraList(), Isis::ProjectItemModel::onGuiCamerasAdded(), and Isis::GuiCameraList::XmlHandler::startElement().

◆ operator+=() [1/2]

GuiCameraList & Isis::GuiCameraList::operator+= ( const QList< GuiCameraQsp > &  other)

Appends another GuiCameraList to the list and returns a reference to this.

Parameters
otherThe GuiCameraList to be appended
Returns
QuiCameraList & A reference to this
See also
QList<GuiCameraQsp>::operator+=()

Definition at line 422 of file GuiCameraList.cpp.

References countChanged().

◆ operator+=() [2/2]

GuiCameraList & Isis::GuiCameraList::operator+= ( GuiCameraQsp const &  other)

Appends a GuiCamera to the list and returns a reference to this.

Parameters
otherThe GuiCamera to be appended
Returns
GuiCameraList & A reference to this
See also
QList<GuiCameraQsp>::operator+=()

Definition at line 442 of file GuiCameraList.cpp.

References countChanged().

◆ operator<<() [1/2]

GuiCameraList & Isis::GuiCameraList::operator<< ( const QList< GuiCameraQsp > &  other)

Appends another GuiVameraList to the list and returns a reference to this.

Parameters
otherThe GuiCameraList to be appened
Returns
GuiCameraList & A reference to this
See also
QList<GuiCameraQsp>::operator<<()

Definition at line 458 of file GuiCameraList.cpp.

References operator<<().

◆ operator<<() [2/2]

GuiCameraList & Isis::GuiCameraList::operator<< ( GuiCameraQsp const &  other)

Appends a GuiCamera to the list and returns a reference to this.

Parameters
otherThe GuiCamera to be appended
Returns
GuiCameraList & A reference to this
See also
QList<GuiCameraQsp>::operator<<()

Definition at line 478 of file GuiCameraList.cpp.

References countChanged(), and operator<<().

◆ operator=() [1/2]

GuiCameraList & Isis::GuiCameraList::operator= ( const QList< GuiCameraQsp > &  rhs)

Assigns a list of GuiCameras to the list.

Does not modify m_name or m_path.

Parameters
rhsthe list being assigned from
Returns
GuiCameraList & A reference to this
See also
QList<GuiCameraQsp>::operator=()

Definition at line 495 of file GuiCameraList.cpp.

References countChanged().

◆ operator=() [2/2]

GuiCameraList & Isis::GuiCameraList::operator= ( const GuiCameraList rhs)

Assignment operator.

Parameters
rhsThe right hand side of the '=' operator
Returns
GuiCameraList & A reference to this

Definition at line 514 of file GuiCameraList.cpp.

References countChanged(), m_name, and m_path.

◆ path()

QString Isis::GuiCameraList::path ( ) const

Get the path to these gui camera objects in the list (relative to project root).

This only applies to a gui camera list from the project.

Returns
Qstring The path to the gui camera objects in the list (or an empty string if unknown).

Definition at line 704 of file GuiCameraList.cpp.

References m_path.

Referenced by GuiCameraList(), and Isis::GuiCameraList::XmlHandler::startElement().

◆ prepend()

void Isis::GuiCameraList::prepend ( GuiCameraQsp const &  value)

Inserts a GuiCamera at the beginning of the list.

Parameters
valueThe GuiCamera to be inserted.
See also
QList<GuiCameraQsp>::prepend()

Definition at line 242 of file GuiCameraList.cpp.

References countChanged().

◆ push_back()

void Isis::GuiCameraList::push_back ( GuiCameraQsp const &  value)

Inserts a GuiCamera at the end of the list.

Equivalent to append.

Parameters
valueThe GuiCamera to be inserted.
See also
QList<GuiCameraQsp>::push_back()

Definition at line 256 of file GuiCameraList.cpp.

References countChanged().

◆ push_front()

void Isis::GuiCameraList::push_front ( GuiCameraQsp const &  value)

Inserts a GuiCamera at the front of the list.

Equivalent to prepend.

Parameters
valueThe GuiCamera to be inserted.
See also
QList<GuiCameraQsp>::push_front()

Definition at line 270 of file GuiCameraList.cpp.

References countChanged().

◆ removeAll()

int Isis::GuiCameraList::removeAll ( GuiCameraQsp const &  value)

Removes all occurances of a GuiCamera from the list.

Returns the number removed.

Parameters
valueThe GuiCamera to be removed
Returns
int The number of GuiCameras removed
See also
QList<GuiCameraQsp>::removeAll()

Definition at line 286 of file GuiCameraList.cpp.

References countChanged().

◆ removeAt()

void Isis::GuiCameraList::removeAt ( int  i)

Removes the GuiCamera at a specific index.

Parameters
iThe index of the GuiCamera to be removed
See also
QList<GuiCameraQsp>::removeAt()

Definition at line 304 of file GuiCameraList.cpp.

References countChanged().

◆ removeFirst()

void Isis::GuiCameraList::removeFirst ( )

Removes the first GuiCamera in the list.

See also
QList<GuiCameraQsp>::removeFirst()

Definition at line 315 of file GuiCameraList.cpp.

References countChanged().

◆ removeLast()

void Isis::GuiCameraList::removeLast ( )

Removes the last GuiCamera in the list.

See also
QList<GuiCameraQsp>::removeLast()

Definition at line 326 of file GuiCameraList.cpp.

References countChanged().

◆ removeOne()

bool Isis::GuiCameraList::removeOne ( GuiCameraQsp const &  value)

Removes the first occurance of a GuiCamera from the list.

Returns whether or not it succeeded.

Parameters
valueThe GuiCamera to be removed
Returns
bool True if successful
See also
QList<GuiCameraQsp>::removeOne()

Definition at line 342 of file GuiCameraList.cpp.

References countChanged().

◆ save()

void Isis::GuiCameraList::save ( QXmlStreamWriter &  stream,
const Project project,
FileName  newProjectRoot 
) const

Delete all of the contained GuiCamera objects from disk (see GuiCamera::deleteFromDisk())

Convert this gui camera list into XML format for saving/restoring capabilities. Not currently implemented

This writes:

  <GuiCameraList name="..." path="...">

to the given xml stream, and creates a 'targets.xml' inside the folder with the target body objects. Inside the images.xml, this writes:

  <targets>
    ...
  </targets>

Definition at line 744 of file GuiCameraList.cpp.

◆ setName()

void Isis::GuiCameraList::setName ( QString  newName)

Gets a list of pre-connected actions that have to do with display, such as color, alpha, outline, fill, etc.

Returns true if all of the given displays support the property

Parameters
propThe property we're testing for support for
displaysThe displays we're doing the test on Set the human-readable name of this gui camera list. This is really only useful for project gui camera lists (not anonymous temporary ones).
newNameThe name to give this gui camera list

Definition at line 672 of file GuiCameraList.cpp.

References m_name.

◆ setPath()

void Isis::GuiCameraList::setPath ( QString  newPath)

Set the relative path (from the project root) to this gui camera list's folder.

This is really only useful for project gui camera lists (not anonymous temporary ones).

Parameters
newPathThe path to the gui camera objects in this gui camera list

Definition at line 683 of file GuiCameraList.cpp.

References m_path.

◆ swap()

void Isis::GuiCameraList::swap ( QList< GuiCameraQsp > &  other)

Swaps the list with another GuiCameraList.

Parameters
otherThe GuiCameraList to swap with
See also
QList<GuiCameraQsp>::swap()

Definition at line 360 of file GuiCameraList.cpp.

References countChanged().

◆ takeAt()

GuiCameraQsp Isis::GuiCameraList::takeAt ( int  i)

Removes and returns the GuiCamera at a specific index.

Parameters
iThe index of GuiCamera to be removed
Returns
QuiCameraQsp The GuiCamera removed
See also
QList<GuiCameraQsp>::takeAt()

Definition at line 378 of file GuiCameraList.cpp.

References countChanged().

◆ takeFirst()

GuiCameraQsp Isis::GuiCameraList::takeFirst ( )

Removes and returns the first GuiCamera in the list.

Returns
GuiCameraQsp The GuiCamera removed
See also
QList<GuiCameraQsp>::takeFirst()

Definition at line 392 of file GuiCameraList.cpp.

References countChanged().

◆ takeLast()

GuiCameraQsp Isis::GuiCameraList::takeLast ( )

Removes and returns the last GuiCamera in the list.

Returns
GuiCameraQsp The GuiCamera removed
See also
QList<GuiCameraQsp>::takeLast()

Definition at line 406 of file GuiCameraList.cpp.

References countChanged().

Member Data Documentation

◆ m_name

QString Isis::GuiCameraList::m_name
private

This functor is used for copying the GuiCamera objects between two projects quickly.

This is designed to work with QtConcurrentMap, though the results are all NULL (QtConcurrentMap is much faster than many QtConcurrentRun calls).

JAM - This appears to have been copied from TargetBodyList. Is this functionality needed? Is this going to be implemented at a later date?

Author
2015-06-11 Ken Edmundson (after Steven Lambright)

The disply name of the GuiCameraList. Not used by anonymous lists.

Definition at line 201 of file GuiCameraList.h.

Referenced by GuiCameraList(), name(), operator=(), and setName().

◆ m_path

QString Isis::GuiCameraList::m_path
private

This stores the directory name that contains the GuiCamera objects in this list.

For example: import1 or import2

This path is relative to Project::imageDataRoot()

Definition at line 213 of file GuiCameraList.h.

Referenced by GuiCameraList(), operator=(), path(), and setPath().


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