From 8d0db7f2394536a19f7a0a00ecd5f84549d99458 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Mon, 22 May 2023 22:19:41 +0200
Subject: [PATCH] rm error column

---
 .../IO/AbstractDataLoaderResultModel.cpp      | 63 ++-----------------
 .../IO/AbstractDataLoaderResultModel.h        | 16 +----
 GUI/View/Import/SpecularDataImportWidget.cpp  |  6 --
 .../AutomaticDataLoader1DResultModel.cpp      | 10 ---
 .../AutomaticDataLoader1DResultModel.h        |  4 --
 GUI/View/Loaders/QREDataLoaderResultModel.cpp | 30 ---------
 GUI/View/Loaders/QREDataLoaderResultModel.h   |  4 --
 7 files changed, 6 insertions(+), 127 deletions(-)

diff --git a/GUI/Support/IO/AbstractDataLoaderResultModel.cpp b/GUI/Support/IO/AbstractDataLoaderResultModel.cpp
index ad69bf539e3..132688777ef 100644
--- a/GUI/Support/IO/AbstractDataLoaderResultModel.cpp
+++ b/GUI/Support/IO/AbstractDataLoaderResultModel.cpp
@@ -21,12 +21,10 @@ namespace {
 
 struct Palette {
     static QColor backgroundColorProcessedContent;
-    static QColor backgroundColorErrors;
     static QColor skippedLineTextColor;
 };
 
 QColor Palette::backgroundColorProcessedContent(191, 232, 242);
-QColor Palette::backgroundColorErrors(247, 140, 146);
 QColor Palette::skippedLineTextColor(Qt::lightGray);
 
 } // namespace
