You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.1 KiB
94 lines
2.1 KiB
15 years ago
|
/*
|
||
|
*
|
||
|
* BW_LED_Number a very very primitive LED
|
||
|
*
|
||
|
* Copyright: Bernd Johannes Wuebben, wuebben@math.cornell.edu
|
||
|
*
|
||
|
*
|
||
|
* $Id$
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
|
||
|
#ifndef BW_LED_NUM_H
|
||
|
#define BW_LED_NUM_H
|
||
|
|
||
|
#include "qframe.h"
|
||
|
#include "qbitarray.h"
|
||
|
|
||
|
|
||
|
class BW_LED_Number : public QFrame
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
|
||
|
BW_LED_Number( QWidget *parent=0, const char *name=0 );
|
||
|
~BW_LED_Number();
|
||
|
|
||
|
void setSmallLED(bool ); // if you LED is small it might look better
|
||
|
// if you call setSmallLED(TRUE)
|
||
|
|
||
|
// this sets the fore and background color of the LED
|
||
|
// the forground defaults to yellow, the background defaults
|
||
|
// to black
|
||
|
|
||
|
void setLEDColor( const QColor& foregroundColor, const QColor& backgroundColor );
|
||
|
|
||
|
|
||
|
// this sets the color of the segments that are not iluminated
|
||
|
// the default is a rather dark red.
|
||
|
|
||
|
void setLEDoffColor(QColor color);
|
||
|
|
||
|
// calling showOffColon(TRUE) will show the colon if not illuminated
|
||
|
// this is rather ugly -- the default is that they are not shown.
|
||
|
|
||
|
void showOffColon(bool off);
|
||
|
|
||
|
signals:
|
||
|
void clicked();
|
||
|
|
||
|
public slots:
|
||
|
|
||
|
// display one of the characters " 0 1 2 3 4 5 6 7 8 9 . : - "
|
||
|
void display( char c );
|
||
|
|
||
|
// display on e of the numbers " 0 1 2 3 4 5 6 7 8 9"
|
||
|
void display( int i );
|
||
|
|
||
|
protected:
|
||
|
|
||
|
void resizeEvent( QResizeEvent * );
|
||
|
void mouseReleaseEvent ( QMouseEvent * e );
|
||
|
void drawContents( QPainter * );
|
||
|
|
||
|
private:
|
||
|
|
||
|
bool seg_contained_in( char c, char* seg);
|
||
|
void drawSegment( const QPoint &, char, QPainter &, int, bool = FALSE );
|
||
|
void drawSymbol( QPainter *p,char s ,bool repaint);
|
||
|
|
||
|
char* old_segments;
|
||
|
char* current_segments;
|
||
|
|
||
|
char current_symbol;
|
||
|
char old_symbol;
|
||
|
QColor offcolor;
|
||
|
QColor fgcolor;
|
||
|
QColor bgcolor;
|
||
|
|
||
|
|
||
|
bool smallLED;
|
||
|
bool show_off_colon;
|
||
|
|
||
|
private: // Disabled copy constructor and operator=
|
||
|
|
||
|
BW_LED_Number( const BW_LED_Number & );
|
||
|
BW_LED_Number &operator=( const BW_LED_Number & );
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // BW_LED_NUM_H
|