QGIS API Documentation  3.21.0-Master (5b68dc587e)
Public Types | Public Slots | Signals | Public Member Functions | Protected Member Functions | Properties | List of all members
QgsFontButton Class Reference

A button for customizing QgsTextFormat settings. More...

#include <qgsfontbutton.h>

Inheritance diagram for QgsFontButton:
Inheritance graph
[legend]

Public Types

enum  Mode { ModeTextRenderer , ModeQFont }
 Available button modes. More...
 

Public Slots

void copyColor ()
 Copies the current text color to the clipboard. More...
 
void copyFormat ()
 Copies the current text format to the clipboard. More...
 
void pasteColor ()
 Pastes a color from the clipboard to the text format. More...
 
void pasteFormat ()
 Pastes a format from the clipboard. More...
 
void setColor (const QColor &color)
 Sets the current color for the text. More...
 
void setCurrentFont (const QFont &font)
 Sets the current text font to show in the widget. More...
 
void setTextFormat (const QgsTextFormat &format)
 Sets the current text format to show in the widget. More...
 
void setToNullFormat ()
 Sets the text format to a null (invalid) QgsTextFormat. More...
 

Signals

void changed ()
 Emitted when the widget's text format settings are changed. More...
 

Public Member Functions

 QgsFontButton (QWidget *parent=nullptr, const QString &dialogTitle=QString())
 Construct a new font button. More...
 
QFont currentFont () const
 Returns the current QFont set by the widget. More...
 
QString dialogTitle () const
 Returns the title for the text settings dialog window. More...
 
QgsVectorLayerlayer () const
 Returns the layer associated with the widget. More...
 
QgsMapCanvasmapCanvas () const
 Returns the map canvas associated with the widget. More...
 
QgsMessageBarmessageBar () const
 Returns the message bar associated with the widget. More...
 
QSize minimumSizeHint () const override
 
QgsFontButton::Mode mode () const
 Returns the current button mode. More...
 
void registerExpressionContextGenerator (QgsExpressionContextGenerator *generator)
 Register an expression context generator class that will be used to retrieve an expression context for the button when required. More...
 
void setDialogTitle (const QString &title)
 Sets the title for the text settings dialog window. More...
 
void setLayer (QgsVectorLayer *layer)
 Sets a layer to associate with the widget. More...
 
void setMapCanvas (QgsMapCanvas *canvas)
 Sets a map canvas to associate with the widget. More...
 
void setMessageBar (QgsMessageBar *bar)
 Sets the message bar associated with the widget. More...
 
void setMode (Mode mode)
 Sets the current button mode. More...
 
void setNoFormatString (const QString &string)
 Sets the string to use for the "null format" option in the button's drop-down menu. More...
 
void setShowNullFormat (const bool show)
 Sets whether the "null format" option should be shown in the button's drop-down menu. More...
 
bool showNullFormat () const
 Returns whether the "null format" option will be shown in the button's drop-down menu. More...
 
QSize sizeHint () const override
 
QgsTextFormat textFormat () const
 Returns the current text formatting set by the widget. More...
 

Protected Member Functions

void changeEvent (QEvent *e) override
 
void dragEnterEvent (QDragEnterEvent *e) override
 
void dragLeaveEvent (QDragLeaveEvent *e) override
 
void dropEvent (QDropEvent *e) override
 
bool event (QEvent *e) override
 
void mouseMoveEvent (QMouseEvent *e) override
 
void mousePressEvent (QMouseEvent *e) override
 
void resizeEvent (QResizeEvent *event) override
 
void showEvent (QShowEvent *e) override
 
void wheelEvent (QWheelEvent *event) override
 

Properties

QFont currentFont
 
QString dialogTitle
 
Mode mode
 
QgsTextFormat textFormat
 

Detailed Description

A button for customizing QgsTextFormat settings.

The button will open a detailed text format settings dialog when clicked. An attached drop-down menu allows for copying and pasting text styles, picking colors for the text, and for dropping colors from other color widgets.

The button can be used in two different modes(). The default behavior is to include all settings used for configuring QgsTextFormat/QgsTextRenderer classes. A cut down mode (without settings for color) is also available when the resultant font is used only in a QFont object.

Since
QGIS 3.0

Definition at line 47 of file qgsfontbutton.h.

Member Enumeration Documentation

◆ Mode

Available button modes.

Enumerator
ModeTextRenderer 

Configure font settings for use with QgsTextRenderer.

ModeQFont 

Configure font settings for use with QFont objects.

Definition at line 59 of file qgsfontbutton.h.

Constructor & Destructor Documentation

◆ QgsFontButton()

QgsFontButton::QgsFontButton ( QWidget *  parent = nullptr,
const QString &  dialogTitle = QString() 
)

Construct a new font button.

Use parent to attach a parent QWidget to the dialog. Use dialogTitle string to define the title to show in the text settings dialog.

