Inital commit of the Komplex Hub
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2023 The Qt Company Ltd.
|
||||
** Contact: http://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Quick Dialogs module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL3$
|
||||
** 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 http://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at http://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 3 requirements
|
||||
** will be met: https://www.gnu.org/licenses/lgpl.html.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 2.0 or later as published by the Free
|
||||
** Software Foundation and appearing in the file LICENSE.GPL included in
|
||||
** the packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 2.0 requirements will be
|
||||
** met: http://www.gnu.org/licenses/gpl-2.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQml.Models as M
|
||||
import QtQuick.Studio.Utils
|
||||
|
||||
M.ListModel {
|
||||
id: listModel
|
||||
|
||||
property string modelName
|
||||
property var jsonObject: null
|
||||
|
||||
dynamicRoles: true
|
||||
|
||||
// qmllint disable compiler
|
||||
|
||||
onJsonObjectChanged: {
|
||||
listModel.clear()
|
||||
var objectArray = listModel.jsonObject
|
||||
if (modelName.modelName !== "")
|
||||
objectArray = objectArray[listModel.modelName]
|
||||
for (var key in objectArray) {
|
||||
var jo = objectArray[key]
|
||||
listModel.append(jo)
|
||||
}
|
||||
}
|
||||
// qmllint enable compiler
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2023 The Qt Company Ltd.
|
||||
** Contact: http://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Quick Dialogs module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL3$
|
||||
** 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 http://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at http://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 3 requirements
|
||||
** will be met: https://www.gnu.org/licenses/lgpl.html.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 2.0 or later as published by the Free
|
||||
** Software Foundation and appearing in the file LICENSE.GPL included in
|
||||
** the packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 2.0 requirements will be
|
||||
** met: http://www.gnu.org/licenses/gpl-2.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Studio.Utils
|
||||
|
||||
QtObject {
|
||||
id: server
|
||||
property url source
|
||||
|
||||
property FileReader fileReader: FileReader {
|
||||
id: fileReader
|
||||
filePath: server.source
|
||||
onContentChanged: server.updateJSON()
|
||||
}
|
||||
|
||||
// qmllint disable compiler
|
||||
function updateJSON() {
|
||||
|
||||
if (fileReader.content === "")
|
||||
return
|
||||
|
||||
var objectArray = parseJSONString(fileReader.content)
|
||||
for (var key in objectArray) {
|
||||
var jo = objectArray[key]
|
||||
if (server[key] !== undefined)
|
||||
server[key] = jo
|
||||
else
|
||||
console.warn(key, "undefined")
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function parseJSONString(jsonString) {
|
||||
var objectArray = JSON.parse(jsonString)
|
||||
if (!objectArray)
|
||||
console.error("JSON parsing failed")
|
||||
|
||||
return objectArray
|
||||
}
|
||||
// qmllint enable compiler
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2023 The Qt Company Ltd.
|
||||
** Contact: http://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Quick Dialogs module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL3$
|
||||
** 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 http://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at http://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPLv3 included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 3 requirements
|
||||
** will be met: https://www.gnu.org/licenses/lgpl.html.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 2.0 or later as published by the Free
|
||||
** Software Foundation and appearing in the file LICENSE.GPL included in
|
||||
** the packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 2.0 requirements will be
|
||||
** met: http://www.gnu.org/licenses/gpl-2.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQml
|
||||
import QtQml.Models as M
|
||||
import QtQuick.Studio.Utils as U
|
||||
|
||||
M.ListModel {
|
||||
id: listModel
|
||||
|
||||
property url source
|
||||
property var jsonObject
|
||||
dynamicRoles: true
|
||||
|
||||
property U.FileReader fileReader: U.FileReader {
|
||||
id: fileReader
|
||||
filePath: listModel.source
|
||||
onContentChanged: listModel.updateJSON()
|
||||
}
|
||||
|
||||
// qmllint disable compiler
|
||||
onJsonObjectChanged: {
|
||||
listModel.clear()
|
||||
var objectArray = listModel.jsonObject
|
||||
|
||||
for (var key in objectArray) {
|
||||
var jo = objectArray[key]
|
||||
listModel.append(jo)
|
||||
}
|
||||
}
|
||||
|
||||
function updateJSON() {
|
||||
var objectArray = JSON.parse(fileReader.content)
|
||||
listModel.jsonObject = fromLocalJson(objectArray)
|
||||
invalidateChildModels()
|
||||
}
|
||||
|
||||
function isObject(obj) {
|
||||
return obj && obj.constructor === Object
|
||||
}
|
||||
|
||||
function fromLocalJson(localJson) {
|
||||
if (!isObject(localJson))
|
||||
return {}
|
||||
|
||||
var parsedModel = {}
|
||||
for (let collectionName in localJson) {
|
||||
let collection = localJson[collectionName]
|
||||
if (isObject(collection)) {
|
||||
if (Array.isArray(collection.columns) && Array.isArray(collection.data)) {
|
||||
let propertyNames = []
|
||||
let extractedCollection = []
|
||||
|
||||
for (let columnId in collection.columns) {
|
||||
let column = collection.columns[columnId]
|
||||
propertyNames.push(isObject(column) ? column.name : null)
|
||||
}
|
||||
|
||||
for (let rowId in collection.data) {
|
||||
let extractedElement = {}
|
||||
let row = collection.data[rowId]
|
||||
if (Array.isArray(row)) {
|
||||
let maxIdx = Math.min(row.length, propertyNames.length)
|
||||
for (let idx = 0; idx < maxIdx; ++idx) {
|
||||
let propertyName = propertyNames[idx]
|
||||
if (propertyName !== "") {
|
||||
let value = row[idx]
|
||||
if (value !== undefined && value !== null)
|
||||
extractedElement[propertyName] = value
|
||||
}
|
||||
}
|
||||
}
|
||||
extractedCollection.push(extractedElement)
|
||||
}
|
||||
parsedModel[collectionName] = extractedCollection
|
||||
}
|
||||
}
|
||||
}
|
||||
return parsedModel
|
||||
}
|
||||
|
||||
function invalidateChildModels() {
|
||||
for (let property in listModel) {
|
||||
let propertyValue = listModel[property]
|
||||
let propertyValueIsObject = propertyValue && typeof(propertyValue) === "object"
|
||||
|
||||
if (propertyValueIsObject && propertyValue.jsonObject !== undefined)
|
||||
propertyValue.jsonObject = listModel.jsonObject
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
updateJSON()
|
||||
}
|
||||
|
||||
// qmllint enable compiler
|
||||
}
|
||||
@@ -0,0 +1,633 @@
|
||||
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 qmltyperegistrar.
|
||||
|
||||
Module {
|
||||
Component {
|
||||
file: "qabstractitemmodel.h"
|
||||
lineNumber: 259
|
||||
name: "QAbstractItemModel"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QObject"
|
||||
Enum {
|
||||
name: "LayoutChangeHint"
|
||||
lineNumber: 335
|
||||
values: [
|
||||
"NoLayoutChangeHint",
|
||||
"VerticalSortHint",
|
||||
"HorizontalSortHint"
|
||||
]
|
||||
}
|
||||
Enum {
|
||||
name: "CheckIndexOption"
|
||||
isScoped: true
|
||||
lineNumber: 343
|
||||
values: [
|
||||
"NoOption",
|
||||
"IndexIsValid",
|
||||
"DoNotUseParent",
|
||||
"ParentIsInvalid"
|
||||
]
|
||||
}
|
||||
Signal {
|
||||
name: "dataChanged"
|
||||
lineNumber: 357
|
||||
Parameter { name: "topLeft"; type: "QModelIndex" }
|
||||
Parameter { name: "bottomRight"; type: "QModelIndex" }
|
||||
Parameter { name: "roles"; type: "int"; isList: true }
|
||||
}
|
||||
Signal {
|
||||
name: "dataChanged"
|
||||
isCloned: true
|
||||
lineNumber: 357
|
||||
Parameter { name: "topLeft"; type: "QModelIndex" }
|
||||
Parameter { name: "bottomRight"; type: "QModelIndex" }
|
||||
}
|
||||
Signal {
|
||||
name: "headerDataChanged"
|
||||
lineNumber: 359
|
||||
Parameter { name: "orientation"; type: "Qt::Orientation" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "layoutChanged"
|
||||
lineNumber: 360
|
||||
Parameter { name: "parents"; type: "QPersistentModelIndex"; isList: true }
|
||||
Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
|
||||
}
|
||||
Signal {
|
||||
name: "layoutChanged"
|
||||
isCloned: true
|
||||
lineNumber: 360
|
||||
Parameter { name: "parents"; type: "QPersistentModelIndex"; isList: true }
|
||||
}
|
||||
Signal { name: "layoutChanged"; isCloned: true; lineNumber: 360 }
|
||||
Signal {
|
||||
name: "layoutAboutToBeChanged"
|
||||
lineNumber: 361
|
||||
Parameter { name: "parents"; type: "QPersistentModelIndex"; isList: true }
|
||||
Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
|
||||
}
|
||||
Signal {
|
||||
name: "layoutAboutToBeChanged"
|
||||
isCloned: true
|
||||
lineNumber: 361
|
||||
Parameter { name: "parents"; type: "QPersistentModelIndex"; isList: true }
|
||||
}
|
||||
Signal { name: "layoutAboutToBeChanged"; isCloned: true; lineNumber: 361 }
|
||||
Signal {
|
||||
name: "rowsAboutToBeInserted"
|
||||
lineNumber: 363
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "rowsInserted"
|
||||
lineNumber: 364
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "rowsAboutToBeRemoved"
|
||||
lineNumber: 366
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "rowsRemoved"
|
||||
lineNumber: 367
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsAboutToBeInserted"
|
||||
lineNumber: 369
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsInserted"
|
||||
lineNumber: 370
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsAboutToBeRemoved"
|
||||
lineNumber: 372
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsRemoved"
|
||||
lineNumber: 373
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
Parameter { name: "first"; type: "int" }
|
||||
Parameter { name: "last"; type: "int" }
|
||||
}
|
||||
Signal { name: "modelAboutToBeReset"; lineNumber: 375 }
|
||||
Signal { name: "modelReset"; lineNumber: 376 }
|
||||
Signal {
|
||||
name: "rowsAboutToBeMoved"
|
||||
lineNumber: 378
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceStart"; type: "int" }
|
||||
Parameter { name: "sourceEnd"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationRow"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "rowsMoved"
|
||||
lineNumber: 379
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceStart"; type: "int" }
|
||||
Parameter { name: "sourceEnd"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationRow"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsAboutToBeMoved"
|
||||
lineNumber: 381
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceStart"; type: "int" }
|
||||
Parameter { name: "sourceEnd"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationColumn"; type: "int" }
|
||||
}
|
||||
Signal {
|
||||
name: "columnsMoved"
|
||||
lineNumber: 382
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceStart"; type: "int" }
|
||||
Parameter { name: "sourceEnd"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationColumn"; type: "int" }
|
||||
}
|
||||
Method { name: "submit"; type: "bool"; lineNumber: 385 }
|
||||
Method { name: "revert"; lineNumber: 386 }
|
||||
Method { name: "resetInternalData"; lineNumber: 389 }
|
||||
Method {
|
||||
name: "hasIndex"
|
||||
type: "bool"
|
||||
isMethodConstant: true
|
||||
lineNumber: 271
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "hasIndex"
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 271
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "column"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "index"
|
||||
type: "QModelIndex"
|
||||
isMethodConstant: true
|
||||
lineNumber: 272
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "index"
|
||||
type: "QModelIndex"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 272
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "column"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "parent"
|
||||
type: "QModelIndex"
|
||||
isMethodConstant: true
|
||||
lineNumber: 274
|
||||
Parameter { name: "child"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "sibling"
|
||||
type: "QModelIndex"
|
||||
isMethodConstant: true
|
||||
lineNumber: 276
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "idx"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "rowCount"
|
||||
type: "int"
|
||||
isMethodConstant: true
|
||||
lineNumber: 277
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method { name: "rowCount"; type: "int"; isCloned: true; isMethodConstant: true; lineNumber: 277 }
|
||||
Method {
|
||||
name: "columnCount"
|
||||
type: "int"
|
||||
isMethodConstant: true
|
||||
lineNumber: 278
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "columnCount"
|
||||
type: "int"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 278
|
||||
}
|
||||
Method {
|
||||
name: "hasChildren"
|
||||
type: "bool"
|
||||
isMethodConstant: true
|
||||
lineNumber: 279
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "hasChildren"
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 279
|
||||
}
|
||||
Method {
|
||||
name: "data"
|
||||
type: "QVariant"
|
||||
isMethodConstant: true
|
||||
lineNumber: 281
|
||||
Parameter { name: "index"; type: "QModelIndex" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "data"
|
||||
type: "QVariant"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 281
|
||||
Parameter { name: "index"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "setData"
|
||||
type: "bool"
|
||||
lineNumber: 282
|
||||
Parameter { name: "index"; type: "QModelIndex" }
|
||||
Parameter { name: "value"; type: "QVariant" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "setData"
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 282
|
||||
Parameter { name: "index"; type: "QModelIndex" }
|
||||
Parameter { name: "value"; type: "QVariant" }
|
||||
}
|
||||
Method {
|
||||
name: "headerData"
|
||||
type: "QVariant"
|
||||
isMethodConstant: true
|
||||
lineNumber: 284
|
||||
Parameter { name: "section"; type: "int" }
|
||||
Parameter { name: "orientation"; type: "Qt::Orientation" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "headerData"
|
||||
type: "QVariant"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 284
|
||||
Parameter { name: "section"; type: "int" }
|
||||
Parameter { name: "orientation"; type: "Qt::Orientation" }
|
||||
}
|
||||
Method {
|
||||
name: "insertRows"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 302
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "insertRows"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 302
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "insertColumns"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 303
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "insertColumns"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 303
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "removeRows"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 304
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "removeRows"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 304
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "removeColumns"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 305
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "removeColumns"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 305
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "moveRows"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 306
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceRow"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationChild"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "moveColumns"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 308
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceColumn"; type: "int" }
|
||||
Parameter { name: "count"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationChild"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "insertRow"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 311
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "insertRow"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 311
|
||||
Parameter { name: "row"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "insertColumn"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 312
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "insertColumn"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 312
|
||||
Parameter { name: "column"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "removeRow"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 313
|
||||
Parameter { name: "row"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "removeRow"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 313
|
||||
Parameter { name: "row"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "removeColumn"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 314
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "removeColumn"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
isCloned: true
|
||||
lineNumber: 314
|
||||
Parameter { name: "column"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "moveRow"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 315
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceRow"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationChild"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "moveColumn"
|
||||
revision: 1540
|
||||
type: "bool"
|
||||
lineNumber: 317
|
||||
Parameter { name: "sourceParent"; type: "QModelIndex" }
|
||||
Parameter { name: "sourceColumn"; type: "int" }
|
||||
Parameter { name: "destinationParent"; type: "QModelIndex" }
|
||||
Parameter { name: "destinationChild"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "fetchMore"
|
||||
lineNumber: 320
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "canFetchMore"
|
||||
type: "bool"
|
||||
isMethodConstant: true
|
||||
lineNumber: 321
|
||||
Parameter { name: "parent"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "flags"
|
||||
type: "Qt::ItemFlags"
|
||||
isMethodConstant: true
|
||||
lineNumber: 322
|
||||
Parameter { name: "index"; type: "QModelIndex" }
|
||||
}
|
||||
Method {
|
||||
name: "sort"
|
||||
revision: 1540
|
||||
lineNumber: 323
|
||||
Parameter { name: "column"; type: "int" }
|
||||
Parameter { name: "order"; type: "Qt::SortOrder" }
|
||||
}
|
||||
Method {
|
||||
name: "sort"
|
||||
revision: 1540
|
||||
isCloned: true
|
||||
lineNumber: 323
|
||||
Parameter { name: "column"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "match"
|
||||
type: "QModelIndexList"
|
||||
isMethodConstant: true
|
||||
lineNumber: 325
|
||||
Parameter { name: "start"; type: "QModelIndex" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
Parameter { name: "value"; type: "QVariant" }
|
||||
Parameter { name: "hits"; type: "int" }
|
||||
Parameter { name: "flags"; type: "Qt::MatchFlags" }
|
||||
}
|
||||
Method {
|
||||
name: "match"
|
||||
type: "QModelIndexList"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 325
|
||||
Parameter { name: "start"; type: "QModelIndex" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
Parameter { name: "value"; type: "QVariant" }
|
||||
Parameter { name: "hits"; type: "int" }
|
||||
}
|
||||
Method {
|
||||
name: "match"
|
||||
type: "QModelIndexList"
|
||||
isCloned: true
|
||||
isMethodConstant: true
|
||||
lineNumber: 325
|
||||
Parameter { name: "start"; type: "QModelIndex" }
|
||||
Parameter { name: "role"; type: "int" }
|
||||
Parameter { name: "value"; type: "QVariant" }
|
||||
}
|
||||
}
|
||||
Component {
|
||||
file: "qabstractitemmodel.h"
|
||||
lineNumber: 451
|
||||
name: "QAbstractTableModel"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QAbstractItemModel"
|
||||
}
|
||||
Component {
|
||||
file: "quickstudiocsvtablemodel.h"
|
||||
lineNumber: 58
|
||||
name: "QuickStudioCsvTableModel"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QAbstractTableModel"
|
||||
exports: [
|
||||
"QtQuick.Studio.Utils/CsvTableModel 6.2",
|
||||
"QtQuick.Studio.Utils/CsvTableModel 6.4",
|
||||
"QtQuick.Studio.Utils/CsvTableModel 254.0"
|
||||
]
|
||||
exportMetaObjectRevisions: [1538, 1540, 65024]
|
||||
Property {
|
||||
name: "source"
|
||||
type: "QUrl"
|
||||
read: "source"
|
||||
write: "setSource"
|
||||
notify: "sourceChanged"
|
||||
index: 0
|
||||
lineNumber: 65
|
||||
}
|
||||
Signal {
|
||||
name: "sourceChanged"
|
||||
lineNumber: 81
|
||||
Parameter { name: "url"; type: "QUrl" }
|
||||
}
|
||||
Method { name: "reloadModel"; lineNumber: 84 }
|
||||
Method {
|
||||
name: "checkPathAndReload"
|
||||
lineNumber: 85
|
||||
Parameter { name: "path"; type: "QString" }
|
||||
}
|
||||
}
|
||||
Component {
|
||||
file: "quickstudiofilereader.h"
|
||||
lineNumber: 58
|
||||
name: "QuickStudioFileReader"
|
||||
accessSemantics: "reference"
|
||||
prototype: "QObject"
|
||||
exports: [
|
||||
"QtQuick.Studio.Utils/FileReader 6.2",
|
||||
"QtQuick.Studio.Utils/FileReader 254.0"
|
||||
]
|
||||
exportMetaObjectRevisions: [1538, 65024]
|
||||
Property {
|
||||
name: "filePath"
|
||||
type: "QUrl"
|
||||
read: "filePath"
|
||||
write: "setFilePath"
|
||||
notify: "filePathChanged"
|
||||
index: 0
|
||||
lineNumber: 65
|
||||
}
|
||||
Property {
|
||||
name: "content"
|
||||
type: "QString"
|
||||
read: "content"
|
||||
notify: "contentChanged"
|
||||
index: 1
|
||||
lineNumber: 66
|
||||
isReadonly: true
|
||||
}
|
||||
Signal { name: "filePathChanged"; lineNumber: 77 }
|
||||
Signal { name: "contentChanged"; lineNumber: 78 }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file alias="/qt-project.org/imports/QtQuick/Studio/Utils">/home/parametheus/Projects/QtDesigner/KomplexHub/build/qml/QtQuick/Studio/Utils</file>
|
||||
|
||||
</qresource>
|
||||
</RCC>
|
||||
Binary file not shown.
@@ -0,0 +1,14 @@
|
||||
module QtQuick.Studio.Utils
|
||||
linktarget QuickStudioUtilsplugin
|
||||
optional plugin QuickStudioUtilsplugin
|
||||
classname QtQuick_Studio_UtilsPlugin
|
||||
designersupported
|
||||
typeinfo QuickStudioUtils.qmltypes
|
||||
prefer :/qt-project.org/imports/QtQuick/Studio/Utils/
|
||||
JsonListModel 254.0 JsonListModel.qml
|
||||
JsonListModel 1.0 JsonListModel.qml
|
||||
JsonBackend 254.0 JsonBackend.qml
|
||||
JsonBackend 1.0 JsonBackend.qml
|
||||
ChildListModel 254.0 ChildListModel.qml
|
||||
ChildListModel 1.0 ChildListModel.qml
|
||||
|
||||
Reference in New Issue
Block a user