Isis 3 Developer Reference
|
Maintains a list of Controls so that control nets can easily be copied from one Project to another, saved to disk, or deleted from disk. More...
#include <ControlList.h>
Signals | |
void | countChanged (int newCount) |
void | deletingList (ControlList *list) |
Public Member Functions | |
ControlList (QString name, QString path, QObject *parent=NULL) | |
Create an control list from a control list name and path (does not read Controls). More... | |
ControlList (QObject *parent=NULL) | |
Create a blank control list. More... | |
ControlList (QList< Control *>, QObject *parent=NULL) | |
Create an control list from a list of controls. More... | |
ControlList (Project *project, XmlStackedHandlerReader *xmlReader, QObject *parent=NULL) | |
Create an control list from XML. More... | |
ControlList (QStringList &) | |
Create an control list from a list of control net file names. More... | |
ControlList (const ControlList &) | |
Copy constructor. More... | |
~ControlList () | |
Destructor. More... | |
void | append (Control *const &value) |
Appends a control pointer to the control list. More... | |
void | append (const QList< Control *> &value) |
Appends a list of control pointers to the control list. More... | |
void | clear () |
Clears the control list. More... | |
iterator | erase (iterator pos) |
Erases a control pointer from the control list at the specified position. More... | |
iterator | erase (iterator begin, iterator end) |
Erases all control pointers starting at "begin" up to (but not including) end. More... | |
void | insert (int i, Control *const &value) |
Inserts a control pointer at the specified position in the control list. More... | |
iterator | insert (iterator before, Control *const &value) |
Inserts a control pointer before the specified iterator position. More... | |
void | prepend (Control *const &value) |
Prepends a control pointer to the control list. More... | |
void | push_back (Control *const &value) |
Equivalent to append(value) More... | |
void | push_front (Control *const &value) |
Equivalent to prepend(value) More... | |
int | removeAll (Control *const &value) |
Removes all occurences of the control pointer in the control list. More... | |
void | removeAt (int i) |
Removes the control pointer at the specified index. More... | |
void | removeFirst () |
Removes the first control pointer from the control list. More... | |
void | removeLast () |
Removes the last control pointer from the control list. More... | |
bool | removeOne (Control *const &value) |
Removes the first occurence of the control pointer from the control list. More... | |
void | swap (QList< Control *> &other) |
Swaps this control list's control pointers with the other list of control pointers. More... | |
Control * | takeAt (int i) |
Remove the control pointer at the specified index and returns it. More... | |
Control * | takeFirst () |
Removes the first control pointer from the control list and returns it. More... | |
Control * | takeLast () |
Removes the last control pointer from the control list and returns it. More... | |
ControlList & | operator+= (const QList< Control *> &other) |
Appends control pointers from the other list to this control list. More... | |
ControlList & | operator+= (Control *const &other) |
Appends a control pointer to this control list. More... | |
ControlList & | operator<< (const QList< Control *> &other) |
Appends a list of other control pointers to this control list. More... | |
ControlList & | operator<< (Control *const &other) |
Appends a control pointer to this control list. More... | |
ControlList & | operator= (const QList< Control *> &rhs) |
Assigns another list of control pointers to this control list. More... | |
ControlList & | operator= (const ControlList &rhs) |
Assignment operator. More... | |
QList< QAction * > | supportedActions (Project *project=NULL) |
bool | allSupport (ControlDisplayProperties::Property prop) |
void | setName (QString newName) |
Set the human-readable name of this control list. More... | |
void | setPath (QString newPath) |
Set the relative path (from the project root) to this control list's folder. More... | |
QString | name () const |
Get the human-readable name of this control list. More... | |
QString | path () const |
Get the path to these controls in the control list (relative to project root). More... | |
void | deleteFromDisk (Project *project) |
Delete all of the contained Controls from disk. More... | |
void | save (QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const |
Convert this control list into XML format for saving/restoring capabilities. More... | |
Maintains a list of Controls so that control nets can easily be copied from one Project to another, saved to disk, or deleted from disk.
Overrides several common QList methods for managing a list of Controls as well. Adapted from ImageList
Isis::ControlList::ControlList | ( | QString | name, |
QString | path, | ||
QObject * | parent = NULL |
||
) |
Create an control list from a control list name and path (does not read Controls).
name | The ControlList's name (i.e. import1, import2, ...) |
path | The ControlList's folder name (i.e. import1, import2, ...) |
parent | The Qt-relationship parent |
|
explicit |
Create a blank control list.
parent | The Qt-relationship parent |
Create an control list from a list of controls.
controls | The list of controls |
parent | The Qt-relationship parent |
References append().
|
explicit |
Create an control list from XML.
project | The project with the control list |
xmlReader | The XML reader currently at an <controlList> tag. |
parent | The Qt-relationship parent |
References Isis::XmlStackedHandlerReader::pushContentHandler().
|
explicit |
Isis::ControlList::ControlList | ( | const ControlList & | other | ) |
Copy constructor.
other | The ControlList to copy |
Isis::ControlList::~ControlList | ( | ) |
bool Isis::ControlList::allSupport | ( | ControlDisplayProperties::Property | prop | ) |
void Isis::ControlList::append | ( | Control *const & | value | ) |
Appends a control pointer to the control list.
value | The control pointer to append |
References countChanged().
Referenced by ControlList().
Appends a list of control pointers to the control list.
value | The list of control pointers to append |
References countChanged().
void Isis::ControlList::clear | ( | ) |
|
signal |
Referenced by append(), clear(), erase(), insert(), operator+=(), operator<<(), operator=(), prepend(), push_back(), push_front(), removeAll(), removeAt(), removeFirst(), removeLast(), removeOne(), swap(), takeAt(), takeFirst(), and takeLast().
void Isis::ControlList::deleteFromDisk | ( | Project * | project | ) |
Delete all of the contained Controls from disk.
project | Project to delete controls from |
References Isis::Project::cnetRoot(), and Isis::Control::deleteFromDisk().
Referenced by Isis::Project::deleteAllProjectFiles().
|
signal |
Referenced by ~ControlList().
Erases a control pointer from the control list at the specified position.
pos | The position to erase at |
References countChanged().
Erases all control pointers starting at "begin" up to (but not including) end.
begin | Iterator to the first control pointer to erase from the list |
end | Iterator to the end control pointer (which will not be erased) |
References countChanged().
void Isis::ControlList::insert | ( | int | i, |
Control *const & | value | ||
) |
Inserts a control pointer at the specified position in the control list.
i | The index to insert at |
value | The control pointer to insert |
References countChanged().
Inserts a control pointer before the specified iterator position.
before | Iterator to the item to insert the control pointer before |
value | The control pointer to insert |
References countChanged().
QString Isis::ControlList::name | ( | ) | const |
Get the human-readable name of this control list.
Referenced by ControlList(), Isis::Project::controlList(), Isis::ProjectItem::setControlList(), and Isis::ExportControlNetWorkOrder::setupExecution().
ControlList & Isis::ControlList::operator+= | ( | const QList< Control *> & | other | ) |
Appends control pointers from the other list to this control list.
The | list of other control pointers to append |
References countChanged().
ControlList & Isis::ControlList::operator+= | ( | Control *const & | other | ) |
Appends a control pointer to this control list.
other | The control pointer to append |
References countChanged().
ControlList & Isis::ControlList::operator<< | ( | const QList< Control *> & | other | ) |
Appends a list of other control pointers to this control list.
other | The list of other control pointers to append |
References operator<<().
ControlList & Isis::ControlList::operator<< | ( | Control *const & | other | ) |
Appends a control pointer to this control list.
other | The control pointer to append |
References countChanged(), and operator<<().
ControlList & Isis::ControlList::operator= | ( | const QList< Control *> & | rhs | ) |
Assigns another list of control pointers to this control list.
rhs | The other list of control pointers to assign |
References countChanged().
ControlList & Isis::ControlList::operator= | ( | const ControlList & | rhs | ) |
Assignment operator.
rhs | The right hand side of the '=' operator |
References countChanged().
QString Isis::ControlList::path | ( | ) | const |
Get the path to these controls in the control list (relative to project root).
This only applies to a control list from the project.
Referenced by ControlList().
void Isis::ControlList::prepend | ( | Control *const & | value | ) |
Prepends a control pointer to the control list.
value | The control pointer to prepend to the control list |
References countChanged().
void Isis::ControlList::push_back | ( | Control *const & | value | ) |
Equivalent to append(value)
value | The control pointer to append to the control list |
References countChanged().
void Isis::ControlList::push_front | ( | Control *const & | value | ) |
Equivalent to prepend(value)
value | The control pointer to prepend to the control list |
References countChanged().
int Isis::ControlList::removeAll | ( | Control *const & | value | ) |
Removes all occurences of the control pointer in the control list.
value | The control pointer value to remove |
References countChanged().
void Isis::ControlList::removeAt | ( | int | i | ) |
Removes the control pointer at the specified index.
i | The index of the control pointer to remove |
References countChanged().
void Isis::ControlList::removeFirst | ( | ) |
Removes the first control pointer from the control list.
References countChanged().
void Isis::ControlList::removeLast | ( | ) |
Removes the last control pointer from the control list.
References countChanged().
bool Isis::ControlList::removeOne | ( | Control *const & | value | ) |
Removes the first occurence of the control pointer from the control list.
value | The control pointer to remove |
References countChanged().
void Isis::ControlList::save | ( | QXmlStreamWriter & | stream, |
const Project * | project, | ||
FileName | newProjectRoot | ||
) | const |
Convert this control list into XML format for saving/restoring capabilities.
This writes:
<controlList name="..." path="...">
to the given xml stream, and creates an 'controls.xml' inside the folder with the controls. Inside the controlNetworks.xml, this writes:
<controls> ... </controls>
stream | XML stream that contains the control list data |
project | Project to save control list from |
newProjectRoot | Filename root to save control list to |
IException::Io | "Unable Failed to create directory" |
IException::Io | "Unable to save control information, could not be opened for writing" |
References _FILEINFO_, Isis::Project::cnetRoot(), Isis::FileName::dir(), Isis::IException::Io, Isis::Project::newProjectRoot(), Isis::FileName::original(), Isis::FileName::path(), Isis::Project::projectRoot(), Isis::ReadWrite, Isis::Control::save(), and Isis::FileName::toString().
void Isis::ControlList::setName | ( | QString | newName | ) |
Set the human-readable name of this control list.
This is really only useful for project control lists (not anonymous temporary ones).
newName | The name to give this control list |
Referenced by Isis::ProjectItemModel::setData().
void Isis::ControlList::setPath | ( | QString | newPath | ) |
Set the relative path (from the project root) to this control list's folder.
This is really only useful for project control lists (not anonymous temporary ones).
newPath | The path to the controls in this control list |
Swaps this control list's control pointers with the other list of control pointers.
other | The list of control pointers to swap |
References countChanged().
Control * Isis::ControlList::takeAt | ( | int | i | ) |
Remove the control pointer at the specified index and returns it.
i | The index of the control pointer to take |
References countChanged().
Control * Isis::ControlList::takeFirst | ( | ) |
Removes the first control pointer from the control list and returns it.
References countChanged().
Control * Isis::ControlList::takeLast | ( | ) |
Removes the last control pointer from the control list and returns it.
References countChanged().