mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
221 lines
7.9 KiB
Plaintext
221 lines
7.9 KiB
Plaintext
|
|
/** \ingroup gui
|
|
* \class QgsColorRampButton
|
|
* A cross platform button subclass for selecting color ramps. Will open color ramp dialogs when clicked.
|
|
* Offers live updates to button from color ramp dialog. An attached drop down menu allows for access to
|
|
* saved color ramps, as well as option to invert the current color ramp and create new ramps.
|
|
* \note Added in version 3.0
|
|
*/
|
|
|
|
class QgsColorRampButton : QToolButton
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgscolorrampbutton.h>
|
|
%End
|
|
|
|
public:
|
|
|
|
/** Construct a new color ramp button.
|
|
* @param parent The parent QWidget for the dialog
|
|
* @param dialogTitle The title to show in the color ramp dialog
|
|
*/
|
|
QgsColorRampButton( QWidget *parent = nullptr, const QString& dialogTitle = QString() );
|
|
|
|
virtual ~QgsColorRampButton();
|
|
|
|
virtual QSize sizeHint() const;
|
|
|
|
/** Return a copy of the current color ramp.
|
|
* @see setColorRamp()
|
|
*/
|
|
QgsColorRamp* colorRamp() const /Factory/;
|
|
|
|
/** Set the title for the color ramp dialog window.
|
|
* @param title Title for the color ramp dialog
|
|
* @see colorRampDialogTitle
|
|
*/
|
|
void setColorRampDialogTitle( const QString& title );
|
|
|
|
/** Returns the title for the color ramp dialog window.
|
|
* @returns title for the color ramp dialog
|
|
* @see setColorRampDialogTitle
|
|
*/
|
|
QString colorRampDialogTitle() const;
|
|
|
|
/** Returns whether the button accepts live updates from QgsColorRampDialog.
|
|
* @returns true if the button will be accepted immediately when the dialog's color ramp changes
|
|
* @see setAcceptLiveUpdates
|
|
*/
|
|
bool acceptLiveUpdates() const;
|
|
|
|
/** Sets whether the button accepts live updates from QgsColorRampDialog. Live updates may cause changes
|
|
* that are not undoable on QColorRampDialog cancel.
|
|
* @param accept set to true to enable live updates
|
|
* @see acceptLiveUpdates
|
|
*/
|
|
void setAcceptLiveUpdates( const bool accept );
|
|
|
|
/** Sets whether the drop down menu should be shown for the button. The default behavior is to
|
|
* show the menu.
|
|
* @param showMenu set to false to hide the drop down menu
|
|
* @see showMenu
|
|
*/
|
|
void setShowMenu( const bool showMenu );
|
|
|
|
/** Returns whether the drop down menu is shown for the button.
|
|
* @returns true if drop down menu is shown
|
|
* @see setShowMenu
|
|
*/
|
|
bool showMenu() const;
|
|
|
|
/** Sets the default color ramp for the button, which is shown in the button's drop down menu for the
|
|
* "default color ramp" option.
|
|
* @param colorramp default color ramp for the button. Set to a null pointer to disable the default color
|
|
* ramp option. The ramp will be cloned and ownership is not transferred.
|
|
* @see defaultColorRamp
|
|
*/
|
|
void setDefaultColorRamp( QgsColorRamp* colorramp );
|
|
|
|
/** Returns a copy of the default color ramp for the button, which is shown in the button's drop down menu for the
|
|
* "default color ramp" option.
|
|
* @returns default color ramp for the button. Returns a null pointer if the default color ramp
|
|
* option is disabled.
|
|
* @see setDefaultColorRamp
|
|
*/
|
|
QgsColorRamp* defaultColorRamp() const /Factory/;
|
|
|
|
/** Sets whether a random colors option is shown in the button's drop down menu.
|
|
* @param showNull set to true to show a null option
|
|
* @see showRandom()
|
|
*/
|
|
void setShowRandomColorRamp( bool showRandom );
|
|
|
|
/** Returns whether random colors option is shown in the button's drop down menu.
|
|
* @see setShowRandom()
|
|
*/
|
|
bool showRandomColorRamp() const;
|
|
|
|
/** Returns true if the current color is null.
|
|
* @see setShowNull()
|
|
* @see showNull()
|
|
*/
|
|
bool isRandomColorRamp() const;
|
|
|
|
/** Sets whether a set to null (clear) option is shown in the button's drop down menu.
|
|
* @param showNull set to true to show a null option
|
|
* @see showNull()
|
|
* @see isNull()
|
|
*/
|
|
void setShowNull( bool showNull );
|
|
|
|
/** Returns whether the set to null (clear) option is shown in the button's drop down menu.
|
|
* @see setShowNull()
|
|
* @see isNull()
|
|
*/
|
|
bool showNull() const;
|
|
|
|
/** Returns true if the current color is null.
|
|
* @see setShowNull()
|
|
* @see showNull()
|
|
*/
|
|
bool isNull() const;
|
|
|
|
/** Sets the context string for the color ramp button. The context string is passed to all color ramp
|
|
* preview icons shown in the button's drop down menu, to (eventually) allow them to customise their display colors
|
|
* based on the context.
|
|
* @param context context string for the color dialog button's color ramp preview icons
|
|
* @see context
|
|
*/
|
|
void setContext( const QString& context );
|
|
|
|
/** Returns the context string for the color ramp button. The context string is passed to all color ramp
|
|
* preview icons shown in the button's drop down menu, to (eventually) allow them to customise their display colors
|
|
* based on the context.
|
|
* @returns context context string for the color dialog button's color ramp preview icons
|
|
* @see setContext
|
|
*/
|
|
QString context() const;
|
|
|
|
/** Sets whether the color ramp button only shows gradient type ramps
|
|
* @param gradientonly set to true to show only gradient type ramps
|
|
* @see showGradientOnly
|
|
*/
|
|
void setShowGradientOnly( bool gradientonly );
|
|
|
|
/** Returns true if the color ramp button only shows gradient type ramps
|
|
* @see setShowGradientOnly
|
|
*/
|
|
bool showGradientOnly() const;
|
|
|
|
/** Sets the name of the current color ramp when it's available in the style manager
|
|
* @param name Name of the saved color ramp
|
|
* @see colorRampName
|
|
*/
|
|
void setColorRampName( QString name );
|
|
|
|
/** Returns the name of the current color ramp when it's available in the style manager
|
|
* @see setColorRampName
|
|
*/
|
|
QString colorRampName() const;
|
|
|
|
public slots:
|
|
|
|
/** Sets the current color ramp for the button. Will emit a colorRampChanged() signal if the color ramp is different
|
|
* to the previous color ramp.
|
|
* @param colorramp New color ramp for the button. The ramp will be cloned and ownership is not transferred.
|
|
* @see setRandomColorRamp, setColorRampFromName, colorRamp
|
|
*/
|
|
void setColorRamp( QgsColorRamp* colorramp );
|
|
|
|
/** Sets the current color ramp for the button to random colors. Will emit a colorRampChanged() signal
|
|
* if the color ramp is different to the previous color ramp.
|
|
* @see setColorRamp, setColorRampFromName, colorRamp
|
|
*/
|
|
void setRandomColorRamp();
|
|
|
|
/** Sets the current color ramp for the button using a saved color ramp name. Will emit a colorRampChanged() signal
|
|
* if the color ramp is different to the previous color ramp.
|
|
* @param name Name of saved color ramp
|
|
* @see setColorRamp, setRandomColorRamp, colorRamp
|
|
*/
|
|
void setColorRampFromName( const QString& name = QString() );
|
|
|
|
/** Sets the background pixmap for the button based upon current color ramp.
|
|
* @param colorramp Color ramp for button background. If no color ramp is specified, the button's current
|
|
* color ramp will be used
|
|
*/
|
|
void setButtonBackground( QgsColorRamp* colorramp = nullptr );
|
|
|
|
/** Sets color ramp to the button's default color ramp, if set.
|
|
* @see setDefaultColorRamp
|
|
* @see defaultColorRamp
|
|
* @see setToNull()
|
|
*/
|
|
void setToDefaultColorRamp();
|
|
|
|
/** Sets color ramp to null.
|
|
* @see setToDefaultColorRamp()
|
|
*/
|
|
void setToNull();
|
|
|
|
signals:
|
|
|
|
/** Emitted whenever a new color ramp is set for the button. The color ramp is always valid.
|
|
* In case the new color ramp is the same, no signal is emitted to avoid infinite loops.
|
|
*/
|
|
void colorRampChanged();
|
|
|
|
protected:
|
|
|
|
bool event( QEvent *e );
|
|
void changeEvent( QEvent* e );
|
|
void showEvent( QShowEvent* e );
|
|
void resizeEvent( QResizeEvent *event );
|
|
|
|
/**
|
|
* Reimplemented to detect right mouse button clicks on the color ramp button
|
|
*/
|
|
void mousePressEvent( QMouseEvent* e );
|
|
|
|
};
|