QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgslayoutmanualtablewidget.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutmanualtablewidget.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 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSLAYOUTMANUALTABLEWIDGET_H
19 #define QGSLAYOUTMANUALTABLEWIDGET_H
20 
21 // We don't want to expose this in the public API
22 #define SIP_NO_FILE
23 
24 #include "ui_qgslayoutmanualtablewidgetbase.h"
25 #include "qgslayoutitemwidget.h"
26 #include "qgstableeditordialog.h"
27 #include <QPointer>
28 
30 class QgsLayoutFrame;
31 
39 class GUI_EXPORT QgsLayoutManualTableWidget: public QgsLayoutItemBaseWidget, public QgsExpressionContextGenerator, private Ui::QgsLayoutManualTableWidgetBase
40 {
41  Q_OBJECT
42  public:
45 
46  void setMasterLayout( QgsMasterLayoutInterface *masterLayout ) override;
48 
49  protected:
50 
51  bool setNewItem( QgsLayoutItem *item ) override;
52 
53  private:
54  QPointer< QgsLayoutItemManualTable > mTable;
55  QPointer< QgsLayoutFrame > mFrame;
56  QgsLayoutItemPropertiesWidget *mItemPropertiesWidget = nullptr;
57 
58  QPointer< QgsTableEditorDialog > mEditorDialog;
59 
61  void blockAllSignals( bool b );
62 
63  private slots:
64 
65  void setTableContents();
66  void mMarginSpinBox_valueChanged( double d );
67  void mGridStrokeWidthSpinBox_valueChanged( double d );
68  void mGridColorButton_colorChanged( const QColor &newColor );
69  void mBackgroundColorButton_colorChanged( const QColor &newColor );
70  void headerFontChanged();
71  void contentFontChanged();
72  void mDrawHorizontalGrid_toggled( bool state );
73  void mDrawVerticalGrid_toggled( bool state );
74  void mShowGridGroupCheckBox_toggled( bool state );
75  void mHeaderHAlignmentComboBox_currentIndexChanged( int index );
76  void mHeaderModeComboBox_currentIndexChanged( int index );
77  void mAddFramePushButton_clicked();
78  void mResizeModeComboBox_currentIndexChanged( int index );
79  void mDrawEmptyCheckBox_toggled( bool checked );
80  void mEmptyFrameCheckBox_toggled( bool checked );
81  void mHideEmptyBgCheckBox_toggled( bool checked );
82  void mWrapBehaviorComboBox_currentIndexChanged( int index );
83  void mAdvancedCustomizationButton_clicked();
84  void updateGuiElements();
85 
86 };
87 
88 #endif // QGSLAYOUTMANUALTABLEWIDGET_H
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Base class for frame items, which form a layout multiframe item.
A base class for property widgets for layout items.
virtual bool setNewItem(QgsLayoutItem *item)
Attempts to update the widget to show the properties for the specified item.
virtual void setMasterLayout(QgsMasterLayoutInterface *masterLayout)
Sets the master layout associated with the item.
A layout table subclass that displays manually entered (and formatted) content.
A widget for controlling the common properties of layout items (e.g.
Base class for graphical items within a QgsLayout.
A widget for configuring layout manual table items.
Interface for master layout type objects, such as print layouts and reports.