summaryrefslogtreecommitdiffstats
path: root/src/activeqt/axbase/qaxtypefunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/activeqt/axbase/qaxtypefunctions.cpp')
-rw-r--r--src/activeqt/axbase/qaxtypefunctions.cpp113
1 files changed, 33 insertions, 80 deletions
diff --git a/src/activeqt/axbase/qaxtypefunctions.cpp b/src/activeqt/axbase/qaxtypefunctions.cpp
index c1b76f5..8cba274 100644
--- a/src/activeqt/axbase/qaxtypefunctions.cpp
+++ b/src/activeqt/axbase/qaxtypefunctions.cpp
@@ -1,52 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the ActiveQt framework of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2015 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <qt_windows.h>
#include "qaxtypefunctions_p.h"
@@ -63,7 +16,7 @@ QColor OLEColorToQColor(uint col)
return QColor(GetRValue(col),GetGValue(col),GetBValue(col));
}
-/*!
+/*
Copies the data in \a var into \a data.
Used by
@@ -76,88 +29,88 @@ QColor OLEColorToQColor(uint col)
- internalInvoke(update out parameters/return value)
*/
-bool QVariantToVoidStar(const QVariant &var, void *data, const QByteArray &typeName, uint type)
+bool QVariantToVoidStar(const QVariant &var, void *data, const QByteArray &typeName, int type)
{
if (!data)
return true;
- if (type == QMetaType::QVariant || type == uint(QVariant::LastType) || (type == 0 && typeName == "QVariant")) {
+ if (type == QMetaType::QVariant || (type == QMetaType::UnknownType && typeName == "QVariant")) {
*reinterpret_cast<QVariant *>(data) = var;
return true;
}
- switch (var.type()) {
- case QVariant::Invalid:
+ switch (var.metaType().id()) {
+ case QMetaType::UnknownType:
break;
- case QVariant::String:
+ case QMetaType::QString:
*reinterpret_cast<QString *>(data) = var.toString();
break;
- case QVariant::Int:
+ case QMetaType::Int:
*reinterpret_cast<int *>(data) = var.toInt();
break;
- case QVariant::UInt:
+ case QMetaType::UInt:
*reinterpret_cast<uint *>(data) = var.toUInt();
break;
- case QVariant::Bool:
+ case QMetaType::Bool:
*reinterpret_cast<bool *>(data) = var.toBool();
break;
- case QVariant::Double:
+ case QMetaType::Double:
*reinterpret_cast<double *>(data) = var.toDouble();
break;
- case QVariant::Color:
+ case QMetaType::QColor:
*reinterpret_cast<QColor *>(data) = qvariant_cast<QColor>(var);
break;
- case QVariant::Date:
+ case QMetaType::QDate:
*reinterpret_cast<QDate *>(data) = var.toDate();
break;
- case QVariant::Time:
+ case QMetaType::QTime:
*reinterpret_cast<QTime *>(data) = var.toTime();
break;
- case QVariant::DateTime:
+ case QMetaType::QDateTime:
*reinterpret_cast<QDateTime *>(data) = var.toDateTime();
break;
- case QVariant::Font:
+ case QMetaType::QFont:
*reinterpret_cast<QFont *>(data) = qvariant_cast<QFont>(var);
break;
- case QVariant::Pixmap:
+ case QMetaType::QPixmap:
*reinterpret_cast<QPixmap *>(data) = qvariant_cast<QPixmap>(var);
break;
#ifndef QT_NO_CURSOR
- case QVariant::Cursor:
+ case QMetaType::QCursor:
*reinterpret_cast<QCursor *>(data) = qvariant_cast<QCursor>(var);
break;
#endif
- case QVariant::List:
+ case QMetaType::QVariantList:
*reinterpret_cast<QVariantList *>(data) = var.toList();
break;
- case QVariant::StringList:
+ case QMetaType::QStringList:
*reinterpret_cast<QStringList *>(data) = var.toStringList();
break;
- case QVariant::ByteArray:
+ case QMetaType::QByteArray:
*reinterpret_cast<QByteArray *>(data) = var.toByteArray();
break;
- case QVariant::LongLong:
+ case QMetaType::LongLong:
*reinterpret_cast<qint64 *>(data) = var.toLongLong();
break;
- case QVariant::ULongLong:
+ case QMetaType::ULongLong:
*reinterpret_cast<quint64 *>(data) = var.toULongLong();
break;
- case QVariant::Rect:
+ case QMetaType::QRect:
*reinterpret_cast<QRect *>(data) = var.toRect();
break;
- case QVariant::Size:
+ case QMetaType::QSize:
*reinterpret_cast<QSize *>(data) = var.toSize();
break;
- case QVariant::Point:
+ case QMetaType::QPoint:
*reinterpret_cast<QPoint *>(data) = var.toPoint();
break;
- case QVariant::UserType:
- *reinterpret_cast<void **>(data) =
- *reinterpret_cast<void **>(const_cast<void *>(var.constData()));
-// qVariantGet(var, *(void**)data, typeName);
- break;
default:
- qWarning("QVariantToVoidStar: Unhandled QVariant type");
+ if (var.metaType().id() >= QMetaType::User) {
+ *reinterpret_cast<void **>(data) =
+ *reinterpret_cast<void **>(const_cast<void *>(var.constData()));
+ } else {
+ qWarning("QVariantToVoidStar: Unhandled QVariant type");
+ }
return false;
}