15class QXmlStreamWriter;
46 void append(
const QList<Shape *> &value);
50 iterator
erase(iterator pos);
51 iterator
erase(iterator begin, iterator end);
54 iterator
insert(iterator before,
Shape *
const & value);
64 void swap(QList<Shape *> &other);
104 class CopyShapeDataFunctor :
public std::function<void *(Shape * const &)> {
107 CopyShapeDataFunctor(
const CopyShapeDataFunctor &other);
108 ~CopyShapeDataFunctor();
110 void *operator()(
Shape *
const &shapeToCopy);
112 CopyShapeDataFunctor &operator=(
const CopyShapeDataFunctor &rhs);
Q_DECLARE_METATYPE(Isis::ShapeList *)
File name manipulation and expansion.
Definition FileName.h:100
The main project for ipce.
Definition Project.h:287
Serial Number list generator.
Definition SerialNumberList.h:64
This represents a shape in a project-based GUI interface.
Definition Shape.h:66
Internalizes a list of shapes and allows for operations on the entire list.
Definition ShapeList.h:31
void insert(int i, Shape *const &value)
Inserts an shape into the shape list at an index.
Definition ShapeList.cpp:195
void append(Shape *const &value)
Appends an shape to the shape list.
Definition ShapeList.cpp:119
void deleteFromDisk(Project *project)
Delete all of the contained Shapes from disk.
Definition ShapeList.cpp:564
void removeAt(int i)
Removes the shape at an index.
Definition ShapeList.cpp:287
void setName(QString newName)
Set the human-readable name of this shape list.
Definition ShapeList.cpp:520
Shape * takeLast()
Removes and returns the last shape.
Definition ShapeList.cpp:388
iterator erase(iterator pos)
Erases a single shape from the shape list.
Definition ShapeList.cpp:161
SerialNumberList serialNumberList()
Creates a SerialNumberList from the shape list.
Definition ShapeList.cpp:101
void swap(QList< Shape * > &other)
Swaps the shape list with another list of shapes.
Definition ShapeList.cpp:342
void clear()
Clears the shape list.
Definition ShapeList.cpp:143
void countChanged(int newCount)
void push_back(Shape *const &value)
Appends an shape to the end of the shape list.
Definition ShapeList.cpp:240
void removeFirst()
Removes the shape at the front of the shape list.
Definition ShapeList.cpp:298
void removeLast()
Removes the shape at the end of the shape list.
Definition ShapeList.cpp:309
QString path() const
Get the path to the shapes in the shape list (relative to project root).
Definition ShapeList.cpp:552
int removeAll(Shape *const &value)
Removes all occurances of an shape.
Definition ShapeList.cpp:269
QString name() const
Get the human-readable name of this shape list.
Definition ShapeList.cpp:541
void prepend(Shape *const &value)
Inserts an shape at the beginning of the shape list.
Definition ShapeList.cpp:226
Shape * takeAt(int i)
Removes the shape at an index and returns it.
Definition ShapeList.cpp:360
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Convert this shape list into XML format for saving/restoring capabilities.
Definition ShapeList.cpp:601
ShapeList(QString name, QString path, QObject *parent=NULL)
Creates an shape list from an shape list name and path (does not read Shapes).
Definition ShapeList.cpp:34
void push_front(Shape *const &value)
Prepends an shape to the beginning of the shape list.
Definition ShapeList.cpp:254
ShapeList & operator<<(const QList< Shape * > &other)
Appends a list of shapes to the end of the shape list.
Definition ShapeList.cpp:443
~ShapeList()
Destructor.
Definition ShapeList.cpp:92
bool removeOne(Shape *const &value)
Removes the first occurance of an shape.
Definition ShapeList.cpp:324
ShapeList & operator=(const QList< Shape * > &rhs)
Assigns another list of shapes to the shape list.
Definition ShapeList.cpp:480
void setPath(QString newPath)
Set the relative path (from the project root) to this shape list's folder.
Definition ShapeList.cpp:531
Shape * takeFirst()
Removes and returns the first shape.
Definition ShapeList.cpp:374
ShapeList & operator+=(const QList< Shape * > &other)
Appends a list of shapes to the end of the shape list.
Definition ShapeList.cpp:405
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16