1#ifndef ProjectItemModel_h
2#define ProjectItemModel_h
12#include <QStandardItemModel>
17class QItemSelectionModel;
147 Qt::DropAction action,
149 const QModelIndex& parent)
const;
168 bool setData(
const QModelIndex &index,
const QVariant &value,
int role);
169 Qt::ItemFlags
flags(
const QModelIndex &index)
const;
195 void onSelectionChanged(
const QItemSelection &selected,
const QItemSelection &deselected);
207 void onRowsInserted(
const QModelIndex &parent,
int start,
int end);
208 void onRowsRemoved(
const QModelIndex &parent,
int start,
int end);
Container class for BundleAdjustment results.
This represents an ISIS control net in a project-based GUI interface.
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
File name manipulation and expansion.
List of GuiCameras saved as QSharedPointers.
Internalizes a list of images and allows for operations on the entire list.
The main project for ipce.
Represents an item of a ProjectItemModel in Qt's model-view framework.
void onTargetsAdded(TargetBodyList *targets)
Slot to connect to the targetsAdded() signal from a Project.
ProjectItemModel(QObject *parent=0)
Constructs an empty model.
QList< ProjectItem * > selectedItems()
Returns a list of the selected items of the internal selection model.
void cleanProject(bool)
This signal is emitted whrn a ProjectItem's name is changed.
void onImagesAdded(ImageList *images)
Slot to connect to the imagesAdded() signal from a Project.
void appendRow(ProjectItem *item)
Appends a top-level item to the model.
void onGuiCamerasAdded(GuiCameraList *cameras)
Slot to connect to the guiCamerasAdded() signal from a Project.
void onBundleSolutionInfoAdded(BundleSolutionInfo *bundleSolutionInfo)
Slot to connect to the bundleSolutionInfoAdded() signal from a project.
void clean()
Used to clean the ProjectItemModel of everything but the headers.
void insertRow(int row, ProjectItem *item)
Inserts a top-level item at the given row.
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Slot to connect to the selectionChanged() signal from a selection model.
void setItem(int row, ProjectItem *item)
Sets the item at the top-level row.
virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const
You cannot drop mime data into the ProjectItemModel.
bool setData(const QModelIndex &index, const QVariant &value, int role)
This virtual method was added to handle changing the project name by double-clicking the project name...
ProjectItem * itemFromIndex(const QModelIndex &index)
Returns the ProjectItem corresponding to a given QModelIndex.
ProjectItem * takeItem(int row)
Removes the top-level row and returns the removed item.
~ProjectItemModel()
Destructs the model.
QList< ProjectItem * > selectedBOSSImages()
ProjectItemModel::selectedBOSSImages.
void onControlListAdded(ControlList *controlList)
Slot to connect to the controlListAdded() signal from a Project.
void itemAdded(ProjectItem *)
This signal is emitted when a ProjectItem is added to the model.
ProjectItem * item(int row)
Returns the top-level item at the given row.
bool rejectName(QStringList &reserved, QString target)
Checks to see if we are adding a reserved name to the project (ex.
virtual void removeItems(QList< ProjectItem * > items)
Removes a list of items and their children from the model.
void onNameChanged(QString newName)
Slot to connect to the nameChanged() signal from a Project.
void onTemplatesAdded(TemplateList *templateList)
Slot connected to the templatesAdded() signal from a project.
void onControlAdded(Control *control)
Slot to connect to the controlAdded() signal from a project.
ProjectItem * addProject(Project *project)
Adds a Project to the model.
ProjectItem * findItemData(const QVariant &data, int role=Qt::UserRole+1)
Returns the first item found that contains the given data in the given role or a null pointer if no i...
ProjectItem * currentItem()
Returns the current item of the internal selection model.
void projectNameEdited(QString)
This signal is emitted when the project name is edited.
QModelIndex indexFromItem(const ProjectItem *item)
Returns the QModelIndex corresponding to a given ProjectItem.
void itemRemoved(ProjectItem *)
This signal is emitted when a ProjectItem is removed to the model.
QItemSelectionModel * m_selectionModel
The internal selection model.
void onRowsInserted(const QModelIndex &parent, int start, int end)
Slot to connect to the rowsInserted() signal from QAbstractItemModel.
virtual void removeItem(ProjectItem *item)
Removes an item and its children from the model.
void onRowsRemoved(const QModelIndex &parent, int start, int end)
Slot to connect to the rowsAboutToBeRemoved() signal from QAbstractItemModel.
void onShapesAdded(ShapeList *shapes)
Slot to connect to the shapesAdded() signal from a Project.
Qt::ItemFlags flags(const QModelIndex &index) const
This virtual method was added to handle changing the project name by double-clicking the project name...
QItemSelectionModel * selectionModel()
Returns the internal selection model.
Internalizes a list of shapes and allows for operations on the entire list.
List for holding TargetBodies.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.