@@ -42,7 +40,7 @@ int AbstractDataLoaderResultModel::columnCount(const QModelIndex& parent /*= QMo
         return 0;
 
     const auto colTypes = {ColumnType::line,
-                           ColumnType::processed, ColumnType::error};
+                           ColumnType::processed};
 
     int cols = 0;
     for (ColumnType type : colTypes)
@@ -68,12 +66,7 @@ QVariant AbstractDataLoaderResultModel::data(const QModelIndex& index,
         switch (colType) {
         case ColumnType::line:
         case ColumnType::processed:
-            return rowIsSkipped(index) || rowHasError(index)
-                       ? QVariant()
-                       : Palette::backgroundColorProcessedContent;
-        case ColumnType::error:
-            return rowIsSkipped(index) || !rowHasError(index) ? QVariant()
-                                                              : Palette::backgroundColorErrors;
+            return Palette::backgroundColorProcessedContent;
         default:
             return QVariant();
         }
@@ -88,16 +81,9 @@ QVariant AbstractDataLoaderResultModel::data(const QModelIndex& index,
         case ColumnType::line:
             return QString::number(index.row() + 1);
 
-        case ColumnType::error: {
-            if (!rowIsSkipped(index))
-                return cellText(colType, index.row(),
-                                index.column() - firstSectionOfColumnType(colType));
-        } break;
-
         case ColumnType::processed: {
-            if (!rowIsSkipped(index) && !rowHasError(index))
-                return cellText(colType, index.row(),
-                                index.column() - firstSectionOfColumnType(colType));
+            return cellText(colType, index.row(),
+                            index.column() - firstSectionOfColumnType(colType));
         } break;
         default:
             break;
@@ -106,16 +92,9 @@ QVariant AbstractDataLoaderResultModel::data(const QModelIndex& index,
         return QVariant();
     }
 
-    if (role == Qt::DecorationRole && (colType == ColumnType::line || colType == ColumnType::error)
-        && rowHasError(index))
-        return m_warningIcon;
-
     if (role == Qt::TextAlignmentRole && colType == ColumnType::line)
         return QVariant(Qt::AlignRight | Qt::AlignVCenter);
 
-    if (role == Qt::ToolTipRole && colType == ColumnType::line && rowHasError(index))
-        return cellText(ColumnType::error, index.row(), 0);
-
     return QVariant();
 }
 
@@ -129,8 +108,6 @@ QVariant AbstractDataLoaderResultModel::headerData(int section, Qt::Orientation
         case ColumnType::processed:
             return headerTextOfCalculatedColumn(section
                                                 - firstSectionOfColumnType(ColumnType::processed));
-        case ColumnType::error:
-            return "Parser warnings";
         default:
             return QVariant();
         }
@@ -153,19 +130,7 @@ QVector<int> AbstractDataLoaderResultModel::sectionsOfColumnType(ColumnType type
 AbstractDataLoaderResultModel::ColumnType
 AbstractDataLoaderResultModel::columnType(int section) const
 {
-    const auto colTypes = {ColumnType::line,
-                           ColumnType::processed, ColumnType::error};
-
-    for (ColumnType type : colTypes) {
-        const int firstSection = firstSectionOfColumnType(type);
-        if (firstSection < 0)
-            continue;
-
-        if (section >= firstSection && section <= lastSectionOfColumnType(type))
-            return type;
-    }
-
-    return ColumnType::none;
+    return section == 0 ? ColumnType::line : ColumnType::processed;
 }
 
 AbstractDataLoaderResultModel::ColumnType
@@ -188,14 +153,6 @@ int AbstractDataLoaderResultModel::firstSectionOfColumnType(ColumnType type) con
                    : -1;
     }
 
-    if (type == ColumnType::error) {
-        const bool hasParsingErrors = columnCount(ColumnType::error) > 0;
-        return hasParsingErrors
-                   ? (lineColumnCount +
-                      + columnCount(ColumnType::processed))
-                   : -1;
-    }
-
     return -1;
 }
 
@@ -207,13 +164,3 @@ int AbstractDataLoaderResultModel::lastSectionOfColumnType(ColumnType type) cons
 
     return firstSection + columnCount(type) - 1;
 }
-
-bool AbstractDataLoaderResultModel::rowIsSkipped(const QModelIndex& index) const
-{
-    return rowIsSkipped(index.row());
-}
-
-bool AbstractDataLoaderResultModel::rowHasError(const QModelIndex& index) const
-{
-    return rowHasError(index.row());
-}
diff --git a/GUI/Support/IO/AbstractDataLoaderResultModel.h b/GUI/Support/IO/AbstractDataLoaderResultModel.h
index 03c35a3a27e..bcd0bdd8509 100644
--- a/GUI/Support/IO/AbstractDataLoaderResultModel.h
+++ b/GUI/Support/IO/AbstractDataLoaderResultModel.h
@@ -24,7 +24,7 @@
 class AbstractDataLoaderResultModel : public QAbstractTableModel {
     Q_OBJECT
 public:
-    enum class ColumnType { none, line, fileContent, raw, processed, error };
+    enum class ColumnType { line, processed };
 
     AbstractDataLoaderResultModel();
 
@@ -42,20 +42,6 @@ public:
     QVector<int> sectionsOfColumnType(ColumnType type) const;
 
 protected:
-    //! Returns whether the row given in the index is a skipped row. Only override this for
-    //! performance reasons.
-    virtual bool rowIsSkipped(const QModelIndex& index) const;
-
-    //! Returns whether the row given in the index contains errors. Only override this for
-    //! performance reasons.
-    virtual bool rowHasError(const QModelIndex& index) const;
-
-    //! Returns whether the row given in the index is a skipped row. Row counting starts with 0.
-    virtual bool rowIsSkipped(int row) const = 0;
-
-    //! Returns whether the row given in the index contains errors. Row counting starts with 0.
-    virtual bool rowHasError(int row) const = 0;
-
     //! Return the table header text for the given column. For convenience, column starts at 0 for
     //! first _calculated_ column, therefore it is not the same as the "real" section in the table
     //! header.
diff --git a/GUI/View/Import/SpecularDataImportWidget.cpp b/GUI/View/Import/SpecularDataImportWidget.cpp
index 7de19bbc733..741532a6487 100644
--- a/GUI/View/Import/SpecularDataImportWidget.cpp
+++ b/GUI/View/Import/SpecularDataImportWidget.cpp
@@ -198,12 +198,6 @@ void SpecularDataImportWidget::updatePreview()
                                                          // of QAbstractItemView::setModel
         auto* resultModel = m_loader->createResultModel();
         if (resultModel != nullptr) {
-            const auto originalSections = resultModel->sectionsOfColumnType(
-                AbstractDataLoaderResultModel::ColumnType::fileContent);
-
-            const auto rawSections =
-                resultModel->sectionsOfColumnType(AbstractDataLoaderResultModel::ColumnType::raw);
-
             const auto processedSections = resultModel->sectionsOfColumnType(
                 AbstractDataLoaderResultModel::ColumnType::processed);
 
diff --git a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
index 8d7cfbe0e84..1bd9ff80d81 100644
--- a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
+++ b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.cpp
@@ -23,11 +23,6 @@ AutomaticDataLoader1DResultModel::AutomaticDataLoader1DResultModel(RealItem* ite
 {
 }
 
-bool AutomaticDataLoader1DResultModel::rowHasError(int /*row*/) const
-{
-    return false;
-}
-
 int AutomaticDataLoader1DResultModel::rowCount() const
 {
     const Datafield* data = m_item->specularDataItem()->c_field();
@@ -37,11 +32,6 @@ int AutomaticDataLoader1DResultModel::rowCount() const
     return int(data->size());
 }
 
