📄 qextdatetimevalidator.h
字号:
#ifndef _QEXTDATETIMEVALIDATOR_H_
#define _QEXTDATETIMEVALIDATOR_H_
#include <qdatetime.h>
#include <qvalidator.h>
/*!
\class QextDateTimeValidator
\version 1.0
\author Wayne Roth (wroth@speakeasy.org)
\brief Date and time validation class for use with QextDateTimeSpinBox.
The QextDateTimeValidator class provides a validator for a QextDateTimeSpinBox. It is intended
only for use in that context.
*/
class QextDateTimeValidator:public QValidator {
Q_OBJECT
public:
typedef enum _FieldType {
FIELD_LITERAL,
FIELD_AMPM,
FIELD_DAY,
FIELD_DAY_STRING,
FIELD_HOUR_12,
FIELD_HOUR_24,
FIELD_MINUTE,
FIELD_MONTH,
FIELD_MONTH_STRING,
FIELD_SECOND,
FIELD_YEAR_2,
FIELD_YEAR_4
} FieldType;
typedef enum _TokenType {
TYPE_LITERAL,
TYPE_SPECIFIER
} TokenType;
typedef struct _Token {
FieldType FType;
TokenType Type;
QString SpecString;
bool IsFixedSize;
bool IsRightJustified;
int TruncateLength;
unsigned int MinSize;
unsigned int MaxSize;
struct _Token* Next;
} Token;
QextDateTimeValidator(QWidget* parent=0, const char* name=0);
~QextDateTimeValidator();
Token* const displayFormat();
void findStringLimits(void);
void makeString(QString&, QDate&, QTime&) const;
unsigned int maxDayStringSize(void) const;
unsigned int maxMonthStringSize(void) const;
unsigned int minDayStringSize(void) const;
unsigned int minMonthStringSize(void) const;
void setFormat(const QString&);
void setMaxDayStringSize(unsigned int);
void setMaxMonthStringSize(unsigned int);
void setMinDayStringSize(unsigned int);
void setMinMonthStringSize(unsigned int);
void setStrings(const QStringList&, const QStringList&);
virtual QValidator::State validate(QString&, int&) const;
protected:
Token* DisplayFormat;
QString Format;
unsigned int MaxDayString;
unsigned int MaxMonthString;
unsigned int MinDayString;
unsigned int MinMonthString;
QString monthNames[12];
QString dayNames[7];
QString longMonthName(int) const;
QString longDayName(int) const;
void setLongMonthNames(const QStringList&);
void setLongDayNames(const QStringList&);
void parseFormat();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -