79 lines
1.9 KiB
C++
79 lines
1.9 KiB
C++
#ifndef QJOYPAD_FLASH_H
|
|
#define QJOYPAD_FLASH_H
|
|
|
|
|
|
//The color the buttons flash! Feel free to change this.
|
|
//The three numbers are all you need to touch, and they
|
|
//represent the red, green, and blue values of the color,
|
|
//respectively.
|
|
|
|
#define HIGHLIGHT QColor( 0,0,255 )
|
|
|
|
|
|
//--- --- --- --- End of editable code.
|
|
|
|
|
|
|
|
|
|
#include <QPushButton>
|
|
#include <QPalette>
|
|
#include <QBoxLayout>
|
|
#include <QStringList>
|
|
|
|
|
|
//A QPushButton that can flash a color
|
|
//The color it flashes is defined by HIGHLIGHT
|
|
//A FlashButton can now also be set dark
|
|
//in the same way that it can flash, but
|
|
//a FlashButton can not be dark and flash at the same time.
|
|
class FlashButton : public QPushButton
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
FlashButton( QString text, QWidget* parent, QString name = "" );
|
|
public slots:
|
|
//make the button turn blue if it was gray, or visa versa.
|
|
void flash();
|
|
signals:
|
|
//let the world know when flash() happens!
|
|
void flashed( bool on );
|
|
private:
|
|
//is this currently "flashed" (ie, colored blue)?
|
|
bool isflash;
|
|
//the normal, unflashed palette
|
|
QPalette Normal;
|
|
//the colorful flashed palette
|
|
QPalette Flash;
|
|
};
|
|
|
|
//An array of flashing mutually-exclusive toggle buttons.
|
|
class FlashRadioArray : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
FlashRadioArray( const QStringList &names, bool horizontal, QWidget* parent);
|
|
//returns an integer returning the currently selected button.
|
|
//First button is 0.
|
|
int getState();
|
|
public slots:
|
|
//flash the button at the given index
|
|
void flash( int );
|
|
private slots:
|
|
//this is what happens when one of the buttons in the array is clicked.
|
|
void clicked();
|
|
signals:
|
|
//happens when the state changes. The int is the new state.
|
|
void changed( int );
|
|
private:
|
|
//how many buttons
|
|
int Count;
|
|
//which is currently down
|
|
int State;
|
|
//the array of buttons
|
|
FlashButton** Buttons;
|
|
//the main layout.
|
|
QBoxLayout* LMain;
|
|
};
|
|
|
|
#endif
|