QGIS API Documentation  3.27.0-Master (aef1b1ec20)
qgstableeditordialog.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgstableeditordialog.h
3  ---------------------
4  begin : January 2020
5  copyright : (C) 2020 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef QGSTABLEEDITORDIALOG_H
16 #define QGSTABLEEDITORDIALOG_H
17 
18 #include "qgis_gui.h"
19 #include "qgstablecell.h"
20 #include "ui_qgstableeditorbase.h"
21 #include <QMainWindow>
22 
24 class QgsMessageBar;
25 class QgsDockWidget;
29 
41 class GUI_EXPORT QgsTableEditorDialog : public QMainWindow, private Ui::QgsTableEditorBase
42 {
43  Q_OBJECT
44  public:
45 
49  QgsTableEditorDialog( QWidget *parent = nullptr );
50 
56  void setTableContents( const QgsTableContents &contents );
57 
65  bool setTableContentsFromClipboard();
66 
72  QgsTableContents tableContents() const;
73 
80  double tableRowHeight( int row );
81 
88  double tableColumnWidth( int column );
89 
98  void setTableRowHeight( int row, double height );
99 
108  void setTableColumnWidth( int column, double width );
109 
115  bool includeTableHeader() const;
116 
122  void setIncludeTableHeader( bool included );
123 
129  QVariantList tableHeaders() const;
130 
136  void setTableHeaders( const QVariantList &headers );
137 
143  void registerExpressionContextGenerator( QgsExpressionContextGenerator *generator );
144 
145  signals:
146 
150  void tableChanged();
151 
155  void includeHeaderChanged( bool included );
156 
157  protected:
158 
159  void closeEvent( QCloseEvent * ) override;
160 
161  private:
162  QgsTableEditorWidget *mTableWidget = nullptr;
163  QgsMessageBar *mMessageBar = nullptr;
164  QgsDockWidget *mPropertiesDock = nullptr;
165  QgsPanelWidgetStack *mPropertiesStack = nullptr;
166  QgsTableEditorFormattingWidget *mFormattingWidget = nullptr;
167  bool mBlockSignals = false;
168 
169  void updateActionNamesFromSelection();
170 };
171 
172 #endif // QGSTABLEEDITORSHEETWIDGET_H
QgsDockWidget subclass with more fine-grained control over how the widget is closed or opened.
Definition: qgsdockwidget.h:32
Abstract interface for generating an expression context.
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:61
A stack widget to manage panels in the interface.
A reusable window for editing simple spreadsheet-style tables.
void includeHeaderChanged(bool included)
Emitted whenever the "include table header" setting is changed.
void tableChanged()
Emitted whenever the table contents are changed.
A reusable widget for formatting the contents of a QgsTableCell.
A reusable widget for editing simple spreadsheet-style tables.
QVector< QgsTableRow > QgsTableContents
A set of table rows.
Definition: qgstablecell.h:220