QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
Public Slots | Signals | Public Member Functions | Protected Member Functions | Properties | List of all members
QgsSymbolButton Class Reference

A button for creating and modifying QgsSymbol settings. More...

#include <qgssymbolbutton.h>

Inheritance diagram for QgsSymbolButton:
Inheritance graph
[legend]

Public Slots

void copyColor ()
 Copies the current symbol color to the clipboard. More...
 
void copySymbol ()
 Copies the current symbol to the clipboard. More...
 
bool isNull () const
 Returns true if the current symbol is null. More...
 
void pasteColor ()
 Pastes a color from the clipboard to the symbol. More...
 
void pasteSymbol ()
 Pastes a symbol from the clipboard. More...
 
void setColor (const QColor &color)
 Sets the current color for the symbol. More...
 
void setShowNull (bool showNull)
 Sets whether a set to null (clear) option is shown in the button's drop-down menu. More...
 
void setSymbol (QgsSymbol *symbol)
 Sets the symbol for the button. More...
 
void setToNull ()
 Sets symbol to to null. More...
 
bool showNull () const
 Returns whether the set to null (clear) option is shown in the button's drop-down menu. More...
 

Signals

void changed ()
 Emitted when the symbol's settings are changed. More...
 

Public Member Functions

 QgsSymbolButton (QWidget *parent=nullptr, const QString &dialogTitle=QString())
 Construct a new symbol button. More...
 
 ~QgsSymbolButton ()
 
template<class SymbolType >
SymbolType * clonedSymbol ()
 Returns a clone of the current symbol (as the specified template type) defined by the button. More...
 
QString dialogTitle () const
 Returns the title for the symbol 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
 
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 symbol 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 setSymbolType (Qgis::SymbolType type)
 Sets the symbol type which the button requires. More...
 
QSize sizeHint () const override
 
QgsSymbolsymbol ()
 Returns the current symbol defined by the button. More...
 
Qgis::SymbolType symbolType () const
 Returns the symbol type which the button requires. More...
 

Protected Member Functions

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

Properties

QString dialogTitle
 

Detailed Description

A button for creating and modifying QgsSymbol settings.

The button shows a preview icon for the current symbol, and will open a detailed symbol editor dialog (or panel widget) when clicked.

Since
QGIS 3.0

Definition at line 44 of file qgssymbolbutton.h.

Constructor & Destructor Documentation

◆ QgsSymbolButton()

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

Construct a new symbol button.

Use dialogTitle string to define the title to show in the symbol settings dialog.

Definition at line 41 of file qgssymbolbutton.cpp.

◆ ~QgsSymbolButton()

QgsSymbolButton::~QgsSymbolButton ( )
default

Member Function Documentation

◆ changed

void QgsSymbolButton::changed ( )
signal

Emitted when the symbol's settings are changed.

See also
symbol()
setSymbol()

◆ changeEvent()

void QgsSymbolButton::changeEvent ( QEvent *  e)
overrideprotected

Definition at line 572 of file qgssymbolbutton.cpp.

◆ clonedSymbol()

template<class SymbolType >
SymbolType* QgsSymbolButton::clonedSymbol ( )
inline

Returns a clone of the current symbol (as the specified template type) defined by the button.

See also
setSymbol()
changed()
Note
Not available in Python bindings.

Definition at line 101 of file qgssymbolbutton.h.

◆ copyColor

void QgsSymbolButton::copyColor ( )
slot

Copies the current symbol color to the clipboard.

See also
pasteColor()

Definition at line 253 of file qgssymbolbutton.cpp.

◆ copySymbol

void QgsSymbolButton::copySymbol ( )
slot

Copies the current symbol to the clipboard.

See also
pasteSymbol()

Definition at line 241 of file qgssymbolbutton.cpp.

◆ dialogTitle()

QString QgsSymbolButton::dialogTitle ( ) const

Returns the title for the symbol settings dialog window.

See also
setDialogTitle()

◆ dragEnterEvent()

void QgsSymbolButton::dragEnterEvent ( QDragEnterEvent *  e)
overrideprotected

Definition at line 350 of file qgssymbolbutton.cpp.

◆ dragLeaveEvent()

void QgsSymbolButton::dragLeaveEvent ( QDragLeaveEvent *  e)
overrideprotected

Definition at line 366 of file qgssymbolbutton.cpp.

◆ dropEvent()

void QgsSymbolButton::dropEvent ( QDropEvent *  e)
overrideprotected

Definition at line 373 of file qgssymbolbutton.cpp.

◆ isNull

bool QgsSymbolButton::isNull ( ) const
slot

Returns true if the current symbol is null.

See also
setShowNull()
showNull()
Since
QGIS 3.26

Definition at line 793 of file qgssymbolbutton.cpp.

◆ keyPressEvent()

void QgsSymbolButton::keyPressEvent ( QKeyEvent *  e)
overrideprotected

Definition at line 337 of file qgssymbolbutton.cpp.

◆ layer()

QgsVectorLayer * QgsSymbolButton::layer ( ) const

Returns the layer associated with the widget.

See also
setLayer()

Definition at line 203 of file qgssymbolbutton.cpp.

◆ mapCanvas()

