OpenMS
TableView.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Chris Bielow $
6 // $Authors: Chris Bielow $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
11 #include <QTableWidget>
12 
14 
15 namespace OpenMS
16 {
20  class TableView :
21  public QTableWidget
22  {
23  Q_OBJECT
24  public:
26  TableView(QWidget* parent = nullptr);
28  ~TableView() override = default;
29 
43  virtual void exportEntries();
44 
46  void appendRow();
47 
48  QTableWidgetItem* setAtBottomRow(const QString& text, size_t column_index, const QColor& background, const QColor& foreground = QColor("SomeInvalidColor"));
49  QTableWidgetItem* setAtBottomRow(const char* text, size_t column_index, const QColor& background, const QColor& foreground = QColor("SomeInvalidColor"));
50  QTableWidgetItem* setAtBottomRow(const int i, size_t column_index, const QColor& background, const QColor& foreground = QColor("SomeInvalidColor"));
51  QTableWidgetItem* setAtBottomRow(const double d, size_t column_index, const QColor& background, const QColor& foreground = QColor("SomeInvalidColor"));
53  QTableWidgetItem* setAtBottomRow(const bool selected, size_t column_index, const QColor& background, const QColor& foreground = QColor("SomeInvalidColor"));
55  QTableWidgetItem* setAtBottomRow(QTableWidgetItem* item, size_t column_index, const QColor& background, const QColor& foreground);
56 
60  static void updateCheckBoxItem(QTableWidgetItem* item);
61 
63  void setHeaders(const QStringList& headers);
64 
67  void hideColumns(const QStringList& header_names);
68 
79  QStringList getHeaderNames(const WidgetHeader which, bool use_export_name = false);
80 
93  void setHeaderExportName(const int header_column, const QString& export_name);
94 
107  QString getHeaderExportName(const int header_column);
108 
111  QString getHeaderName(const int header_column);
112 
114  void setMandatoryExportColumns(QStringList& cols);
115  signals:
117  void resized();
118 
119  protected:
121  void resizeEvent(QResizeEvent* event) override;
122 
125  protected slots:
127  void headerContextMenu_(const QPoint&);
128  };
129 }
A better QTable for TOPPView, which supports exporting to TSV and conveniently adding data to cells a...
Definition: TableView.h:22
void setMandatoryExportColumns(QStringList &cols)
Set the mandatory export columns cols which get exported even if the user decided to hide them.
virtual void exportEntries()
Export table entries as currently shown in the table in TSV format (only for visible data)
QStringList getHeaderNames(const WidgetHeader which, bool use_export_name=false)
Obtain header names, either from all, or only the visible columns.
QTableWidgetItem * setAtBottomRow(const int i, size_t column_index, const QColor &background, const QColor &foreground=QColor("SomeInvalidColor"))
void setHeaders(const QStringList &headers)
sets the visible headers (and the number of columns)
void resized()
emitted when the widget is resized
~TableView() override=default
Destructor.
void setHeaderExportName(const int header_column, const QString &export_name)
Set the export-name of a column, which will be returned in getHeaderNames() when use_export_name it t...
static void updateCheckBoxItem(QTableWidgetItem *item)
QTableWidgetItem * setAtBottomRow(const double d, size_t column_index, const QColor &background, const QColor &foreground=QColor("SomeInvalidColor"))
void appendRow()
adds a new row to the bottom
void headerContextMenu_(const QPoint &)
Display header context menu; allows to show/hide columns.
void resizeEvent(QResizeEvent *event) override
emits the resized signal
QTableWidgetItem * setAtBottomRow(const char *text, size_t column_index, const QColor &background, const QColor &foreground=QColor("SomeInvalidColor"))
QTableWidgetItem * setAtBottomRow(const QString &text, size_t column_index, const QColor &background, const QColor &foreground=QColor("SomeInvalidColor"))
QStringList mandatory_export_columns_
columns that are exported to tsv files even if they are hidden in the GUI
Definition: TableView.h:124
void hideColumns(const QStringList &header_names)
QTableWidgetItem * setAtBottomRow(QTableWidgetItem *item, size_t column_index, const QColor &background, const QColor &foreground)
create a custom item (if above methods are not sufficient)
TableView(QWidget *parent=nullptr)
Constructor.
QString getHeaderExportName(const int header_column)
Gets the export-name of a column.
QTableWidgetItem * setAtBottomRow(const bool selected, size_t column_index, const QColor &background, const QColor &foreground=QColor("SomeInvalidColor"))
create a checkbox item (with no text)
QString getHeaderName(const int header_column)
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
WidgetHeader
Enum to decide which headers(=column) names should be get/set in a table/tree widget.
Definition: CommonDefs.h:27