11 #include "XmlStackedHandler.h" 14 class QXmlStreamWriter;
18 class XmlStackedHandlerReader;
56 iterator
erase(iterator pos);
57 iterator
erase(iterator begin, iterator end);
77 ControlList &operator<<(const QList<Control *> &other);
101 void countChanged(
int newCount);
148 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
149 const QString &qName,
const QXmlAttributes &atts);
150 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
151 const QString &qName);
This represents an ISIS control net in a project-based GUI interface.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Convert this control list into XML format for saving/restoring capabilities.
Property
This is a list of properties and actions that are possible.
FileName m_newProjectRoot
The filename of the destination project's root.
ControlList(QString name, QString path, QObject *parent=NULL)
Create an control list from a control list name and path (does not read Controls).
The main project for ipce.
~ControlList()
Destructor.
iterator erase(iterator pos)
Erases a control pointer from the control list at the specified position.
void insert(int i, Control *const &value)
Inserts a control pointer at the specified position in the control list.
File name manipulation and expansion.
Maintains a list of Controls so that control nets can easily be copied from one Project to another...
void setName(QString newName)
Set the human-readable name of this control list.
void push_front(Control *const &value)
Equivalent to prepend(value)
QString path() const
Get the path to these controls in the control list (relative to project root).
const Project * m_project
Project to copy the control list to.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
~CopyControlDataFunctor()
CopyControlDataFunctor destructor.
CopyControlDataFunctor & operator=(const CopyControlDataFunctor &rhs)
CopyControlDataFunctor assignment operator.
bool removeOne(Control *const &value)
Removes the first occurence of the control pointer from the control list.
void removeLast()
Removes the last control pointer from the control list.
QString m_name
Name of the ControlList.
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Handle an XML end element.
ControlList * m_controlList
Control list to be read or written.
XmlHandler(ControlList *controlList, Project *project)
Create an XML Handler (reader/writer) that can populate the ControlList class data.
Nested class used to write the ControlList object information to an XML file for the purposes of savi...
XML Handler that parses XMLs in a stack-oriented way.
Control * takeFirst()
Removes the first control pointer from the control list and returns it.
void clear()
Clears the control list.
ControlList & operator+=(const QList< Control *> &other)
Appends control pointers from the other list to this control list.
void append(Control *const &value)
Appends a control pointer to the control list.
void prepend(Control *const &value)
Prepends a control pointer to the control list.
CopyControlDataFunctor(const Project *project, FileName newProjectRoot)
CopyControlDataFunctor constructor.
QString name() const
Get the human-readable name of this control list.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
Handle an XML start element.
ControlList & operator<<(const QList< Control *> &other)
Appends a list of other control pointers to this control list.
void push_back(Control *const &value)
Equivalent to append(value)
void swap(QList< Control *> &other)
Swaps this control list's control pointers with the other list of control pointers.
Namespace for ISIS/Bullet specific routines.
Control * takeLast()
Removes the last control pointer from the control list and returns it.
void setPath(QString newPath)
Set the relative path (from the project root) to this control list's folder.
QString m_path
This stores the directory name that contains the controls in this control list.
ControlList & operator=(const QList< Control *> &rhs)
Assigns another list of control pointers to this control list.
Control * takeAt(int i)
Remove the control pointer at the specified index and returns it.
void removeAt(int i)
Removes the control pointer at the specified index.
void deleteFromDisk(Project *project)
Delete all of the contained Controls from disk.
Manage a stack of content handlers for reading XML files.
void removeFirst()
Removes the first control pointer from the control list.
void * operator()(Control *const &controlToCopy)
Copies the Control from one project to another.
int removeAll(Control *const &value)
Removes all occurences of the control pointer in the control list.
Project * m_project
Project that contains the control list.
This functor is used for copying the control nets between two projects quickly.