Stellarium 0.11.2
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions
StelButton Class Reference

A Button Graphicsitem for use in Stellarium's graphic widgets. More...

#include <StelGuiItems.hpp>

List of all members.

Public Types

enum  { ButtonStateOff = 0, ButtonStateOn = 1, ButtonStateNoChange = 2 }

Public Slots

void setChecked (int b)
void setChecked (bool b)

Signals

void toggled (bool)
void triggered ()
void hoverChanged (bool b)

Public Member Functions

 StelButton (QGraphicsItem *parent, const QPixmap &pixOn, const QPixmap &pixOff, const QPixmap &pixHover=QPixmap(), QAction *action=NULL, bool noBackground=false)
 StelButton (QGraphicsItem *parent, const QPixmap &pixOn, const QPixmap &pixOff, const QPixmap &pixNoChange, const QPixmap &pixHover=QPixmap(), QAction *action=NULL, bool noBackground=false, bool isTristate=true)
int isChecked () const
int getButtonPixmapWidth () const
void setOpacity (double v)
void setRedMode (bool b)
void setBackgroundPixmap (const QPixmap &newBackground)

Static Public Member Functions

static QPixmap makeRed (const QPixmap &p)

Protected Member Functions

virtual void mousePressEvent (QGraphicsSceneMouseEvent *event)
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event)
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event)
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event)

Detailed Description

A Button Graphicsitem for use in Stellarium's graphic widgets.


Constructor & Destructor Documentation

StelButton::StelButton ( QGraphicsItem *  parent,
const QPixmap &  pixOn,
const QPixmap &  pixOff,
const QPixmap &  pixHover = QPixmap(),
QAction *  action = NULL,
bool  noBackground = false 
)

Constructor.

Parameters:
parentthe parent item
pixOnthe pixmap to display when the button is toggled
pixOffthe pixmap to display when the button is not toggled
pixHovera pixmap slowly blended when mouse is over the button
actionthe associated action. Connections are automatically done with the signals if relevant.
noBackgrounddefine whether the button background image have to be used
StelButton::StelButton ( QGraphicsItem *  parent,
const QPixmap &  pixOn,
const QPixmap &  pixOff,
const QPixmap &  pixNoChange,
const QPixmap &  pixHover = QPixmap(),
QAction *  action = NULL,
bool  noBackground = false,
bool  isTristate = true 
)

Constructor.

Parameters:
parentthe parent item
pixOnthe pixmap to display when the button is toggled
pixOffthe pixmap to display when the button is not toggled
pixNoChangethe pixmap to display when the button state of a tristate is not changed
pixHovera pixmap slowly blended when mouse is over the button
actionthe associated action. Connections are automatically done with the signals if relevant.
noBackgrounddefine whether the button background image have to be used
isTristatedefine whether the button is a tristate or an on/off button

Member Function Documentation

int StelButton::getButtonPixmapWidth ( ) const [inline]

Get the width of the button image.

The width is based on pixOn.

void StelButton::hoverChanged ( bool  b) [signal]

Emitted when the hover state change.

Parameters:
btrue if the mouse entered the button
void StelButton::setBackgroundPixmap ( const QPixmap &  newBackground)

Set the background pixmap of the button.

A variant for night vision mode (pixBackgroundRed) is automatically generated from the new background.