summaryrefslogtreecommitdiffstats
path: root/src/widgets/qlcdnumber.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:24:15 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:24:15 -0500
commitbd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch)
tree7a520322212d48ebcb9fbe1087e7fca28b76185c /src/widgets/qlcdnumber.h
downloadqt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz
qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip
Add Qt3 development HEAD version
Diffstat (limited to 'src/widgets/qlcdnumber.h')
-rw-r--r--src/widgets/qlcdnumber.h146
1 files changed, 146 insertions, 0 deletions
diff --git a/src/widgets/qlcdnumber.h b/src/widgets/qlcdnumber.h
new file mode 100644
index 0000000..fb4780a
--- /dev/null
+++ b/src/widgets/qlcdnumber.h
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Definition of QLCDNumber class
+**
+** Created : 940518
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the widgets module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial licenses may use this file in accordance with the Qt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QLCDNUMBER_H
+#define QLCDNUMBER_H
+
+#ifndef QT_H
+#include "qframe.h"
+#include "qbitarray.h"
+#endif // QT_H
+
+#ifndef QT_NO_LCDNUMBER
+
+
+class QLCDNumberPrivate;
+
+class Q_EXPORT QLCDNumber : public QFrame // LCD number widget
+{
+ Q_OBJECT
+ Q_ENUMS( Mode SegmentStyle )
+ Q_PROPERTY( bool smallDecimalPoint READ smallDecimalPoint WRITE setSmallDecimalPoint )
+ Q_PROPERTY( int numDigits READ numDigits WRITE setNumDigits )
+ Q_PROPERTY( Mode mode READ mode WRITE setMode )
+ Q_PROPERTY( SegmentStyle segmentStyle READ segmentStyle WRITE setSegmentStyle )
+ Q_PROPERTY( double value READ value WRITE display )
+ Q_PROPERTY( int intValue READ intValue WRITE display )
+
+public:
+ QLCDNumber( QWidget* parent=0, const char* name=0 );
+ QLCDNumber( uint numDigits, QWidget* parent=0, const char* name=0 );
+ ~QLCDNumber();
+
+ enum Mode { Hex, Dec, Oct, Bin, HEX = Hex, DEC = Dec, OCT = Oct,
+ BIN = Bin };
+ enum SegmentStyle { Outline, Filled, Flat };
+
+ bool smallDecimalPoint() const;
+
+ int numDigits() const;
+ virtual void setNumDigits( int nDigits );
+
+ bool checkOverflow( double num ) const;
+ bool checkOverflow( int num ) const;
+
+ Mode mode() const;
+ virtual void setMode( Mode );
+
+ SegmentStyle segmentStyle() const;
+ virtual void setSegmentStyle( SegmentStyle );
+
+ double value() const;
+ int intValue() const;
+
+ QSize sizeHint() const;
+
+public slots:
+ void display( const QString &str );
+ void display( int num );
+ void display( double num );
+ virtual void setHexMode();
+ virtual void setDecMode();
+ virtual void setOctMode();
+ virtual void setBinMode();
+ virtual void setSmallDecimalPoint( bool );
+
+signals:
+ void overflow();
+
+protected:
+ void drawContents( QPainter * );
+
+private:
+ void init();
+ void internalDisplay( const QString &);
+ void internalSetString( const QString& s );
+ void drawString( const QString& s, QPainter &, QBitArray * = 0,
+ bool = TRUE );
+ //void drawString( const QString &, QPainter &, QBitArray * = 0 ) const;
+ void drawDigit( const QPoint &, QPainter &, int, char,
+ char = ' ' );
+ void drawSegment( const QPoint &, char, QPainter &, int, bool = FALSE );
+
+ int ndigits;
+ double val;
+ uint base : 2;
+ uint smallPoint : 1;
+ uint fill : 1;
+ uint shadow : 1;
+ QString digitStr;
+ QBitArray points;
+ QLCDNumberPrivate * d;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QLCDNumber( const QLCDNumber & );
+ QLCDNumber &operator=( const QLCDNumber & );
+#endif
+};
+
+inline bool QLCDNumber::smallDecimalPoint() const
+{ return (bool)smallPoint; }
+
+inline int QLCDNumber::numDigits() const
+{ return ndigits; }
+
+
+#endif // QT_NO_LCDNUMBER
+
+#endif // QLCDNUMBER_H