QGIS API Documentation 3.39.0-Master (d85f3c2a281)
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;
31
43class GUI_EXPORT QgsTableEditorDialog : public QMainWindow, private Ui::QgsTableEditorBase
44{
45 Q_OBJECT
46 public:
47
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
159 signals:
160
165
169 void includeHeaderChanged( bool included );
170
171 protected:
172
173 void closeEvent( QCloseEvent * ) override;
174
175 private:
176 QgsTableEditorWidget *mTableWidget = nullptr;
177 QgsMessageBar *mMessageBar = nullptr;
178 QgsDockWidget *mPropertiesDock = nullptr;
179 QgsPanelWidgetStack *mPropertiesStack = nullptr;
180 QgsTableEditorFormattingWidget *mFormattingWidget = nullptr;
181 bool mBlockSignals = false;
182 QPointer< QgsMapLayer > mLayer;
183
184 void updateActionsFromSelection();
185};
186
187#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.
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.
QVector< QgsTableRow > QgsTableContents
A set of table rows.