QGIS/src/app/layout/qgslayoutlabelwidget.h
2017-12-07 08:49:41 +10:00

65 lines
2.3 KiB
C++

/***************************************************************************
qgslayoutlabelwidget.h
----------------------
begin : October 2017
copyright : (C) 2017 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSLAYOUTLABELWIDGET_H
#define QGSLAYOUTLABELWIDGET_H
#include "ui_qgslayoutlabelwidgetbase.h"
#include "qgslayoutitemwidget.h"
#include "qgslayoutitemlabel.h"
/**
* \ingroup app
* A widget for layout item settings.
*/
class QgsLayoutLabelWidget: public QgsLayoutItemBaseWidget, private Ui::QgsLayoutLabelWidgetBase
{
Q_OBJECT
public:
explicit QgsLayoutLabelWidget( QgsLayoutItemLabel *label );
protected:
bool setNewItem( QgsLayoutItem *item ) override;
private slots:
void mHtmlCheckBox_stateChanged( int i );
void mTextEdit_textChanged();
void mInsertExpressionButton_clicked();
void mMarginXDoubleSpinBox_valueChanged( double d );
void mMarginYDoubleSpinBox_valueChanged( double d );
void mFontColorButton_colorChanged( const QColor &newLabelColor );
void mCenterRadioButton_clicked();
void mLeftRadioButton_clicked();
void mRightRadioButton_clicked();
void mTopRadioButton_clicked();
void mBottomRadioButton_clicked();
void mMiddleRadioButton_clicked();
void setGuiElementValues();
void fontChanged();
void justifyClicked();
private:
QPointer< QgsLayoutItemLabel > mLabel = nullptr;
QgsLayoutItemPropertiesWidget *mItemPropertiesWidget = nullptr;
void blockAllSignals( bool block );
};
#endif //QGSLAYOUTLABELWIDGET_H