Isis 3 Programmer Reference
|
Internalizes a list of shapes and allows for operations on the entire list. More...
#include <ShapeList.h>
Classes | |
class | CopyShapeDataFunctor |
This functor is used for copying the shapes between two projects quickly. More... | |
class | XmlHandler |
This class is used to read an shapes.xml file into an shape list. More... | |
Signals | |
void | countChanged (int newCount) |
Public Member Functions | |
ShapeList (QString name, QString path, QObject *parent=NULL) | |
Creates an shape list from an shape list name and path (does not read Shapes). More... | |
ShapeList (QObject *parent=NULL) | |
Creates a blank shape list. More... | |
ShapeList (QList< Shape *>, QObject *parent=NULL) | |
Creates an shape list from a list of shapes. More... | |
ShapeList (Project *project, XmlStackedHandlerReader *xmlReader, QObject *parent=NULL) | |
Creates an shape list from XML. More... | |
ShapeList (QStringList &) | |
Creates an shape list from a list of cube file names. More... | |
ShapeList (const ShapeList &) | |
Copy constructor. More... | |
~ShapeList () | |
Destructor. More... | |
SerialNumberList | serialNumberList () |
Creates a SerialNumberList from the shape list. More... | |
void | append (Shape *const &value) |
Appends an shape to the shape list. More... | |
void | append (const QList< Shape *> &value) |
Appends a list of shapes to the shape list. More... | |
void | clear () |
Clears the shape list. More... | |
iterator | erase (iterator pos) |
Erases a single shape from the shape list. More... | |
iterator | erase (iterator begin, iterator end) |
Erases a range of shapes from the shape list. More... | |
void | insert (int i, Shape *const &value) |
Inserts an shape into the shape list at an index. More... | |
iterator | insert (iterator before, Shape *const &value) |
Inserts an shape into the shape list after an iterator. More... | |
void | prepend (Shape *const &value) |
Inserts an shape at the beginning of the shape list. More... | |
void | push_back (Shape *const &value) |
Appends an shape to the end of the shape list. More... | |
void | push_front (Shape *const &value) |
Prepends an shape to the beginning of the shape list. More... | |
int | removeAll (Shape *const &value) |
Removes all occurances of an shape. More... | |
void | removeAt (int i) |
Removes the shape at an index. More... | |
void | removeFirst () |
Removes the shape at the front of the shape list. More... | |
void | removeLast () |
Removes the shape at the end of the shape list. More... | |
bool | removeOne (Shape *const &value) |
Removes the first occurance of an shape. More... | |
void | swap (QList< Shape *> &other) |
Swaps the shape list with another list of shapes. More... | |
Shape * | takeAt (int i) |
Removes the shape at an index and returns it. More... | |
Shape * | takeFirst () |
Removes and returns the first shape. More... | |
Shape * | takeLast () |
Removes and returns the last shape. More... | |
ShapeList & | operator+= (const QList< Shape *> &other) |
Appends a list of shapes to the end of the shape list. More... | |
ShapeList & | operator+= (Shape *const &other) |
Appends a single shape to the end of the shape list. More... | |
ShapeList & | operator<< (const QList< Shape *> &other) |
Appends a list of shapes to the end of the shape list. More... | |
ShapeList & | operator<< (Shape *const &other) |
Appends a single shape to the end of the shape list. More... | |
ShapeList & | operator= (const QList< Shape *> &rhs) |
Assigns another list of shapes to the shape list. More... | |
ShapeList & | operator= (const ShapeList &rhs) |
Assignment operator. More... | |
void | setName (QString newName) |
Set the human-readable name of this shape list. More... | |
void | setPath (QString newPath) |
Set the relative path (from the project root) to this shape list's folder. More... | |
QString | name () const |
Get the human-readable name of this shape list. More... | |
QString | path () const |
Get the path to the shapes in the shape list (relative to project root). More... | |
void | deleteFromDisk (Project *project) |
Delete all of the contained Shapes from disk. More... | |
void | save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const |
Convert this shape list into XML format for saving/restoring capabilities. More... | |
Private Attributes | |
QString | m_name |
This stores the shape list's name. More... | |
QString | m_path |
This stores the directory name that contains the shapes in this shape list. More... | |
Internalizes a list of shapes and allows for operations on the entire list.
This class reads a list of shapes from an shapes.xml file and internalizes them as aQList of shapes. It also allows for modifications to the entire list of shapes and storing the shape list as an shapes.xml file.
Definition at line 33 of file ShapeList.h.
Isis::ShapeList::ShapeList | ( | QString | name, |
QString | path, | ||
QObject * | parent = NULL |
||
) |
Creates an shape list from an shape list name and path (does not read Shapes).
name | The ShapeList's name (i.e. import1, import2, ...). |
path | The ShapeList's folder name (i.e. import1, import2, ...). |
parent | The Qt-relationship parent. |
Definition at line 49 of file ShapeList.cpp.
|
explicit |
Creates a blank shape list.
parent | The Qt-relationship parent. |
Definition at line 60 of file ShapeList.cpp.
Creates an shape list from a list of shapes.
shapes | The list of shapes. |
parent | The Qt-relationship parent. |
Definition at line 70 of file ShapeList.cpp.
References append().
|
explicit |
Creates an shape list from XML.
project | The project with the shape list. |
xmlReader | The XML reader currently at an <shapeList> tag. |
parent | The Qt-relationship parent. |
Definition at line 82 of file ShapeList.cpp.
References Isis::XmlStackedHandlerReader::pushContentHandler().
|
explicit |
Creates an shape list from a list of cube file names.
This is slow (serial) and not recommended.
fileNames | The list of cube fileNames. |
Definition at line 105 of file ShapeList.cpp.
References append().
Isis::ShapeList::ShapeList | ( | const ShapeList & | other | ) |
Copy constructor.
other | The shape list to copy. |
Definition at line 93 of file ShapeList.cpp.
Isis::ShapeList::~ShapeList | ( | ) |
Destructor.
This does not free the Shapes from memory.
Definition at line 120 of file ShapeList.cpp.
void Isis::ShapeList::append | ( | Shape *const & | value | ) |
Appends an shape to the shape list.
value | The shape to be appended. |
Definition at line 147 of file ShapeList.cpp.
Referenced by Isis::ImportShapesWorkOrder::importConfirmedShapes(), Isis::WorkOrder::isExecutable(), Isis::WorkOrder::setData(), and ShapeList().
Appends a list of shapes to the shape list.
value | the list of shapes to be appened. |
Definition at line 160 of file ShapeList.cpp.
void Isis::ShapeList::clear | ( | ) |
Clears the shape list.
Definition at line 171 of file ShapeList.cpp.
void Isis::ShapeList::deleteFromDisk | ( | Project * | project | ) |
Delete all of the contained Shapes from disk.
project | The project the shapes in the shape list belong to. |
Definition at line 592 of file ShapeList.cpp.
References Isis::Shape::deleteFromDisk(), m_path, and Isis::Project::shapeDataRoot().
Referenced by Isis::Project::deleteAllProjectFiles(), and Isis::ImportShapesWorkOrder::undoExecution().
Erases a single shape from the shape list.
pos | An iterator pointing to the shape to be erased. |
Definition at line 189 of file ShapeList.cpp.
Erases a range of shapes from the shape list.
Erases all shapes from begin up to (but not including) end.
begin | An iterator pointing to the first shape to be erased. |
end | An iterator pointing to the shape just after the last shape to be erased. Will be invalid after the call. |
Definition at line 208 of file ShapeList.cpp.
void Isis::ShapeList::insert | ( | int | i, |
Shape *const & | value | ||
) |
Inserts an shape into the shape list at an index.
i | The index at which to insert the shape. |
value | the shape to be inserted. |
Definition at line 223 of file ShapeList.cpp.
Inserts an shape into the shape list after an iterator.
before | An iterator pointing to the shape that value will be inserted after |
value | The shape to be inserted. |
Definition at line 240 of file ShapeList.cpp.
QString Isis::ShapeList::name | ( | ) | const |
Get the human-readable name of this shape list.
Definition at line 569 of file ShapeList.cpp.
References m_name.
Referenced by Isis::ProjectItemModel::onShapesAdded(), Isis::ProjectItem::setShapeList(), ShapeList(), Isis::Project::shapeList(), and Isis::ShapeList::XmlHandler::startElement().
Appends a list of shapes to the end of the shape list.
other | The list of shapes to be appended. |
Definition at line 433 of file ShapeList.cpp.
Appends a single shape to the end of the shape list.
other | The shape to be appended. |
Definition at line 454 of file ShapeList.cpp.
Appends a list of shapes to the end of the shape list.
other | The list of shapes to be appended. |
Definition at line 471 of file ShapeList.cpp.
References operator<<().
Appends a single shape to the end of the shape list.
other | The shape to be appended. |
Definition at line 492 of file ShapeList.cpp.
References operator<<().
Assigns another list of shapes to the shape list.
rhs | The list of shapes that shapeList will become a copy of. |
Definition at line 508 of file ShapeList.cpp.
Assignment operator.
rhs | The right hand side of the '=' operator |
Definition at line 527 of file ShapeList.cpp.
QString Isis::ShapeList::path | ( | ) | const |
Get the path to the shapes in the shape list (relative to project root).
This only applies to an shape list from the project.
Definition at line 580 of file ShapeList.cpp.
References m_path.
Referenced by Isis::ProjectItem::setShapeList(), ShapeList(), and Isis::ShapeList::XmlHandler::startElement().
void Isis::ShapeList::prepend | ( | Shape *const & | value | ) |
Inserts an shape at the beginning of the shape list.
value | The shape to be inserted. |
Definition at line 254 of file ShapeList.cpp.
void Isis::ShapeList::push_back | ( | Shape *const & | value | ) |
Appends an shape to the end of the shape list.
Equivalent to append().
value | The shape to be appended. |
Definition at line 268 of file ShapeList.cpp.
void Isis::ShapeList::push_front | ( | Shape *const & | value | ) |
Prepends an shape to the beginning of the shape list.
Equivalent to prepend().
value | The shape to be appended. |
Definition at line 282 of file ShapeList.cpp.
int Isis::ShapeList::removeAll | ( | Shape *const & | value | ) |
Removes all occurances of an shape.
value | The shape to be removed. |
Definition at line 297 of file ShapeList.cpp.
void Isis::ShapeList::removeAt | ( | int | i | ) |
Removes the shape at an index.
i | The index of the shape to be removed. |
Definition at line 315 of file ShapeList.cpp.
Referenced by Isis::Project::shapeClosed().
void Isis::ShapeList::removeFirst | ( | ) |
Removes the shape at the front of the shape list.
Definition at line 326 of file ShapeList.cpp.
void Isis::ShapeList::removeLast | ( | ) |
Removes the shape at the end of the shape list.
Definition at line 337 of file ShapeList.cpp.
bool Isis::ShapeList::removeOne | ( | Shape *const & | value | ) |
Removes the first occurance of an shape.
value | The shape to be removed. |
Definition at line 352 of file ShapeList.cpp.
void Isis::ShapeList::save | ( | QXmlStreamWriter & | stream, |
const Project * | project, | ||
FileName | newProjectRoot | ||
) | const |
Convert this shape list into XML format for saving/restoring capabilities.
This writes:
<shapeList name="..." path="...">
to the given xml stream, and creates an 'shapes.xml' inside the folder with the shapes. Inside the shapes.xml, this writes:
<shapes> ... </shapes>
stream | XmlStream to write out the document. |
project | The project the shape list will be saved to. |
newProjectRoot | The path to the root directory for the new project. |
iException::Io | "Failed to create directory" |
iException::Io | "Unable to save shape information because new file could not be opened for writing" |
Definition at line 629 of file ShapeList.cpp.
References _FILEINFO_, Isis::FileName::dir(), Isis::IException::Io, m_name, m_path, Isis::FileName::path(), Isis::Project::shapeDataRoot(), and Isis::FileName::toString().
SerialNumberList Isis::ShapeList::serialNumberList | ( | ) |
Creates a SerialNumberList from the shape list.
Definition at line 129 of file ShapeList.cpp.
References Isis::SerialNumberList::add().
void Isis::ShapeList::setName | ( | QString | newName | ) |
Set the human-readable name of this shape list.
This is really only useful for project shape lists (not anonymous temporary ones).
newName | The name to give this shape list |
Definition at line 548 of file ShapeList.cpp.
References m_name.
Referenced by Isis::ProjectItemModel::setData().
void Isis::ShapeList::setPath | ( | QString | newPath | ) |
Set the relative path (from the project root) to this shape list's folder.
This is really only useful for project shape lists (not anonymous temporary ones).
newPath | The path to the shapes in this shape list |
Definition at line 559 of file ShapeList.cpp.
References m_path.
Swaps the shape list with another list of shapes.
other | The list of shapes to swapped with. |
Definition at line 370 of file ShapeList.cpp.
Shape * Isis::ShapeList::takeAt | ( | int | i | ) |
Removes the shape at an index and returns it.
i | The index of the shape to be removed and returned. |
Definition at line 388 of file ShapeList.cpp.
Shape * Isis::ShapeList::takeFirst | ( | ) |
Removes and returns the first shape.
Definition at line 402 of file ShapeList.cpp.
Shape * Isis::ShapeList::takeLast | ( | ) |
Removes and returns the last shape.
Definition at line 416 of file ShapeList.cpp.
|
private |
This stores the shape list's name.
Definition at line 164 of file ShapeList.h.
Referenced by name(), operator=(), save(), setName(), and ShapeList().
|
private |
This stores the directory name that contains the shapes in this shape list.
For example: import1 or import2
This path is relative to Project::shapeDataRoot()
Definition at line 176 of file ShapeList.h.
Referenced by deleteFromDisk(), operator=(), path(), save(), setPath(), and ShapeList().