Inital commit of the Komplex Hub
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
set_source_files_properties(EventSystem.qml
|
||||
PROPERTIES
|
||||
QT_QML_SINGLETON_TYPE true
|
||||
)
|
||||
|
||||
qt_add_library(QuickStudioEventSystem STATIC)
|
||||
qt6_add_qml_module(QuickStudioEventSystem
|
||||
URI "QtQuick.Studio.EventSystem"
|
||||
VERSION "${PROJECT_VERSION}"
|
||||
RESOURCE_PREFIX "/qt-project.org/imports"
|
||||
DESIGNER_SUPPORTED
|
||||
PAST_MAJOR_VERSIONS 1
|
||||
NO_LINT
|
||||
NO_CACHEGEN
|
||||
QML_FILES
|
||||
EventSystem.qml
|
||||
EventListener.qml
|
||||
)
|
||||
|
||||
register_plugin(QuickStudioEventSystem)
|
||||
@@ -0,0 +1,53 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Quick Designer Components.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** 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.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Studio.EventSystem 1.0
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
signal triggered(var eventId, var parameters)
|
||||
property string eventIds
|
||||
property var __eventIdList
|
||||
function __receiveEvent(eventId, parameters) {
|
||||
if (root.eventIds === eventId || __eventIdList.indexOf(eventId) > -1)
|
||||
root.triggered(eventId, parameters)
|
||||
}
|
||||
|
||||
onEventIdsChanged:{
|
||||
var split = root.eventIds.split(',').map(item=>item.trim());
|
||||
if (split.length > 0) {
|
||||
__eventIdList = split
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
EventSystem.eventTriggered.connect(__receiveEvent)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Quick Designer Components.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** 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.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
pragma Singleton
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Window 2.2
|
||||
|
||||
Item {
|
||||
signal eventTriggered(string eventID, string parameters)
|
||||
property ListModel model
|
||||
|
||||
function __modelLoaded()
|
||||
{
|
||||
model = eventListLoader.item
|
||||
}
|
||||
|
||||
function init(modelURI) {
|
||||
eventListLoader.loaded.connect(__modelLoaded)
|
||||
eventListLoader.source = modelURI
|
||||
}
|
||||
|
||||
function triggerEvent(eventId) {
|
||||
for (var i = 0; i < model.count; i++) {
|
||||
if (model.get(i).eventId === eventId) {
|
||||
eventTriggered(eventId, model.get(i).parameters)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: eventListLoader
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import QtQuick.tooling 1.2
|
||||
|
||||
// This file describes the plugin-supplied types contained in the library.
|
||||
// It is used for QML tooling purposes only.
|
||||
//
|
||||
// This file was auto-generated by:
|
||||
// 'qmlplugindump -nonrelocatable -dependencies dependencies.json QtQuick.Controls 2.15'
|
||||
|
||||
Module {
|
||||
dependencies: [
|
||||
"QtQuick 2.11"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
module QtQuick.Studio.EventSystem
|
||||
linktarget QtQuickStudioEventSystemplugin
|
||||
optional plugin QtQuickStudioEventSystemplugin
|
||||
classname QtQuick_Studio_EventSystemPlugin
|
||||
typeinfo QtQuickStudioEventSystem.qmltypes
|
||||
prefer :/QtQuick/Studio/EventSystem/
|
||||
singleton EventSystem 1.0 EventSystem.qml
|
||||
EventListener 1.0 EventListener.qml
|
||||
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of Qt Quick Designer Components.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL$
|
||||
** 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.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 or (at your option) any later version
|
||||
** approved by the KDE Free Qt Foundation. The licenses are as published by
|
||||
** the Free Software Foundation and appearing in the file LICENSE.GPL3
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtQml/qqmlextensionplugin.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QtStudioEventSystemPlugin: public QQmlExtensionPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
|
||||
|
||||
public:
|
||||
QtStudioEventSystemPlugin(QObject *parent = nullptr);
|
||||
void registerTypes(const char *uri) override;
|
||||
};
|
||||
|
||||
QtStudioEventSystemPlugin::QtStudioEventSystemPlugin(QObject *parent)
|
||||
: QQmlExtensionPlugin(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void QtStudioEventSystemPlugin::registerTypes(const char *)
|
||||
{
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#include "qtstudioeventsystemplugin.moc"
|
||||
Reference in New Issue
Block a user