Definition at line 38 of file qgsfontbutton.cpp.

Member Function Documentation

◆ changed

void QgsFontButton::changed ( )
signal

Emitted when the widget's text format settings are changed.

◆ changeEvent()

void QgsFontButton::changeEvent ( QEvent *  e)
overrideprotected

Definition at line 799 of file qgsfontbutton.cpp.

◆ copyColor

void QgsFontButton::copyColor ( )
slot

Copies the current text color to the clipboard.

This is only used when mode() is ModeTextRenderer.

See also
pasteColor()

Definition at line 947 of file qgsfontbutton.cpp.

◆ copyFormat

void QgsFontButton::copyFormat ( )
slot

Copies the current text format to the clipboard.

See also
pasteFormat()

Definition at line 187 of file qgsfontbutton.cpp.

◆ currentFont()

QFont QgsFontButton::currentFont ( ) const

Returns the current QFont set by the widget.

This is only used when mode() is ModeQFont.

See also
setCurrentFont()

Definition at line 747 of file qgsfontbutton.cpp.

◆ dialogTitle()

QString QgsFontButton::dialogTitle ( ) const

Returns the title for the text settings dialog window.

See also
setDialogTitle()

Definition at line 970 of file qgsfontbutton.cpp.

◆ dragEnterEvent()

void QgsFontButton::dragEnterEvent ( QDragEnterEvent *  e)
overrideprotected

Definition at line 305 of file qgsfontbutton.cpp.

◆ dragLeaveEvent()

void QgsFontButton::dragLeaveEvent ( QDragLeaveEvent *  e)
overrideprotected

Definition at line 333 of file qgsfontbutton.cpp.

◆ dropEvent()

void QgsFontButton::dropEvent ( QDropEvent *  e)
overrideprotected

Definition at line 340 of file qgsfontbutton.cpp.

◆ event()

bool QgsFontButton::event ( QEvent *  e)
overrideprotected

Definition at line 217 of file qgsfontbutton.cpp.

◆ layer()

QgsVectorLayer * QgsFontButton::layer ( ) const

Returns the layer associated with the widget.

See also
setLayer()
Since
QGIS 3.10

Definition at line 752 of file qgsfontbutton.cpp.

◆ mapCanvas()

QgsMapCanvas * QgsFontButton::mapCanvas ( ) const

Returns the map canvas associated with the widget.

See also
setMapCanvas()

Definition at line 131 of file qgsfontbutton.cpp.

◆ messageBar()

QgsMessageBar * QgsFontButton::messageBar ( ) const

Returns the message bar associated with the widget.

See also
setMessageBar()
Since
QGIS 3.10

Definition at line 146 of file qgsfontbutton.cpp.

◆ minimumSizeHint()

QSize QgsFontButton::minimumSizeHint ( ) const
override

Definition at line 61 of file qgsfontbutton.cpp.

◆ mode()

QgsFontButton::Mode QgsFontButton::mode ( ) const

Returns the current button mode.

See also
setMode()

Definition at line 774 of file qgsfontbutton.cpp.

◆ mouseMoveEvent()

void QgsFontButton::mouseMoveEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 254 of file qgsfontbutton.cpp.

◆ mousePressEvent()

void QgsFontButton::mousePressEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 240 of file qgsfontbutton.cpp.

◆ pasteColor

void QgsFontButton::pasteColor ( )
slot

Pastes a color from the clipboard to the text format.

If clipboard does not contain a valid color or string representation of a color, then no change is applied. This is only used when mode() is ModeTextRenderer.

See also
copyColor()

Definition at line 953 of file qgsfontbutton.cpp.

◆ pasteFormat

void QgsFontButton::pasteFormat ( )
slot

Pastes a format from the clipboard.

If clipboard does not contain a valid format then no change is applied.

See also
copyFormat()

Definition at line 201 of file qgsfontbutton.cpp.

◆ registerExpressionContextGenerator()

void QgsFontButton::registerExpressionContextGenerator ( QgsExpressionContextGenerator generator)

Register an expression context generator class that will be used to retrieve an expression context for the button when required.

Since
QGIS 3.10

Definition at line 762 of file qgsfontbutton.cpp.

◆ resizeEvent()

void QgsFontButton::resizeEvent ( QResizeEvent *  event)
overrideprotected

Definition at line 814 of file qgsfontbutton.cpp.

◆ setColor

void QgsFontButton::setColor ( const QColor &  color)
slot

Sets the current color for the text.

Will emit a changed signal if the color is different to the previous text color. This is only used when mode() is ModeTextRenderer.

Definition at line 171 of file qgsfontbutton.cpp.

◆ setCurrentFont

void QgsFontButton::setCurrentFont ( const QFont &  font)
slot

Sets the current text font to show in the widget.

