QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
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#include <QPointer>
23
25class QgsMessageBar;
26class QgsDockWidget;
30class QgsMapLayer;
32
44class GUI_EXPORT QgsTableEditorDialog : public QMainWindow, private Ui::QgsTableEditorBase
45{
46 Q_OBJECT
47 public:
51 QgsTableEditorDialog( QWidget *parent = nullptr );
52
58 void setTableContents( const QgsTableContents &contents );
59
67 bool setTableContentsFromClipboard();
68
74 QgsTableContents tableContents() const;
75
82 double tableRowHeight( int row );
83
90 double tableColumnWidth( int column );
91
100 void setTableRowHeight( int row, double height );
101
110 void setTableColumnWidth( int column, double width );
111
117 bool includeTableHeader() const;
118
124 void setIncludeTableHeader( bool included );
125
131 QVariantList tableHeaders() const;
132
138 void setTableHeaders( const QVariantList &headers );
139
145 void registerExpressionContextGenerator( QgsExpressionContextGenerator *generator );
146
151 QgsMapLayer *layer() const;
152
157 void setLayer( QgsMapLayer *layer );
158
163 QgsLayoutItemManualTable *table() const SIP_SKIP;
164
169 void setTable( QgsLayoutItemManualTable *table ) SIP_SKIP;
170
171 signals:
172
177
181 void includeHeaderChanged( bool included );
182
183 protected:
184 void closeEvent( QCloseEvent * ) override;
185
186 private:
187 QgsTableEditorWidget *mTableWidget = nullptr;
188 QgsMessageBar *mMessageBar = nullptr;
189 QgsDockWidget *mPropertiesDock = nullptr;
190 QgsPanelWidgetStack *mPropertiesStack = nullptr;
191 QgsTableEditorFormattingWidget *mFormattingWidget = nullptr;
192 bool mBlockSignals = false;
193 QPointer<QgsMapLayer> mLayer;
194 QgsLayoutItemManualTable *mTable = nullptr;
195
196 void updateActionsFromSelection();
197};
198
199#endif // QGSTABLEEDITORSHEETWIDGET_H
QgsDockWidget subclass with more fine-grained control over how the widget is closed or opened.
Abstract interface for generating an expression context.
A layout table subclass that displays manually entered (and formatted) content.
Base class for all map layer types.
Definition qgsmaplayer.h:76
A bar for displaying non-blocking messages to the user.
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.
#define SIP_SKIP
Definition qgis_sip.h:126
QVector< QgsTableRow > QgsTableContents
A set of table rows.