QGIS API Documentation  3.17.0-Master (57c5a6fc26)
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...
 
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 setSymbol (QgsSymbol *symbol)
 Sets the symbol for the button. 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...
 
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 (QgsSymbol::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...
 
QgsSymbol::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
 

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 41 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 37 of file qgssymbolbutton.cpp.

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 476 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 97 of file qgssymbolbutton.h.

◆ copyColor

void QgsSymbolButton::copyColor ( )
slot

Copies the current symbol color to the clipboard.

See also
pasteColor()

Definition at line 222 of file qgssymbolbutton.cpp.

◆ copySymbol

void QgsSymbolButton::copySymbol ( )
slot

Copies the current symbol to the clipboard.

See also
pasteSymbol()

Definition at line 210 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 319 of file qgssymbolbutton.cpp.

◆ dragLeaveEvent()

void QgsSymbolButton::dragLeaveEvent ( QDragLeaveEvent *  e)
overrideprotected

Definition at line 335 of file qgssymbolbutton.cpp.

◆ dropEvent()

void QgsSymbolButton::dropEvent ( QDropEvent *  e)
overrideprotected

Definition at line 342 of file qgssymbolbutton.cpp.

◆ keyPressEvent()

void QgsSymbolButton::keyPressEvent ( QKeyEvent *  e)
overrideprotected

Definition at line 306 of file qgssymbolbutton.cpp.

◆ layer()

QgsVectorLayer * QgsSymbolButton::layer ( ) const

Returns the layer associated with the widget.

See also
setLayer()

Definition at line 175 of file qgssymbolbutton.cpp.

◆ mapCanvas()

QgsMapCanvas * QgsSymbolButton::mapCanvas ( ) const

Returns the map canvas associated with the widget.

See also
setMapCanvas()

Definition at line 155 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 170 of file qgssymbolbutton.cpp.

◆ minimumSizeHint()

QSize QgsSymbolButton::minimumSizeHint ( ) const
override

Definition at line 58 of file qgssymbolbutton.cpp.

◆ mouseMoveEvent()

void QgsSymbolButton::mouseMoveEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 260 of file qgssymbolbutton.cpp.

◆ mousePressEvent()

void QgsSymbolButton::mousePressEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 239 of file qgssymbolbutton.cpp.

◆ mouseReleaseEvent()

void QgsSymbolButton::mouseReleaseEvent ( QMouseEvent *  e)
overrideprotected

Definition at line 293 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 227 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 215 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 185 of file qgssymbolbutton.cpp.

◆ resizeEvent()

void QgsSymbolButton::resizeEvent ( QResizeEvent *  event)
overrideprotected

Definition at line 491 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 197 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 663 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 180 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 160 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 165 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 190 of file qgssymbolbutton.cpp.

◆ setSymbolType()

void QgsSymbolButton::setSymbolType ( QgsSymbol::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 69 of file qgssymbolbutton.cpp.

◆ showEvent()

void QgsSymbolButton::showEvent ( QShowEvent *  e)
overrideprotected

Definition at line 485 of file qgssymbolbutton.cpp.

◆ sizeHint()

QSize QgsSymbolButton::sizeHint ( ) const
override

Definition at line 64 of file qgssymbolbutton.cpp.

◆ symbol()

QgsSymbol * QgsSymbolButton::symbol ( )

Returns the current symbol defined by the button.

See also
setSymbol()
changed()

Definition at line 673 of file qgssymbolbutton.cpp.

◆ symbolType()

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

Returns the symbol type which the button requires.

See also
setSymbolType()

Definition at line 70 of file qgssymbolbutton.h.

Property Documentation

◆ dialogTitle

QString QgsSymbolButton::dialogTitle
readwrite

Definition at line 45 of file qgssymbolbutton.h.


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