/************************************************************************ * This file has been generated automatically from * * * * src/gui/qgsfontbutton.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/ class QgsFontButton : QToolButton { %Docstring(signature="appended") A button for customizing :py:class:`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 :py:func:`~modes`. The default behavior is to include all settings used for configuring :py:class:`QgsTextFormat`/:py:class:`QgsTextRenderer` classes. A cut down mode (without settings for color) is also available when the resultant font is used only in a QFont object. %End %TypeHeaderCode #include "qgsfontbutton.h" %End public: enum Mode { ModeTextRenderer, ModeQFont, }; QgsFontButton( QWidget *parent /TransferThis/ = 0, const QString &dialogTitle = QString() ); %Docstring 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. %End virtual QSize minimumSizeHint() const; virtual QSize sizeHint() const; QgsFontButton::Mode mode() const; %Docstring Returns the current button mode. .. seealso:: :py:func:`setMode` %End void setMode( Mode mode ); %Docstring Sets the current button ``mode``. This can be used to toggle between the full capabilities of the button (for configuring :py:class:`QgsTextFormat`/:py:class:`QgsTextRenderer` objects) and a cut-back version for configuring QFont object properties (i.e. with no color settings or the other advanced options :py:class:`QgsTextFormat` allows). .. seealso:: :py:func:`mode` %End void setDialogTitle( const QString &title ); %Docstring Sets the ``title`` for the text settings dialog window. .. seealso:: :py:func:`dialogTitle` %End QString dialogTitle() const; %Docstring Returns the title for the text settings dialog window. .. seealso:: :py:func:`setDialogTitle` %End QgsMapCanvas *mapCanvas() const; %Docstring Returns the map canvas associated with the widget. .. seealso:: :py:func:`setMapCanvas` %End void setMapCanvas( QgsMapCanvas *canvas ); %Docstring 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. .. seealso:: :py:func:`mapCanvas` %End void setMessageBar( QgsMessageBar *bar ); %Docstring Sets the message ``bar`` associated with the widget. This allows the widget to push feedback messages to the appropriate message bar. .. seealso:: :py:func:`messageBar` .. versionadded:: 3.10 %End QgsMessageBar *messageBar() const; %Docstring Returns the message bar associated with the widget. .. seealso:: :py:func:`setMessageBar` .. versionadded:: 3.10 %End QgsTextFormat textFormat() const; %Docstring Returns the current text formatting set by the widget. This is only used when :py:func:`~QgsFontButton.mode` is ModeTextRenderer. .. seealso:: :py:func:`setTextFormat` %End QFont currentFont() const; %Docstring Returns the current QFont set by the widget. This is only used when :py:func:`~QgsFontButton.mode` is ModeQFont. .. seealso:: :py:func:`setCurrentFont` %End QgsVectorLayer *layer() const; %Docstring Returns the layer associated with the widget. .. seealso:: :py:func:`setLayer` .. versionadded:: 3.10 %End void setLayer( QgsVectorLayer *layer ); %Docstring 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. .. seealso:: :py:func:`layer` .. versionadded:: 3.10 %End void registerExpressionContextGenerator( QgsExpressionContextGenerator *generator ); %Docstring Register an expression context generator class that will be used to retrieve an expression context for the button when required. .. versionadded:: 3.10 %End void setShowNullFormat( const bool show ); %Docstring 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 :py:func:`~QgsFontButton.mode`. If selected, the "null format" option sets the button's format to an invalid :py:class:`QgsTextFormat`. This can be used to represent a "use default format" state for the button. By default this option is not shown. .. seealso:: :py:func:`setNoFormatString` .. seealso:: :py:func:`showNullFormat` .. versionadded:: 3.16 %End void setNoFormatString( const QString &string ); %Docstring 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 :py:func:`~QgsFontButton.showNullFormat` is ``True``. .. seealso:: :py:func:`setShowNullFormat` .. versionadded:: 3.16 %End bool showNullFormat() const; %Docstring 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 :py:func:`~QgsFontButton.mode`. If selected, the "null format" option sets the button's format to an invalid :py:class:`QgsTextFormat`. This can be used to represent a "use default format" state for the button. By default this option is not shown. .. seealso:: :py:func:`setShowNullFormat` .. versionadded:: 3.16 %End public slots: void setTextFormat( const QgsTextFormat &format ); %Docstring Sets the current text ``format`` to show in the widget. This is only used when :py:func:`~QgsFontButton.mode` is ModeTextRenderer. .. seealso:: :py:func:`textFormat` %End void setToNullFormat(); %Docstring Sets the text format to a null (invalid) :py:class:`QgsTextFormat`. This is only used when :py:func:`~QgsFontButton.mode` is ModeTextRenderer. .. versionadded:: 3.16 %End void setCurrentFont( const QFont &font ); %Docstring Sets the current text ``font`` to show in the widget. This is only used when :py:func:`~QgsFontButton.mode` is ModeQFont. .. seealso:: :py:func:`currentFont` %End void setColor( const QColor &color ); %Docstring 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 :py:func:`~QgsFontButton.mode` is ModeTextRenderer. %End void copyFormat(); %Docstring Copies the current text format to the clipboard. .. seealso:: :py:func:`pasteFormat` %End void pasteFormat(); %Docstring Pastes a format from the clipboard. If clipboard does not contain a valid format then no change is applied. .. seealso:: :py:func:`copyFormat` %End void copyColor(); %Docstring Copies the current text color to the clipboard. This is only used when :py:func:`~QgsFontButton.mode` is ModeTextRenderer. .. seealso:: :py:func:`pasteColor` %End void pasteColor(); %Docstring 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 :py:func:`~QgsFontButton.mode` is ModeTextRenderer. .. seealso:: :py:func:`copyColor` %End signals: void changed(); %Docstring Emitted when the widget's text format settings are changed. %End protected: virtual bool event( QEvent *e ); virtual void changeEvent( QEvent *e ); virtual void showEvent( QShowEvent *e ); virtual void resizeEvent( QResizeEvent *event ); virtual void mousePressEvent( QMouseEvent *e ); virtual void mouseMoveEvent( QMouseEvent *e ); virtual void dragEnterEvent( QDragEnterEvent *e ); virtual void dragLeaveEvent( QDragLeaveEvent *e ); virtual void dropEvent( QDropEvent *e ); virtual void wheelEvent( QWheelEvent *event ); }; /************************************************************************ * This file has been generated automatically from * * * * src/gui/qgsfontbutton.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/