QgsMapCanvas * QgsSymbolButton::mapCanvas ( ) const

Returns the map canvas associated with the widget.

See also
setMapCanvas()

Definition at line 183 of file qgssymbolbutton.cpp.

◆ messageBar()

QgsMessageBar * QgsSymbolButton::messageBar ( ) const

Returns the message bar associated with the widget.

See also
setMessageBar()
Since
QGIS 3.6

Definition at line 198 of file qgssymbolbutton.cpp.

◆ minimumSizeHint()

QSize QgsSymbolButton::minimumSizeHint ( ) const
override

Definition at line 64 of file qgssymbolbutton.cpp.

◆ mouseMoveEvent()

void QgsSymbolButton::mouseMoveEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 291 of file qgssymbolbutton.cpp.

◆ mousePressEvent()

void QgsSymbolButton::mousePressEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 270 of file qgssymbolbutton.cpp.

◆ mouseReleaseEvent()

void QgsSymbolButton::mouseReleaseEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 324 of file qgssymbolbutton.cpp.

◆ pasteColor

void QgsSymbolButton::pasteColor ( )
slot

Pastes a color from the clipboard to the symbol.

If clipboard does not contain a valid color or string representation of a color, then no change is applied.

See also
copyColor()

Definition at line 258 of file qgssymbolbutton.cpp.

◆ pasteSymbol

void QgsSymbolButton::pasteSymbol ( )
slot

Pastes a symbol from the clipboard.

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

See also
copySymbol()

Definition at line 246 of file qgssymbolbutton.cpp.

◆ registerExpressionContextGenerator()

void QgsSymbolButton::registerExpressionContextGenerator ( QgsExpressionContextGenerator generator)

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

Definition at line 213 of file qgssymbolbutton.cpp.

◆ resizeEvent()

void QgsSymbolButton::resizeEvent ( QResizeEvent *  event)
overrideprotected

Definition at line 587 of file qgssymbolbutton.cpp.

◆ setColor

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

Sets the current color for the symbol.

Will emit a changed() signal if the color is different to the previous symbol color.

Definition at line 225 of file qgssymbolbutton.cpp.

◆ setDialogTitle()

void QgsSymbolButton::setDialogTitle ( const QString &  title)

Sets the title for the symbol settings dialog window.

See also
dialogTitle()

Definition at line 768 of file qgssymbolbutton.cpp.

◆ setLayer()

void QgsSymbolButton::setLayer ( QgsVectorLayer layer)

Sets a layer to associate with the widget.

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

See also
layer()

Definition at line 208 of file qgssymbolbutton.cpp.

◆ setMapCanvas()

void QgsSymbolButton::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 188 of file qgssymbolbutton.cpp.

◆ setMessageBar()

void QgsSymbolButton::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.6

Definition at line 193 of file qgssymbolbutton.cpp.

◆ setShowNull

void QgsSymbolButton::setShowNull ( bool  showNull)
slot

Sets whether a set to null (clear) option is shown in the button's drop-down menu.

Parameters
showNullset to true to show a null option
See also
showNull()
isNull()
Since
QGIS 3.26

Definition at line 783 of file qgssymbolbutton.cpp.

◆ setSymbol

void QgsSymbolButton::setSymbol ( QgsSymbol symbol)
slot

Sets the symbol for the button.

Ownership of symbol is transferred to the button.

See also
symbol()
changed()

Definition at line 218 of file qgssymbolbutton.cpp.

◆ setSymbolType()

void QgsSymbolButton::setSymbolType ( Qgis::SymbolType  type)

Sets the symbol type which the button requires.

If the type differs from the current symbol type, the symbol will be reset to a default symbol style of the new type.

See also
symbolType()

Definition at line 75 of file qgssymbolbutton.cpp.

◆ setToNull

void QgsSymbolButton::setToNull ( )
slot

Sets symbol to to null.

See also
setShowNull()
showNull()
Since
QGIS 3.26

Definition at line 798 of file qgssymbolbutton.cpp.

◆ showEvent()

void QgsSymbolButton::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 581 of file qgssymbolbutton.cpp.

◆ showNull

bool QgsSymbolButton::showNull ( ) const
slot

Returns whether the set to null (clear) option is shown in the button's drop-down menu.

See also
setShowNull()
isNull()
Since
QGIS 3.26

Definition at line 788 of file qgssymbolbutton.cpp.

◆ sizeHint()

QSize QgsSymbolButton::sizeHint ( ) const
override

Definition at line 70 of file qgssymbolbutton.cpp.

◆ symbol()

QgsSymbol * QgsSymbolButton::symbol ( )

Returns the current symbol defined by the button.

See also
setSymbol()
changed()

Definition at line 778 of file qgssymbolbutton.cpp.

◆ symbolType()

Qgis::SymbolType QgsSymbolButton::symbolType ( ) const
inline

Returns the symbol type which the button requires.

See also
setSymbolType()

Definition at line 74 of file qgssymbolbutton.h.

◆ wheelEvent()

void QgsSymbolButton::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 391 of file qgssymbolbutton.cpp.

Property Documentation

◆ dialogTitle

QString QgsSymbolButton::dialogTitle
readwrite

Definition at line 48 of file qgssymbolbutton.h.


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