-bool AutomaticDataLoader1DResultModel::rowIsSkipped(int /*row*/) const
-{
-    return false;
-}
-
 QString AutomaticDataLoader1DResultModel::headerTextOfCalculatedColumn(int column) const
 {
     switch (column) {
diff --git a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.h b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.h
index 31d2a964972..cfc7c319b6d 100644
--- a/GUI/View/Loaders/AutomaticDataLoader1DResultModel.h
+++ b/GUI/View/Loaders/AutomaticDataLoader1DResultModel.h
@@ -25,14 +25,10 @@ public:
     AutomaticDataLoader1DResultModel(RealItem* item);
 
 protected:
-    bool rowIsSkipped(int row) const override;
-    using AbstractDataLoaderResultModel::rowIsSkipped;
     QString headerTextOfCalculatedColumn(int column) const override;
     int columnCount(ColumnType type) const override;
     using AbstractDataLoaderResultModel::columnCount;
     QString cellText(ColumnType type, int row, int col) const override;
-    bool rowHasError(int row) const override;
-    using AbstractDataLoaderResultModel::rowHasError;
     int rowCount() const override;
     using AbstractDataLoaderResultModel::rowCount;
 
diff --git a/GUI/View/Loaders/QREDataLoaderResultModel.cpp b/GUI/View/Loaders/QREDataLoaderResultModel.cpp
index e08d323534b..29339bc9cb2 100644
--- a/GUI/View/Loaders/QREDataLoaderResultModel.cpp
+++ b/GUI/View/Loaders/QREDataLoaderResultModel.cpp
@@ -19,23 +19,11 @@ QREDataLoaderResultModel::QREDataLoaderResultModel(QREDataLoader::ImportResult*
 {
 }
 
-bool QREDataLoaderResultModel::rowHasError(int row) const
-{
-    return m_importResult->calculationErrors.contains(row);
-}
-
 int QREDataLoaderResultModel::rowCount() const
 {
     return m_importResult->lines.size();
 }
 
-bool QREDataLoaderResultModel::rowIsSkipped(int row) const
-{
-    if (row >= 0 && row < m_importResult->lines.size())
-        return m_importResult->lines[row].first;
-    return false;
-}
-
 QString QREDataLoaderResultModel::headerTextOfCalculatedColumn(int column) const
 {
     switch (column) {
@@ -54,17 +42,11 @@ int QREDataLoaderResultModel::columnCount(ColumnType type) const
 {
     switch (type) {
     case ColumnType::line:
-    case ColumnType::fileContent:
-        return 1;
-    case ColumnType::raw:
-        return m_importResult->maxColumnCount;
     case ColumnType::processed: {
         const bool showErrorColumn =
             m_importResult->importSettings.columnDefinitions[QREDataLoader::DataType::dR].enabled;
         return showErrorColumn ? 3 : 2;
     }
-    case ColumnType::error:
-        return m_importResult->calculationErrors.isEmpty() ? 0 : 1;
     default:
         return 0;
     }
@@ -75,20 +57,11 @@ QString QREDataLoaderResultModel::cellText(ColumnType type, int row, int col) co
     if (col < 0 || row < 0 || row >= m_importResult->lines.size())
         return "";
 
-    if (type == ColumnType::fileContent)
-        return (col == 0) ? m_importResult->lines[row].second : QString();
-
     const bool isSkippedLine = m_importResult->lines[row].first;
     if (isSkippedLine)
         return "";
 
     switch (type) {
-    case ColumnType::raw: {
-        if (row >= m_importResult->rawValues.size())
-            return "";
-        const auto& d = m_importResult->rawValues[row];
-        return (col < d.size()) ? QString::number(d[col]) : QString();
-    }
 
     case ColumnType::processed:
         if (col == 0)
@@ -105,9 +78,6 @@ QString QREDataLoaderResultModel::cellText(ColumnType type, int row, int col) co
                        : QString();
         return "";
 
-    case ColumnType::error:
-        return (col == 0) ? m_importResult->errorText(row) : QString();
-
     default:
         return "";
     }
diff --git a/GUI/View/Loaders/QREDataLoaderResultModel.h b/GUI/View/Loaders/QREDataLoaderResultModel.h
index 2c922cade95..c9fe15f9719 100644
--- a/GUI/View/Loaders/QREDataLoaderResultModel.h
+++ b/GUI/View/Loaders/QREDataLoaderResultModel.h
@@ -24,14 +24,10 @@ public:
     QREDataLoaderResultModel(QREDataLoader::ImportResult* importResult);
 
 protected:
-    bool rowIsSkipped(int row) const override;
-    using AbstractDataLoaderResultModel::rowIsSkipped;
     QString headerTextOfCalculatedColumn(int column) const override;
     int columnCount(ColumnType type) const override;
     using AbstractDataLoaderResultModel::columnCount;
     QString cellText(ColumnType type, int row, int col) const override;
-    bool rowHasError(int row) const override;
-    using AbstractDataLoaderResultModel::rowHasError;
     int rowCount() const override;
     using AbstractDataLoaderResultModel::rowCount;
 
-- 
GitLab