This is only used when mode() is ModeQFont.

See also
currentFont()

Definition at line 767 of file qgsfontbutton.cpp.

◆ setDialogTitle()

void QgsFontButton::setDialogTitle ( const QString &  title)

Sets the title for the text settings dialog window.

See also
dialogTitle()

Definition at line 965 of file qgsfontbutton.cpp.

◆ setLayer()

void QgsFontButton::setLayer ( QgsVectorLayer layer)

Sets a layer to associate with the widget.

This allows the widget to setup layer related settings within the text settings dialog, such as correctly populating data defined override buttons.

See also
layer()
Since
QGIS 3.10

Definition at line 757 of file qgsfontbutton.cpp.

◆ setMapCanvas()

void QgsFontButton::setMapCanvas ( QgsMapCanvas canvas)

Sets a map canvas to associate with the widget.

This allows the widget to fetch current settings from the map canvas, such as current scale.

See also
mapCanvas()

Definition at line 136 of file qgsfontbutton.cpp.

◆ setMessageBar()

void QgsFontButton::setMessageBar ( QgsMessageBar bar)

Sets the message bar associated with the widget.

This allows the widget to push feedback messages to the appropriate message bar.

See also
messageBar()
Since
QGIS 3.10

Definition at line 141 of file qgsfontbutton.cpp.

◆ setMode()

void QgsFontButton::setMode ( Mode  mode)

Sets the current button mode.

This can be used to toggle between the full capabilities of the button (for configuring QgsTextFormat/QgsTextRenderer objects) and a cut-back version for configuring QFont object properties (i.e. with no color settings or the other advanced options QgsTextFormat allows).

See also
mode()

Definition at line 779 of file qgsfontbutton.cpp.

◆ setNoFormatString()

void QgsFontButton::setNoFormatString ( const QString &  string)
inline

Sets the string to use for the "null format" option in the button's drop-down menu.

Note
The "null format" option is only shown if showNullFormat() is true.
See also
setShowNullFormat()
Since
QGIS 3.16

Definition at line 192 of file qgsfontbutton.h.

◆ setShowNullFormat()

void QgsFontButton::setShowNullFormat ( const bool  show)
inline

Sets whether the "null format" option should be shown in the button's drop-down menu.

This option is only used for buttons set to the ModeTextRenderer mode().

If selected, the "null format" option sets the button's format to an invalid QgsTextFormat. This can be used to represent a "use default format" state for the button.

By default this option is not shown.

See also
setNoFormatString()
showNullFormat()
Since
QGIS 3.16

Definition at line 182 of file qgsfontbutton.h.

◆ setTextFormat

void QgsFontButton::setTextFormat ( const QgsTextFormat format)
slot

Sets the current text format to show in the widget.

This is only used when mode() is ModeTextRenderer.

See also
textFormat()

Definition at line 151 of file qgsfontbutton.cpp.

◆ setToNullFormat

void QgsFontButton::setToNullFormat ( )
slot

Sets the text format to a null (invalid) QgsTextFormat.

This is only used when mode() is ModeTextRenderer.

Since
QGIS 3.16

Definition at line 164 of file qgsfontbutton.cpp.

◆ showEvent()

void QgsFontButton::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 808 of file qgsfontbutton.cpp.

◆ showNullFormat()

bool QgsFontButton::showNullFormat ( ) const
inline

Returns whether the "null format" option will be shown in the button's drop-down menu.

This option is only used for buttons set to the ModeTextRenderer mode().

If selected, the "null format" option sets the button's format to an invalid QgsTextFormat. This can be used to represent a "use default format" state for the button.

By default this option is not shown.

See also
setShowNullFormat()
Since
QGIS 3.16

Definition at line 206 of file qgsfontbutton.h.

◆ sizeHint()

QSize QgsFontButton::sizeHint ( ) const
override

Definition at line 66 of file qgsfontbutton.cpp.

◆ textFormat()

QgsTextFormat QgsFontButton::textFormat ( ) const
inline

Returns the current text formatting set by the widget.

This is only used when mode() is ModeTextRenderer.

See also
setTextFormat()

Definition at line 137 of file qgsfontbutton.h.

◆ wheelEvent()

void QgsFontButton::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 377 of file qgsfontbutton.cpp.

Property Documentation

◆ currentFont

QFont QgsFontButton::currentFont
readwrite

Definition at line 1 of file qgsfontbutton.h.

◆ dialogTitle

QString QgsFontButton::dialogTitle
readwrite

Definition at line 1 of file qgsfontbutton.h.

◆ mode

Mode QgsFontButton::mode
readwrite

Definition at line 1 of file qgsfontbutton.h.

◆ textFormat

QgsTextFormat QgsFontButton::textFormat
readwrite

Definition at line 1 of file qgsfontbutton.h.


The documentation for this class was generated from the following files: