1#ifndef ProjectItemModel_h
2#define ProjectItemModel_h
12#include <QStandardItemModel>
17class QItemSelectionModel;
27 class BundleSolutionInfo;
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);
198 void onNameChanged(QString newName);
202 void onControlAdded(
Control *control);
207 void onRowsInserted(
const QModelIndex &parent,
int start,
int end);
208 void onRowsRemoved(
const QModelIndex &parent,
int start,
int end);
212 QItemSelectionModel *m_selectionModel;
213 QStringList m_reservedNames;
214 bool rejectName(QStringList &reserved, QString target);
Container class for BundleAdjustment results.
Definition: BundleSolutionInfo.h:162
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:66
Maintains a list of Controls so that control nets can easily be copied from one Project to another,...
Definition: ControlList.h:44
List of GuiCameras saved as QSharedPointers.
Definition: GuiCameraList.h:35
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
The main project for ipce.
Definition: Project.h:289
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition: ProjectItem.h:134
Provides access to data stored in a Project through Qt's model-view framework.
Definition: ProjectItemModel.h:132
ProjectItemModel(QObject *parent=0)
Constructs an empty model.
Definition: ProjectItemModel.cpp:44
QList< ProjectItem * > selectedItems()
Returns a list of the selected items of the internal selection model.
Definition: ProjectItemModel.cpp:158
void cleanProject(bool)
This signal is emitted whrn a ProjectItem's name is changed.
void appendRow(ProjectItem *item)
Appends a top-level item to the model.
Definition: ProjectItemModel.cpp:354
void clean()
Used to clean the ProjectItemModel of everything but the headers.
Definition: ProjectItemModel.cpp:952
void insertRow(int row, ProjectItem *item)
Inserts a top-level item at the given row.
Definition: ProjectItemModel.cpp:377
void onSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Slot to connect to the selectionChanged() signal from a selection model.
Definition: ProjectItemModel.cpp:775
void setItem(int row, ProjectItem *item)
Sets the item at the top-level row.
Definition: ProjectItemModel.cpp:412
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.
Definition: ProjectItemModel.cpp:80
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...
Definition: ProjectItemModel.cpp:854
ProjectItem * itemFromIndex(const QModelIndex &index)
Returns the ProjectItem corresponding to a given QModelIndex.
Definition: ProjectItemModel.cpp:401
ProjectItem * takeItem(int row)
Removes the top-level row and returns the removed item.
Definition: ProjectItemModel.cpp:424
~ProjectItemModel()
Destructs the model.
Definition: ProjectItemModel.cpp:62
QList< ProjectItem * > selectedBOSSImages()
ProjectItemModel::selectedBOSSImages.
Definition: ProjectItemModel.cpp:177
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.
Definition: ProjectItemModel.cpp:389
virtual void removeItems(QList< ProjectItem * > items)
Removes a list of items and their children from the model.
Definition: ProjectItemModel.cpp:342
ProjectItem * addProject(Project *project)
Adds a Project to the model.
Definition: ProjectItemModel.cpp:107
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...
Definition: ProjectItemModel.cpp:290
ProjectItem * currentItem()
Returns the current item of the internal selection model.
Definition: ProjectItemModel.cpp:139
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.
Definition: ProjectItemModel.cpp:366
void itemRemoved(ProjectItem *)
This signal is emitted when a ProjectItem is removed to the model.
virtual void removeItem(ProjectItem *item)
Removes an item and its children from the model.
Definition: ProjectItemModel.cpp:315
Qt::ItemFlags flags(const QModelIndex &index) const
This virtual method was added to handle changing the project name by double-clicking the project name...
Definition: ProjectItemModel.cpp:914
QItemSelectionModel * selectionModel()
Returns the internal selection model.
Definition: ProjectItemModel.cpp:93
Internalizes a list of shapes and allows for operations on the entire list.
Definition: ShapeList.h:33
List for holding TargetBodies.
Definition: TargetBodyList.h:33
Definition: TemplateList.h:35
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