#include <qplatformdefs.h>
#include <private/qabstractspinbox_p.h>
#include <private/qdatetime_p.h>
#include <qabstractspinbox.h>
#include <qapplication.h>
#include <qclipboard.h>
#include <qdatetime.h>
#include <qdatetimeedit.h>
#include <qevent.h>
#include <qmenu.h>
#include <qpainter.h>
#include <qpalette.h>
#include <qstyle.h>
#include <qdebug.h>
#include <limits.h>
#include "moc_qabstractspinbox.cpp"
Include dependency graph for qabstractspinbox.cpp:

Go to the source code of this file.
Defines | |
| #define | QASBDEBUG if (false) qDebug |
Functions | |
| QVariant | operator+ (const QVariant &arg1, const QVariant &arg2) |
| QVariant | operator- (const QVariant &arg1, const QVariant &arg2) |
| QVariant | operator * (const QVariant &arg1, double multiplier) |
| double | operator/ (const QVariant &arg1, const QVariant &arg2) |
Variables | |
| static const int | thresholdTime = 500 |
| #define QASBDEBUG if (false) qDebug |
Definition at line 51 of file qabstractspinbox.cpp.
Referenced by QAbstractSpinBoxPrivate::interpret().
Definition at line 1823 of file qabstractspinbox.cpp.
References QDateTime::date(), QVariant::DateTime, QVariant::Double, int, QVariant::Int, QDATETIMEEDIT_DATE_MIN, QDATETIMEEDIT_TIME_MIN, QDateTime::time(), QVariant::toDateTime(), QVariant::toDouble(), QVariant::toInt(), and QVariant::type().
01824 { 01825 QVariant ret; 01826 01827 switch (arg1.type()) { 01828 case QVariant::Int: ret = QVariant((int)(arg1.toInt() * multiplier)); break; 01829 case QVariant::Double: ret = QVariant(arg1.toDouble() * multiplier); break; 01830 case QVariant::DateTime: { 01831 double days = QDATETIMEEDIT_DATE_MIN.daysTo(arg1.toDateTime().date()) * multiplier; 01832 int daysInt = (int)days; 01833 days -= daysInt; 01834 long msecs = (long)((QDATETIMEEDIT_TIME_MIN.msecsTo(arg1.toDateTime().time()) * multiplier) 01835 + (days * (24 * 3600 * 1000))); 01836 ret = QDateTime(QDate().addDays(int(days)), QTime().addMSecs(msecs)); 01837 break; 01838 } 01839 default: ret = arg1; break; 01840 } 01841 01842 return ret; 01843 }
Here is the call graph for this function:

Definition at line 1763 of file qabstractspinbox.cpp.
01764 { 01765 QVariant ret; 01766 if (arg1.type() != arg2.type()) 01767 qWarning("QAbstractSpinBox: Internal error: Different types (%s vs %s) (%s:%d)", 01768 arg1.typeName(), arg2.typeName(), __FILE__, __LINE__); 01769 switch (arg1.type()) { 01770 case QVariant::Int: ret = QVariant(arg1.toInt() + arg2.toInt()); break; 01771 case QVariant::Double: ret = QVariant(arg1.toDouble() + arg2.toDouble()); break; 01772 case QVariant::DateTime: { 01773 QDateTime a2 = arg2.toDateTime(); 01774 QDateTime a1 = arg1.toDateTime().addDays(QDATETIMEEDIT_DATETIME_MIN.daysTo(a2)); 01775 a1.setTime(a1.time().addMSecs(QTime().msecsTo(a2.time()))); 01776 ret = QVariant(a1); 01777 } 01778 default: break; 01779 } 01780 return ret; 01781 }
Definition at line 1789 of file qabstractspinbox.cpp.
References QDateTime::addDays(), QTime::addMSecs(), QDateTime::addSecs(), QVariant::DateTime, QDateTime::daysTo(), QVariant::Double, QVariant::Int, QTime::msec(), qMax(), qWarning(), QDateTime::secsTo(), QDateTime::setTime(), QDateTime::time(), QVariant::toDateTime(), QVariant::toDouble(), QVariant::toInt(), QVariant::type(), and QVariant::typeName().
01790 { 01791 QVariant ret; 01792 if (arg1.type() != arg2.type()) 01793 qWarning("QAbstractSpinBox: Internal error: Different types (%s vs %s) (%s:%d)", 01794 arg1.typeName(), arg2.typeName(), __FILE__, __LINE__); 01795 switch (arg1.type()) { 01796 case QVariant::Int: ret = QVariant(arg1.toInt() - arg2.toInt()); break; 01797 case QVariant::Double: ret = QVariant(arg1.toDouble() - arg2.toDouble()); break; 01798 case QVariant::DateTime: { 01799 QDateTime a1 = arg1.toDateTime(); 01800 QDateTime a2 = arg2.toDateTime(); 01801 int days = a2.daysTo(a1); 01802 int secs = a2.secsTo(a1); 01803 int msecs = qMax(0, a1.time().msec() - a2.time().msec()); 01804 if (days < 0 || secs < 0 || msecs < 0) { 01805 ret = arg1; 01806 } else { 01807 QDateTime dt = a2.addDays(days).addSecs(secs); 01808 if (msecs > 0) 01809 dt.setTime(dt.time().addMSecs(msecs)); 01810 ret = QVariant(dt); 01811 } 01812 } 01813 default: break; 01814 } 01815 return ret; 01816 }
Here is the call graph for this function:

Definition at line 1847 of file qabstractspinbox.cpp.
References QVariant::DateTime, QVariant::Double, QVariant::Int, QDATETIMEEDIT_DATE_MIN, QDATETIMEEDIT_TIME_MIN, QDateTime::time(), QVariant::toDate(), QVariant::toDateTime(), QVariant::toDouble(), QVariant::toInt(), and QVariant::type().
01848 { 01849 double a1 = 0; 01850 double a2 = 0; 01851 01852 switch (arg1.type()) { 01853 case QVariant::Int: 01854 a1 = (double)arg1.toInt(); 01855 a2 = (double)arg2.toInt(); 01856 break; 01857 case QVariant::Double: 01858 a1 = arg1.toDouble(); 01859 a2 = arg2.toDouble(); 01860 break; 01861 case QVariant::DateTime: 01862 a1 = QDATETIMEEDIT_DATE_MIN.daysTo(arg1.toDate()); 01863 a2 = QDATETIMEEDIT_DATE_MIN.daysTo(arg2.toDate()); 01864 a1 += (double)QDATETIMEEDIT_TIME_MIN.msecsTo(arg1.toDateTime().time()) / (long)(3600 * 24 * 1000); 01865 a2 += (double)QDATETIMEEDIT_TIME_MIN.msecsTo(arg2.toDateTime().time()) / (long)(3600 * 24 * 1000); 01866 default: break; 01867 } 01868 01869 return (a1 != 0 && a2 != 0) ? (a1 / a2) : 0.0; 01870 }
Here is the call graph for this function:

const int thresholdTime = 500 [static] |
Definition at line 45 of file qabstractspinbox.cpp.
Referenced by QAbstractSpinBox::changeEvent(), and QAbstractSpinBoxPrivate::init().
1.5.1