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

A button for customising 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...
 
QgsMapCanvasmapCanvas () const
 Returns the map canvas associated with the widget. More...
 
QSize minimumSizeHint () const override
 
QgsFontButton::Mode mode () const
 Returns the current button mode. More...
 
 Q_ENUM (Mode)
 
void setDialogTitle (const QString &title)
 Sets the title for the text settings dialog window. More...
 
void setMapCanvas (QgsMapCanvas *canvas)
 Sets a map canvas to associate 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 customising 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 42 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 54 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 34 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 721 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 860 of file qgsfontbutton.cpp.

◆ copyFormat

void QgsFontButton::copyFormat ( )
slot

Copies the current text format to the clipboard.

See also
pasteFormat()

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

◆ dragLeaveEvent()

void QgsFontButton::dragLeaveEvent ( QDragLeaveEvent *  e)
overrideprotected

Definition at line 286 of file qgsfontbutton.cpp.

◆ dropEvent()

void QgsFontButton::dropEvent ( QDropEvent *  e)
overrideprotected

Definition at line 293 of file qgsfontbutton.cpp.

◆ event()

bool QgsFontButton::event ( QEvent *  e)
overrideprotected

Definition at line 171 of file qgsfontbutton.cpp.

◆ mapCanvas()

QgsMapCanvas * QgsFontButton::mapCanvas ( ) const

Returns the map canvas associated with the widget.

See also
setMapCanvas()

Definition at line 111 of file qgsfontbutton.cpp.

◆ minimumSizeHint()

QSize QgsFontButton::minimumSizeHint ( ) const
override

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

◆ mousePressEvent()

void QgsFontButton::mousePressEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 194 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 866 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 155 of file qgsfontbutton.cpp.

◆ Q_ENUM()

QgsFontButton::Q_ENUM ( Mode  )

◆ resizeEvent()

void QgsFontButton::resizeEvent ( QResizeEvent *  event)
overrideprotected

Definition at line 736 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 128 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 689 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 878 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 116 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 701 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 121 of file qgsfontbutton.cpp.

◆ showEvent()

void QgsFontButton::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 730 of file qgsfontbutton.cpp.

◆ sizeHint()

QSize QgsFontButton::sizeHint ( ) const
override

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

◆ wheelEvent()

void QgsFontButton::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 330 of file qgsfontbutton.cpp.

Property Documentation

◆ currentFont

QFont QgsFontButton::currentFont
readwrite

Definition at line 48 of file qgsfontbutton.h.

◆ dialogTitle

QString QgsFontButton::dialogTitle
readwrite

Definition at line 47 of file qgsfontbutton.h.

◆ mode

QgsFontButton::Mode QgsFontButton::mode
readwrite

Definition at line 46 of file qgsfontbutton.h.

◆ textFormat

QgsTextFormat QgsFontButton::textFormat
readwrite

Definition at line 49 of file qgsfontbutton.h.


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