3 #include "MeasureTableDelegate.h"    19 #include "AbstractMeasureItem.h"    20 #include "AbstractTreeItem.h"    21 #include "MeasureTableModel.h"    22 #include "TableColumn.h"    25   MeasureTableDelegate::MeasureTableDelegate() {
    29   MeasureTableDelegate::~MeasureTableDelegate() {
    33   QWidget *MeasureTableDelegate::getWidget(TableColumn 
const *col)
    35     AbstractMeasureItem::Column column =
    36       AbstractMeasureItem::getColumn(col->getTitle());
    39       case AbstractMeasureItem::Ignored:
    40       case AbstractMeasureItem::EditLock: {
    43           combo->insertItem(0, 
"Yes");
    44           combo->insertItem(1, 
"No");
    47       case AbstractMeasureItem::Type: {
    50           combo->insertItem(0, 
"Candidate");
    51           combo->insertItem(1, 
"Manual");
    52           combo->insertItem(2, 
"RegisteredPixel");
    53           combo->insertItem(3, 
"RegisteredSubPixel");
    57           QLineEdit *lineEdit = 
new QLineEdit;
    62     IString msg = 
"Could not create delegate widget for column ["    63         + col->getTitle() + 
"]";
    68   void MeasureTableDelegate::readData(
QWidget *widget,
    69       AbstractTreeItem *row, TableColumn 
const *col)
 const {
    70     AbstractMeasureItem::Column column =
    71       AbstractMeasureItem::getColumn(col->getTitle());
    73     QString data = row->getFormattedData(col->getTitle());
    74     ASSERT(row->getPointerType() == AbstractTreeItem::Measure);
    75     ControlMeasure *measure = (ControlMeasure *)row->getPointer();
    78       case AbstractMeasureItem::EditLock: {
    80           if (measure->IsEditLocked())
    81             combo->setCurrentIndex(0);
    83             combo->setCurrentIndex(1);
    86       case AbstractMeasureItem::Ignored: {
    88           if (measure->IsIgnored())
    89             combo->setCurrentIndex(0);
    91             combo->setCurrentIndex(1);
    94       case AbstractMeasureItem::Type: {
    96           combo->setCurrentIndex((
int) measure->StringToMeasureType(data));
   100           QLineEdit *lineEdit = 
static_cast< QLineEdit * 
>(widget);
   101           lineEdit->setText(data);
   107   void MeasureTableDelegate::readData(
QWidget *widget,
   108       AbstractTreeItem *row, TableColumn 
const *col,
   109       QString newData)
 const {
   110     AbstractMeasureItem::Column column =
   111       AbstractMeasureItem::getColumn(col->getTitle());
   113     QString data = row->getFormattedData(col->getTitle());
   114     ASSERT(row->getPointerType() == AbstractTreeItem::Measure);
   115     ControlMeasure *measure = (ControlMeasure *) row->getPointer();
   118       case AbstractMeasureItem::EditLock: {
   121           if (measure->IsEditLocked())
   122             combo->setCurrentIndex(0);
   124             combo->setCurrentIndex(1);
   126           if (QString(
"yes").startsWith(newData.toLower()))
   127             combo->setCurrentIndex(0);
   128           else if (QString(
"no").startsWith(newData.toLower()))
   129             combo->setCurrentIndex(1);
   133       case AbstractMeasureItem::Ignored: {
   136           if (measure->IsIgnored())
   137             combo->setCurrentIndex(0);
   139             combo->setCurrentIndex(1);
   141           if (QString(
"yes").startsWith(newData.toLower()))
   142             combo->setCurrentIndex(0);
   143           if (QString(
"no").startsWith(newData.toLower()))
   144             combo->setCurrentIndex(1);
   148       case AbstractMeasureItem::Type: {
   151           combo->setCurrentIndex((
int) measure->StringToMeasureType(data));
   153           for (
int i = combo->count() - 1; i >= 0; --i)
   154             if (combo->itemText(i).toLower().startsWith(newData.toLower()))
   155               combo->setCurrentIndex(i);
   160           QLineEdit *lineEdit = 
static_cast< QLineEdit * 
>(widget);
   161           lineEdit->setText(newData);
   167   void MeasureTableDelegate::saveData(
QWidget *widget,
   168       AbstractTreeItem *row, TableColumn 
const *col)
 const {
   169     AbstractMeasureItem::Column column =
   170       AbstractMeasureItem::getColumn(col->getTitle());
   174       case AbstractMeasureItem::EditLock:
   175       case AbstractMeasureItem::Ignored:
   176       case AbstractMeasureItem::Type: {
   178           newData = combo->currentText();
   182           QLineEdit *lineEdit = 
static_cast< QLineEdit * 
>(widget);
   183           newData = lineEdit->text();
   187     QString warningText = MeasureTableModel::getMeasureWarningMessage(
   190     bool changeData = 
true;
   192     if (!warningText.isEmpty()) {
   193       QMessageBox::StandardButton status = QMessageBox::warning(
   194           NULL, 
"Change cell?", warningText, QMessageBox::Yes |
   197       changeData = (status == QMessageBox::Yes);
   201       row->setData(col->getTitle(), newData);
 
This error is for when a programmer made an API call that was illegal. 
 
#define _FILEINFO_
Macro for the filename and line number. 
 
Namespace for ISIS/Bullet specific routines.