QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
qgsformlabelformatwidget.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsformlabelformatwidget.cpp - QgsFormLabelFormatWidget
3
4 ---------------------
5 begin : 22.4.2022
6 copyright : (C) 2022 by Alessandro Pasotti
7 email : elpaso at itopen dot it
8 ***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
17#include "moc_qgsformlabelformatwidget.cpp"
18#include "qgsguiutils.h"
19#include "qgsfontutils.h"
20
21#include <QGroupBox>
22
24
25QgsFormLabelFormatWidget::QgsFormLabelFormatWidget( QWidget *parent )
26 : QWidget( parent )
27{
28 setupUi( this );
29
30 mFontBoldBtn->setChecked( false );
31 mFontItalicBtn->setChecked( false );
32 mFontUnderlineBtn->setChecked( false );
33 mFontStrikethroughBtn->setChecked( false );
34
35 const int buttonSize = QgsGuiUtils::scaleIconSize( 24 );
36 mFontUnderlineBtn->setMinimumSize( buttonSize, buttonSize );
37 mFontUnderlineBtn->setMaximumSize( buttonSize, buttonSize );
38 mFontBoldBtn->setMinimumSize( buttonSize, buttonSize );
39 mFontBoldBtn->setMaximumSize( buttonSize, buttonSize );
40 mFontItalicBtn->setMinimumSize( buttonSize, buttonSize );
41 mFontItalicBtn->setMaximumSize( buttonSize, buttonSize );
42
43 mOverrideLabelColorGroupBox->setSaveCheckedState( false );
44 mOverrideLabelFontGroupBox->setSaveCheckedState( false );
45 mOverrideLabelColorGroupBox->setSaveCollapsedState( false );
46 mOverrideLabelFontGroupBox->setSaveCollapsedState( false );
47
48 btnTextColor->setAllowOpacity( true );
49 btnTextColor->setShowNull( true, tr( "Default color" ) );
50}
51
52void QgsFormLabelFormatWidget::setLabelStyle( const QgsAttributeEditorElement::LabelStyle &labelStyle )
53{
54 mFontFamilyCmbBx->setCurrentFont( labelStyle.font );
55 mFontUnderlineBtn->setChecked( labelStyle.font.underline() );
56 mFontItalicBtn->setChecked( labelStyle.font.italic() );
57 mFontBoldBtn->setChecked( labelStyle.font.bold() );
58 mFontStrikethroughBtn->setChecked( labelStyle.font.strikeOut() );
59 if ( labelStyle.color.isValid() )
60 {
61 btnTextColor->setColor( labelStyle.color );
62 }
63 else
64 {
65 btnTextColor->setToNull();
66 }
67 mOverrideLabelColorGroupBox->setChecked( labelStyle.overrideColor );
68 mOverrideLabelFontGroupBox->setChecked( labelStyle.overrideFont );
69 mOverrideLabelColorGroupBox->setCollapsed( !labelStyle.overrideColor );
70 mOverrideLabelFontGroupBox->setCollapsed( !labelStyle.overrideFont );
71}
72
73QgsAttributeEditorElement::LabelStyle QgsFormLabelFormatWidget::labelStyle() const
74{
76 style.color = btnTextColor->color();
77 QFont currentFont;
78 QgsFontUtils::setFontFamily( currentFont, mFontFamilyCmbBx->currentFont().family() );
79 currentFont.setBold( mFontBoldBtn->isChecked() );
80 currentFont.setItalic( mFontItalicBtn->isChecked() );
81 currentFont.setUnderline( mFontUnderlineBtn->isChecked() );
82 currentFont.setStrikeOut( mFontStrikethroughBtn->isChecked() );
83 style.font = currentFont;
84 style.overrideColor = mOverrideLabelColorGroupBox->isChecked();
85 style.overrideFont = mOverrideLabelFontGroupBox->isChecked();
86 return style;
87}
88
static void setFontFamily(QFont &font, const QString &family)
Sets the family for a font object.
int scaleIconSize(int standardSize)
Scales an icon size to compensate for display pixel density, making the icon size hi-dpi friendly,...
The TabStyle struct defines color and font overrides for form fields, tabs and groups labels.