3 #include "MeasureTableModel.h"
10 #include <QStringList>
22 #include "AbstractTableDelegate.h"
23 #include "AbstractMeasureItem.h"
24 #include "TableColumn.h"
25 #include "TableColumnList.h"
26 #include "MeasureTableDelegate.h"
27 #include "AbstractTreeModel.h"
32 MeasureTableModel::MeasureTableModel(AbstractTreeModel *model) :
33 AbstractTableModel(model, new MeasureTableDelegate) {
34 connect(model, SIGNAL(filterCountsChanged(
int,
int)),
35 this, SLOT(calculateFilterCounts()));
43 MeasureTableModel::~MeasureTableModel() {
49 return getSortedItems(start, end, AbstractTreeModel::MeasureItems);
54 AbstractTreeItem *item1, AbstractTreeItem *item2) {
55 return getSortedItems(item1, item2, AbstractTreeModel::MeasureItems);
59 int MeasureTableModel::getVisibleRowCount()
const {
60 return getDataModel()->getVisibleItemCount(
61 AbstractTreeModel::MeasureItems,
true);
66 return getDataModel()->getSelectedItems(
67 AbstractTreeModel::MeasureItems,
true);
71 QString MeasureTableModel::getWarningMessage(AbstractTreeItem
const *row,
72 TableColumn
const *column, QString valueToSave)
const {
73 return getMeasureWarningMessage(row, column, valueToSave);
77 void MeasureTableModel::setGlobalSelection(
bool selected) {
78 return getDataModel()->setGlobalSelection(selected,
79 AbstractTreeModel::MeasureItems);
83 void MeasureTableModel::calculateFilterCounts() {
84 int visible = getDataModel()->getVisibleItemCount(
85 AbstractTreeModel::MeasureItems,
true);
86 int total = getDataModel()->getItemCount(
87 AbstractTreeModel::MeasureItems);
89 emit filterCountsChanged(visible, total);
93 int MeasureTableModel::indexOfVisibleItem(
94 AbstractTreeItem
const *item)
const {
95 return getDataModel()->indexOfVisibleItem(item,
96 AbstractTreeModel::MeasureItems,
true);
100 QString MeasureTableModel::getMeasureWarningMessage(
101 AbstractTreeItem
const *row, TableColumn
const *column,
102 QString valueToSave) {
103 QString colTitle = column->getTitle();
104 AbstractMeasureItem::Column colType =
105 AbstractMeasureItem::getColumn(colTitle);
109 if (colType == AbstractMeasureItem::EditLock &&
110 valueToSave.toLower() ==
"no" &&
111 row->getFormattedData(colTitle).toLower() ==
"yes") {
112 QString pointColTitle =
113 AbstractMeasureItem::getColumnName(AbstractMeasureItem::PointId);
114 warningText =
"Are you sure you want to unlock control measure [" +
115 row->getFormattedData() +
"] in point [" +
116 row->getFormattedData(pointColTitle) +
"] for editing?";
123 void MeasureTableModel::handleTreeSelectionChanged(
125 AbstractTableModel::handleTreeSelectionChanged(
126 newlySelectedItems, AbstractTreeItem::Measure);
130 TableColumnList *MeasureTableModel::createColumns() {
131 return AbstractMeasureItem::createColumns();
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.