Isis 3 Programmer Reference
|
Allows access to items in a ProjectItemModel through a proxy model. More...
#include <ProjectItemProxyModel.h>
Public Slots | |
ProjectItem * | addItem (ProjectItem *sourceItem) |
Adds an item and its children to the proxy model. More... | |
void | addItems (QList< ProjectItem * > sourceItems) |
Adds a list of items to the proxy model. More... | |
Signals | |
void | itemsAdded () |
void | itemRemoved (ProjectItem *) |
void | itemAdded (ProjectItem *) |
This signal is emitted when a ProjectItem is added to the model. More... | |
void | cleanProject (bool) |
This signal is emitted whrn a ProjectItem's name is changed. More... | |
void | projectNameEdited (QString) |
This signal is emitted when the project name is edited. More... | |
Public Member Functions | |
ProjectItemProxyModel (QObject *parent=0) | |
Constructs the proxy model. More... | |
QModelIndex | mapIndexFromSource (const QModelIndex &sourceIndex) |
Returns the QModelIndex of an item in the proxy model that corresponds with the QModelIndex of an item in the source model. More... | |
QModelIndex | mapIndexToSource (const QModelIndex &proxyIndex) |
Returns the QModelIndex of an item in the souce model that corresponds with the QModelIndex of an item in the proxy model. More... | |
QItemSelection | mapSelectionFromSource (const QItemSelection &sourceSelection) |
Returns a QItemSelection of items in the proxy model that corresponds with a QItemSelection of items in the source model. More... | |
QItemSelection | mapSelectionToSource (const QItemSelection &proxySelection) |
Returns a QItemSelection of items in the source model that corresponds with a QItemSelection of itesm in the proxy model. More... | |
ProjectItem * | mapItemFromSource (ProjectItem *sourceItem) |
Returns the ProjectItem in the proxy model that corresponds with a ProjectItem in the source model. More... | |
ProjectItem * | mapItemToSource (ProjectItem *proxyItem) |
Returns the ProjectItem in the source model that corresponds with a ProjectItem in the source model. More... | |
void | removeItem (ProjectItem *item) |
Removes an item and its children from the proxy model. More... | |
void | setSourceModel (ProjectItemModel *sourceModel) |
Sets the source model. More... | |
ProjectItemModel * | sourceModel () |
Returns the source model. More... | |
virtual bool | canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const |
Returns true. More... | |
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
Adds the data (selected items) from the source model to the proxy model. More... | |
QItemSelectionModel * | selectionModel () |
Returns the internal selection model. More... | |
ProjectItem * | addProject (Project *project) |
Adds a Project to the model. More... | |
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 item is found. More... | |
virtual void | removeItems (QList< ProjectItem * > items) |
Removes a list of items and their children from the model. More... | |
ProjectItem * | currentItem () |
Returns the current item of the internal selection model. More... | |
QList< ProjectItem * > | selectedItems () |
Returns a list of the selected items of the internal selection model. More... | |
QList< ProjectItem * > | selectedBOSSImages () |
ProjectItemModel::selectedBOSSImages. More... | |
void | appendRow (ProjectItem *item) |
Appends a top-level item to the model. More... | |
void | clean () |
Used to clean the ProjectItemModel of everything but the headers. More... | |
QModelIndex | indexFromItem (const ProjectItem *item) |
Returns the QModelIndex corresponding to a given ProjectItem. More... | |
void | insertRow (int row, ProjectItem *item) |
Inserts a top-level item at the given row. More... | |
ProjectItem * | item (int row) |
Returns the top-level item at the given row. More... | |
ProjectItem * | itemFromIndex (const QModelIndex &index) |
Returns the ProjectItem corresponding to a given QModelIndex. More... | |
void | setItem (int row, ProjectItem *item) |
Sets the item at the top-level row. More... | |
ProjectItem * | takeItem (int row) |
Removes the top-level row and returns the removed item. More... | |
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 on the project tree. More... | |
Qt::ItemFlags | flags (const QModelIndex &index) const |
This virtual method was added to handle changing the project name by double-clicking the project name on the project tree. More... | |
Protected Slots | |
void | updateItem (ProjectItem *sourceItem) |
Given an item in the source model, this method changes the data of the corresponding item in the proxy model to match that of the item in the source model. More... | |
void | updateProxyCurrent () |
Slot that updates the current item in the proxy model only if it is different than the corresponding item in the source model. More... | |
void | updateSourceCurrent () |
Slot that updates the current item in the proxy model only if it is different than the corresponding item in the source model. More... | |
void | updateProxySelection () |
Slot that updates the selection in the proxy model only if it is different than the corresponding selection in the source model. More... | |
void | updateSourceSelection () |
Slot that updates the selection in the source model only if it is different than the corresponding selection in the proxy model. More... | |
void | onSelectionChanged (const QItemSelection &selected, const QItemSelection &deselected) |
Slot to connect to the selectionChanged() signal from a selection model. More... | |
Protected Member Functions | |
ProjectItem * | addChild (ProjectItem *sourceItem, ProjectItem *parentItem) |
Creates an item in the proxy model corresponding to an item in the source model as a child of a parent item in the proxy model. More... | |
Private Slots | |
void | onItemChanged (QStandardItem *item) |
Signal to connect to the itemChanged() signal from a ProjectItemModel. More... | |
void | onNameChanged (QString newName) |
Slot to connect to the nameChanged() signal from a Project. More... | |
void | onBundleSolutionInfoAdded (BundleSolutionInfo *bundleSolutionInfo) |
Slot to connect to the bundleSolutionInfoAdded() signal from a project. More... | |
void | onImagesAdded (ImageList *images) |
Slot to connect to the imagesAdded() signal from a Project. More... | |
void | onShapesAdded (ShapeList *shapes) |
Slot to connect to the shapesAdded() signal from a Project. More... | |
void | onControlAdded (Control *control) |
Slot to connect to the controlAdded() signal from a project. More... | |
void | onControlListAdded (ControlList *controlList) |
Slot to connect to the controlListAdded() signal from a Project. More... | |
void | onTargetsAdded (TargetBodyList *targets) |
Slot to connect to the targetsAdded() signal from a Project. More... | |
void | onTemplatesAdded (TemplateList *templateList) |
Slot connected to the templatesAdded() signal from a project. More... | |
void | onGuiCamerasAdded (GuiCameraList *cameras) |
Slot to connect to the guiCamerasAdded() signal from a Project. More... | |
void | onRowsInserted (const QModelIndex &parent, int start, int end) |
Slot to connect to the rowsInserted() signal from QAbstractItemModel. More... | |
void | onRowsRemoved (const QModelIndex &parent, int start, int end) |
Slot to connect to the rowsAboutToBeRemoved() signal from QAbstractItemModel. More... | |
Private Member Functions | |
bool | rejectName (QStringList &reserved, QString target) |
Checks to see if we are adding a reserved name to the project (ex. More... | |
Private Attributes | |
ProjectItemModel * | m_sourceModel |
The source model. Map of items from the source model to the proxy model. More... | |
QMap< ProjectItem *, ProjectItem * > | m_sourceProxyMap |
QItemSelectionModel * | m_selectionModel |
The internal selection model. More... | |
QStringList | m_reservedNames |
Allows access to items in a ProjectItemModel through a proxy model.
A proxy model can have a different structure than the source model. An item in the proxy model usually corresponds to an item in the source model. The proxy model will update item selections and the current item between the source model and the proxy model.
In the default implementation the only items in the proxy model are item that are added with the addItem() method. The items that are added are organized in the same tree structure that they are in the source model. Subclasses of ProjectItemProxyModel can organize items in a different way by overriding the addItem() method.
The proxy model ensures that its item selection corresponds to the item selection in the source model. When the selection in the proxy model changes the selection in the source model is changed to the items that correspond to the items in the proxy selection. Similarly when the selection in the source model is changed the selection in the proxy model is changed to the items in the proxy model that correpond to the items in the selection.
Definition at line 70 of file ProjectItemProxyModel.h.
Isis::ProjectItemProxyModel::ProjectItemProxyModel | ( | QObject * | parent = 0 | ) |
Constructs the proxy model.
Definition at line 30 of file ProjectItemProxyModel.cpp.
References m_sourceModel.
|
protected |
Creates an item in the proxy model corresponding to an item in the source model as a child of a parent item in the proxy model.
If the corresponding item in the proxy model already exits then that item is updated instead of creating a new item. If the corresponding item already has a parent its parent is changed to the new parent. If the parent item is null then the item is added as a top-level item in the model.
[in] | sourceItem | (ProjectItem *) The item in the source model. |
[in] | parentItem | (ProjectItem *) The parent in the proxy model. |
Definition at line 351 of file ProjectItemProxyModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItemModel::appendRow(), mapItemFromSource(), Isis::ProjectItem::model(), Isis::ProjectItem::parent(), Isis::ProjectItem::setProjectItem(), setSourceModel(), and sourceModel().
Referenced by addItem().
|
slot |
Adds an item and its children to the proxy model.
Creates items in the proxy model from an item in the source model and returns the created item. If the item in the source model has already been added, then the corresponding item in the proxy model is updated and returned instead.
When an item in the source model is added the children of that item are also added as children of the corresponding item in the proxy model.
[in] | sourceItem | (ProjectItem *) The item in the source model. |
Definition at line 167 of file ProjectItemProxyModel.cpp.
References addChild(), Isis::ProjectItem::child(), mapItemFromSource(), and Isis::ProjectItem::parent().
Referenced by addItems().
|
slot |
Adds a list of items to the proxy model.
[in] | sourceItem | (QList<ProjectItem *>) The list of items in the source model. |
Definition at line 195 of file ProjectItemProxyModel.cpp.
References addItem(), and Isis::ProjectItemModel::item().
Referenced by dropMimeData().
|
inherited |
Adds a Project to the model.
An item is created that corresponds to the Project as well as children items that correspond to various parts of the Project.
Definition at line 107 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::appendRow(), Isis::ProjectItemModel::onBundleSolutionInfoAdded(), Isis::ProjectItemModel::onControlAdded(), Isis::ProjectItemModel::onControlListAdded(), Isis::ProjectItemModel::onGuiCamerasAdded(), Isis::ProjectItemModel::onImagesAdded(), Isis::ProjectItemModel::onNameChanged(), Isis::ProjectItemModel::onShapesAdded(), Isis::ProjectItemModel::onTargetsAdded(), and Isis::ProjectItemModel::onTemplatesAdded().
|
inherited |
Appends a top-level item to the model.
item | (ProjectItem *) The item to append. |
Definition at line 354 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item().
Referenced by addChild(), and Isis::ProjectItemModel::addProject().
|
virtual |
Returns true.
You can drop data into a ProjectItemProxyModel
data | (const QMimeData *) The data to drop |
action | (Qt::DropAction) The drop action |
row | (int) ??? |
column(int) | ??? |
QModelIndex | (const QModelIndex &) Index of the data's parent item |
Reimplemented from Isis::ProjectItemModel.
Definition at line 418 of file ProjectItemProxyModel.cpp.
|
inherited |
Used to clean the ProjectItemModel of everything but the headers.
Definition at line 952 of file ProjectItemModel.cpp.
References Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::ProjectItem::project(), and Isis::ProjectItemModel::removeItem().
|
signalinherited |
This signal is emitted whrn a ProjectItem's name is changed.
Referenced by Isis::ProjectItemModel::setData().
|
inherited |
Returns the current item of the internal selection model.
Definition at line 139 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemFromIndex(), Isis::ProjectItemModel::selectedItems(), and Isis::ProjectItemModel::selectionModel().
Referenced by Isis::AbstractProjectItemView::currentItem().
|
virtual |
Adds the data (selected items) from the source model to the proxy model.
data | (const QMimeData *) |
action | (Qt::DropAction) |
row | (int) |
column(int) | |
QModelIndex | (const QModelIndex &) |
Definition at line 437 of file ProjectItemProxyModel.cpp.
References addItems(), Isis::ProjectItemModel::selectedItems(), and sourceModel().
|
inherited |
Returns the first item found that contains the given data in the given role or a null pointer if no item is found.
data | (const QVariant &) The data contained in the item. |
role | (int) The role of the data (see Qt::ItemDataRole). |
Definition at line 290 of file ProjectItemModel.cpp.
References Isis::ProjectItem::findItemData(), and Isis::ProjectItemModel::item().
Referenced by Isis::ControlHealthMonitorView::openImageEditor(), Isis::ProjectItemModel::selectedBOSSImages(), Isis::Project::setActiveControl(), Isis::Project::setActiveImageList(), Isis::ImportImagesWorkOrder::undoExecution(), Isis::ImportMapTemplateWorkOrder::undoExecution(), Isis::ImportRegistrationTemplateWorkOrder::undoExecution(), and Isis::ImportShapesWorkOrder::undoExecution().
|
inherited |
This virtual method was added to handle changing the project name by double-clicking the project name on the project tree.
It was required by Qt in order to allow editing capabilities.
index | (const QModelIndex &) Field which has been edited |
Definition at line 914 of file ProjectItemModel.cpp.
|
inherited |
Returns the QModelIndex corresponding to a given ProjectItem.
item | (const ProjectItem *) The item. |
Definition at line 366 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item().
|
inherited |
Inserts a top-level item at the given row.
row | (int) The row where the item will be inserted. |
item | (ProjectItem *) The item to insert. |
Definition at line 377 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item().
|
inherited |
Returns the top-level item at the given row.
row | (int) The row of the item. |
Definition at line 389 of file ProjectItemModel.cpp.
Referenced by addItems(), Isis::ProjectItemModel::appendRow(), Isis::ProjectItemModel::clean(), Isis::ProjectItemModel::currentItem(), Isis::ProjectItemModel::findItemData(), Isis::ProjectItemModel::indexFromItem(), Isis::ProjectItemModel::insertRow(), Isis::ProjectItemModel::onBundleSolutionInfoAdded(), Isis::ProjectItemModel::onControlAdded(), Isis::ProjectItemModel::onControlListAdded(), Isis::ProjectItemModel::onGuiCamerasAdded(), Isis::ProjectItemModel::onImagesAdded(), onItemChanged(), Isis::ProjectItemModel::onNameChanged(), Isis::ProjectItemModel::onRowsInserted(), Isis::ProjectItemModel::onRowsRemoved(), Isis::ProjectItemModel::onSelectionChanged(), Isis::ProjectItemModel::onShapesAdded(), Isis::ProjectItemModel::onTargetsAdded(), Isis::ProjectItemModel::onTemplatesAdded(), Isis::ProjectItemModel::removeItem(), removeItem(), Isis::ProjectItemModel::removeItems(), Isis::ProjectItemModel::selectedBOSSImages(), Isis::ProjectItemModel::setData(), and Isis::ProjectItemModel::setItem().
|
signalinherited |
This signal is emitted when a ProjectItem is added to the model.
Referenced by Isis::ProjectItemModel::onRowsInserted().
|
inherited |
Returns the ProjectItem corresponding to a given QModelIndex.
index | (const QModelIndex &) The index of the item. |
Definition at line 401 of file ProjectItemModel.cpp.
Referenced by Isis::ProjectItemModel::currentItem(), mapIndexFromSource(), mapIndexToSource(), Isis::JigsawSetupDialog::on_applySettingsPushButton_clicked(), Isis::CubeDnView::onCurrentChanged(), Isis::ProjectItemModel::onRowsInserted(), Isis::ProjectItemModel::onRowsRemoved(), Isis::ProjectItemModel::onSelectionChanged(), Isis::ProjectItemModel::selectedBOSSImages(), Isis::ProjectItemModel::selectedItems(), Isis::ProjectItemModel::setData(), and Isis::JigsawSetupDialog::updateBundleObservationSolveSettings().
QModelIndex Isis::ProjectItemProxyModel::mapIndexFromSource | ( | const QModelIndex & | sourceIndex | ) |
Returns the QModelIndex of an item in the proxy model that corresponds with the QModelIndex of an item in the source model.
[in] | sourceIndex | (const QModelIndex &) The index from the source model. |
Definition at line 45 of file ProjectItemProxyModel.cpp.
References Isis::ProjectItemModel::itemFromIndex(), mapItemFromSource(), and sourceModel().
Referenced by mapSelectionFromSource(), and updateProxyCurrent().
QModelIndex Isis::ProjectItemProxyModel::mapIndexToSource | ( | const QModelIndex & | proxyIndex | ) |
Returns the QModelIndex of an item in the souce model that corresponds with the QModelIndex of an item in the proxy model.
[in] | proxyIndex | (const QModelIndex &) The index from the proxy model. |
Definition at line 66 of file ProjectItemProxyModel.cpp.
References Isis::ProjectItemModel::itemFromIndex(), and mapItemToSource().
Referenced by mapSelectionToSource(), and updateSourceCurrent().
ProjectItem * Isis::ProjectItemProxyModel::mapItemFromSource | ( | ProjectItem * | sourceItem | ) |
Returns the ProjectItem in the proxy model that corresponds with a ProjectItem in the source model.
[in] | sourceItem | (ProjectItem *) The item in the source model. |
Definition at line 134 of file ProjectItemProxyModel.cpp.
Referenced by addChild(), addItem(), mapIndexFromSource(), and updateItem().
ProjectItem * Isis::ProjectItemProxyModel::mapItemToSource | ( | ProjectItem * | proxyItem | ) |
Returns the ProjectItem in the source model that corresponds with a ProjectItem in the source model.
[in] | proxyItem | (ProjectItem *) The item in the proxy model. |
Definition at line 147 of file ProjectItemProxyModel.cpp.
Referenced by mapIndexToSource(), and removeItem().
QItemSelection Isis::ProjectItemProxyModel::mapSelectionFromSource | ( | const QItemSelection & | sourceSelection | ) |
Returns a QItemSelection of items in the proxy model that corresponds with a QItemSelection of items in the source model.
[in] | sourceSelection | (const QItemSelection &) The selection of items in the source model. |
Definition at line 87 of file ProjectItemProxyModel.cpp.
References mapIndexFromSource().
Referenced by updateProxySelection(), and updateSourceSelection().
QItemSelection Isis::ProjectItemProxyModel::mapSelectionToSource | ( | const QItemSelection & | proxySelection | ) |
Returns a QItemSelection of items in the source model that corresponds with a QItemSelection of itesm in the proxy model.
[in] | proxySelection | (const QItemSelection &) The selection of items in the proxy model. |
Definition at line 112 of file ProjectItemProxyModel.cpp.
References mapIndexToSource().
Referenced by updateSourceSelection().
|
privateslotinherited |
Slot to connect to the bundleSolutionInfoAdded() signal from a project.
Adds a ProjectItem that corresponds to the BundleSolutionInfo to the model. The item is added to the item named "Results" of the item that corresponds to the Project that sent the signal.
bundleSolutionInfo | (BundleSolutionInfo *) The BundleSolutionInfo added to the Project. |
Definition at line 468 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::BundleSolutionInfo::name(), Isis::ProjectItem::project(), Isis::BundleSolutionInfo::savedBundleOutputFilename(), Isis::BundleSolutionInfo::savedImagesFilename(), Isis::BundleSolutionInfo::savedPointsFilename(), and Isis::BundleSolutionInfo::savedResidualsFilename().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the controlAdded() signal from a project.
Adds a ProjectItem that corresponds to the Control to the model. The item is added to the item that corresponds to the control's ControlList.
Definition at line 563 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItem::controlList(), Isis::Control::id(), Isis::ProjectItemModel::item(), and Isis::ProjectItem::project().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the controlListAdded() signal from a Project.
Adds a ProjectItem that corresponds to the ControlList to the model. The item is added to the item named "Control Networks" of the item that corresponds to the Project that sent the signal.
controlList | (ControlList *) The ControlList added to the Project. |
Definition at line 602 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::ControlList::name(), and Isis::ProjectItem::project().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the guiCamerasAdded() signal from a Project.
Adds items that correspond to the cameras to the model. The items are added to the item named "Sensors" of the item that corresponds to the Project that sent the signal.
cameras | (GuiCameraList *) The GuiCameraList of the Project. |
Definition at line 732 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItem::guiCamera(), Isis::ProjectItemModel::item(), Isis::GuiCameraList::name(), and Isis::ProjectItem::project().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the imagesAdded() signal from a Project.
Adds a ProjectItem that corresponds to the ImageList to the model. The item is added to the item named "Images" of the item that corresponds to the Project that sent the signal.
Definition at line 632 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::ImageList::name(), and Isis::ProjectItem::project().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslot |
Signal to connect to the itemChanged() signal from a ProjectItemModel.
Updates the corresponding item in the proxy model.
[in] | item | (QStandardItem *) The item that has been changed. |
Definition at line 402 of file ProjectItemProxyModel.cpp.
References Isis::ProjectItemModel::item(), and updateItem().
Referenced by setSourceModel().
|
privateslotinherited |
Slot to connect to the nameChanged() signal from a Project.
Sets the name of the ProjectItem that corresponds with the Project.
newName | (QString) The new name of the project |
Definition at line 441 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item(), Isis::ProjectItem::project(), and Isis::Project::setClean().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the rowsInserted() signal from QAbstractItemModel.
Emits a corresponding itemAdded() signal for each row inserted.
parent | (const QModelIndex &) The parent index where rows were inserted. |
start | (int) The first row inserted (inclusive). |
end | (int) The last row inserted (inclusive). |
Definition at line 812 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemAdded(), and Isis::ProjectItemModel::itemFromIndex().
Referenced by Isis::ProjectItemModel::ProjectItemModel().
|
privateslotinherited |
Slot to connect to the rowsAboutToBeRemoved() signal from QAbstractItemModel.
Emits a corresponding itemRemoved() signal for each row inserted.
parent | (const QModelIndex &) The parent index where rows are to be removed. |
start | (int) The first row to be removed (inclusive). |
end | (int) The last row to be removed (inclusive). |
Definition at line 830 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemFromIndex(), and Isis::ProjectItemModel::itemRemoved().
Referenced by Isis::ProjectItemModel::ProjectItemModel().
|
protectedslotinherited |
Slot to connect to the selectionChanged() signal from a selection model.
Updates other factors in the model that rely on selected items but do not directly correspond with the selection model. Currently changes the selected property of Images that correspond with selected or deselected items.
selected | (const QItemSelection &) The selected items. |
deselected | (const QItemSelection &) The deselected items. |
Definition at line 775 of file ProjectItemModel.cpp.
References Isis::Image::displayProperties(), Isis::ProjectItem::image(), Isis::ProjectItem::isImage(), Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemFromIndex(), Isis::ProjectItemModel::selectedItems(), and Isis::ImageDisplayProperties::setSelected().
Referenced by Isis::ProjectItemModel::ProjectItemModel().
|
privateslotinherited |
Slot to connect to the shapesAdded() signal from a Project.
Adds a ProjectItem that corresponds to the ShapeList to the model. The item is added to the item named "Shape Models" of the item that corresponds to the Project that sent the signal.
Definition at line 662 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::ShapeList::name(), and Isis::ProjectItem::project().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot to connect to the targetsAdded() signal from a Project.
Adds items that correspond to the target bodies to the model. The items are added to the item named "Target Body" of the item that corresponds to the Project that sent the signal.
targets | (TargetBodyList *) The TargetBodyList of the Project. |
Definition at line 691 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::TargetBodyList::name(), Isis::ProjectItem::project(), and Isis::ProjectItem::targetBody().
Referenced by Isis::ProjectItemModel::addProject().
|
privateslotinherited |
Slot connected to the templatesAdded() signal from a project.
Adds a ProjectItem for each newly added template FileName to the model. The Item is added to the corresponding ProjectItem under "Templates" (currently only "Maps" and "Registrations" ) and the name of the TemplateList (import1, import2, etc...).
templateList | TemplateList of Templates being added to the project. |
Definition at line 525 of file ProjectItemModel.cpp.
References Isis::ProjectItem::appendRow(), Isis::ProjectItem::child(), Isis::ProjectItemModel::item(), Isis::ProjectItem::project(), and Isis::TemplateList::type().
Referenced by Isis::ProjectItemModel::addProject().
|
signalinherited |
This signal is emitted when the project name is edited.
Referenced by Isis::ProjectItemModel::setData().
|
privateinherited |
Checks to see if we are adding a reserved name to the project (ex.
If we are adding an ImageList, and giving it the same name as another ImageList, or ShapesList, or something else).
reserved | The list of reserved names we cannot use. |
target | The name we are querying to see if it is in the reserved list. |
Definition at line 929 of file ProjectItemModel.cpp.
Referenced by Isis::ProjectItemModel::setData().
|
virtual |
Removes an item and its children from the proxy model.
[in] | proxyItem | (ProjectItem *) The item to be removed. |
Reimplemented from Isis::ProjectItemModel.
Definition at line 208 of file ProjectItemProxyModel.cpp.
References Isis::ProjectItemModel::item(), mapItemToSource(), and Isis::ProjectItemModel::removeItem().
|
virtualinherited |
Removes a list of items and their children from the model.
items | (ProjectItem *) The items to be removed. |
Definition at line 342 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item(), and Isis::ProjectItemModel::removeItem().
Referenced by Isis::RemoveImagesWorkOrder::execute().
|
inherited |
ProjectItemModel::selectedBOSSImages.
Definition at line 177 of file ProjectItemModel.cpp.
References Isis::ProjectItem::child(), Isis::ProjectItemModel::findItemData(), Isis::ProjectItem::isImage(), Isis::ProjectItem::isImageList(), Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemFromIndex(), Isis::ProjectItem::parent(), and Isis::ProjectItemModel::selectionModel().
|
inherited |
Returns a list of the selected items of the internal selection model.
Definition at line 158 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::itemFromIndex(), and Isis::ProjectItemModel::selectionModel().
Referenced by Isis::ProjectItemModel::currentItem(), dropMimeData(), Isis::CubeDnViewWorkOrder::execute(), Isis::Footprint2DViewWorkOrder::execute(), Isis::RemoveImagesWorkOrder::execute(), Isis::ProjectItemModel::onSelectionChanged(), Isis::AbstractProjectItemView::selectedItems(), and Isis::RemoveImagesWorkOrder::setupExecution().
|
inherited |
Returns the internal selection model.
Definition at line 93 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::m_selectionModel.
Referenced by Isis::ProjectItemModel::currentItem(), Isis::CubeDnView::onCubeViewportActivated(), Isis::Footprint2DView::onQueueSelectionChanged(), Isis::ProjectItemModel::selectedBOSSImages(), Isis::ProjectItemModel::selectedItems(), Isis::ProjectItemTreeView::setInternalModel(), setSourceModel(), updateProxyCurrent(), updateProxySelection(), updateSourceCurrent(), and updateSourceSelection().
|
inherited |
This virtual method was added to handle changing the project name by double-clicking the project name on the project tree.
It was required by Qt in order to allow editing capabilities.
index | (const QModelIndex &) Field which has been edited |
value | (const QVariant &) Value contained in the field |
role | (int) Will always be EditRole since field only contains text |
Definition at line 854 of file ProjectItemModel.cpp.
References Isis::ProjectItem::bundleSolutionInfo(), Isis::ProjectItemModel::cleanProject(), Isis::ProjectItem::controlList(), Isis::ProjectItem::imageList(), Isis::ProjectItem::isBundleSolutionInfo(), Isis::ProjectItem::isControlList(), Isis::ProjectItem::isImageList(), Isis::ProjectItem::isProject(), Isis::ProjectItem::isShapeList(), Isis::ProjectItemModel::item(), Isis::ProjectItemModel::itemFromIndex(), Isis::ProjectItemModel::projectNameEdited(), Isis::ProjectItemModel::rejectName(), Isis::BundleSolutionInfo::setName(), Isis::ControlList::setName(), Isis::ImageList::setName(), Isis::ShapeList::setName(), and Isis::ProjectItem::shapeList().
|
inherited |
Sets the item at the top-level row.
row | (int) The row where the item will be set. |
item | (ProjectItem *) The item to set the row to. |
Definition at line 412 of file ProjectItemModel.cpp.
References Isis::ProjectItemModel::item().
Referenced by Isis::BundleObservationView::displayCsvFile().
void Isis::ProjectItemProxyModel::setSourceModel | ( | ProjectItemModel * | sourceModel | ) |
Sets the source model.
If there are already items in the model and the source model is set to a different source model, the proxy model is cleared first.
[in] | sourceModel | (ProjectItemModel *) The source model. |
Definition at line 224 of file ProjectItemProxyModel.cpp.
References m_sourceModel, onItemChanged(), Isis::ProjectItemModel::selectionModel(), sourceModel(), updateProxyCurrent(), updateProxySelection(), updateSourceCurrent(), and updateSourceSelection().
Referenced by addChild().
ProjectItemModel * Isis::ProjectItemProxyModel::sourceModel | ( | ) |
Returns the source model.
Definition at line 266 of file ProjectItemProxyModel.cpp.
References m_sourceModel.
Referenced by addChild(), dropMimeData(), mapIndexFromSource(), setSourceModel(), updateProxyCurrent(), updateProxySelection(), updateSourceCurrent(), and updateSourceSelection().
|
inherited |
Removes the top-level row and returns the removed item.
row | (int) The row of the item to remove. |
Definition at line 424 of file ProjectItemModel.cpp.
|
protectedslot |
Given an item in the source model, this method changes the data of the corresponding item in the proxy model to match that of the item in the source model.
[in] | sourceItem | (ProjectItem *) The item in the source model. |
Definition at line 278 of file ProjectItemProxyModel.cpp.
References mapItemFromSource().
Referenced by onItemChanged().
|
protectedslot |
Slot that updates the current item in the proxy model only if it is different than the corresponding item in the source model.
Definition at line 289 of file ProjectItemProxyModel.cpp.
References mapIndexFromSource(), Isis::ProjectItemModel::selectionModel(), and sourceModel().
Referenced by setSourceModel().
|
protectedslot |
Slot that updates the selection in the proxy model only if it is different than the corresponding selection in the source model.
Definition at line 315 of file ProjectItemProxyModel.cpp.
References mapSelectionFromSource(), Isis::ProjectItemModel::selectionModel(), and sourceModel().
Referenced by setSourceModel().
|
protectedslot |
Slot that updates the current item in the proxy model only if it is different than the corresponding item in the source model.
Definition at line 302 of file ProjectItemProxyModel.cpp.
References mapIndexToSource(), Isis::ProjectItemModel::selectionModel(), and sourceModel().
Referenced by setSourceModel().
|
protectedslot |
Slot that updates the selection in the source model only if it is different than the corresponding selection in the proxy model.
Definition at line 328 of file ProjectItemProxyModel.cpp.
References mapSelectionFromSource(), mapSelectionToSource(), Isis::ProjectItemModel::selectionModel(), and sourceModel().
Referenced by setSourceModel().
|
privateinherited |
The internal selection model.
Definition at line 212 of file ProjectItemModel.h.
Referenced by Isis::ProjectItemModel::ProjectItemModel(), and Isis::ProjectItemModel::selectionModel().
|
private |
The source model. Map of items from the source model to the proxy model.
Definition at line 123 of file ProjectItemProxyModel.h.
Referenced by ProjectItemProxyModel(), setSourceModel(), and sourceModel().