QGIS API Documentation  3.9.0-Master (3ff8ca5736)
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...
 

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...
 
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 44 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 56 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 37 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 769 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 910 of file qgsfontbutton.cpp.

◆ copyFormat

void QgsFontButton::copyFormat ( )
slot

Copies the current text format to the clipboard.

See also
pasteFormat()

Definition at line 170 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()

◆ dialogTitle()

QString QgsFontButton::dialogTitle ( ) const

Returns the title for the text settings dialog window.

See also
setDialogTitle()

◆ dragEnterEvent()

void QgsFontButton::dragEnterEvent ( QDragEnterEvent *  e)
overrideprotected

Definition at line 288 of file qgsfontbutton.cpp.

◆ dragLeaveEvent()

void QgsFontButton::dragLeaveEvent ( QDragLeaveEvent *  e)
overrideprotected

Definition at line 316 of file qgsfontbutton.cpp.

◆ dropEvent()

void QgsFontButton::dropEvent ( QDropEvent *  e)
overrideprotected

Definition at line 323 of file qgsfontbutton.cpp.

◆ event()

bool QgsFontButton::event ( QEvent *  e)
overrideprotected

Definition at line 200 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 722 of file qgsfontbutton.cpp.

◆ mapCanvas()

QgsMapCanvas * QgsFontButton::mapCanvas ( ) const

Returns the map canvas associated with the widget.

See also
setMapCanvas()

Definition at line 130 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 145 of file qgsfontbutton.cpp.

◆ minimumSizeHint()

QSize QgsFontButton::minimumSizeHint ( ) const
override

Definition at line 60 of file qgsfontbutton.cpp.

◆ mode()

QgsFontButton::Mode QgsFontButton::mode ( ) const

Returns the current button mode.

See also
setMode()

◆ mouseMoveEvent()

void QgsFontButton::mouseMoveEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 237 of file qgsfontbutton.cpp.

◆ mousePressEvent()

void QgsFontButton::mousePressEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 223 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 916 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 184 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 732 of file qgsfontbutton.cpp.

◆ resizeEvent()

void QgsFontButton::resizeEvent ( QResizeEvent *  event)
overrideprotected

Definition at line 784 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 157 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 737 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 928 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 727 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 135 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 140 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 749 of file qgsfontbutton.cpp.

◆ 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 150 of file qgsfontbutton.cpp.

◆ showEvent()

void QgsFontButton::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 778 of file qgsfontbutton.cpp.

◆ sizeHint()

QSize QgsFontButton::sizeHint ( ) const
override

Definition at line 65 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 134 of file qgsfontbutton.h.

◆ wheelEvent()

void QgsFontButton::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 360 of file qgsfontbutton.cpp.

Property Documentation

◆ currentFont

QFont QgsFontButton::currentFont
readwrite

Definition at line 50 of file qgsfontbutton.h.

◆ dialogTitle

QString QgsFontButton::dialogTitle
readwrite

Definition at line 49 of file qgsfontbutton.h.

◆ mode

QgsFontButton::Mode QgsFontButton::mode
readwrite

Definition at line 48 of file qgsfontbutton.h.

◆ textFormat

QgsTextFormat QgsFontButton::textFormat
readwrite

Definition at line 51 of file qgsfontbutton.h.


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