This commit is contained in:
朱子楚\zhuzi 2024-05-05 15:52:46 +08:00
parent 132ab12c32
commit 0d61e33ef1
3 changed files with 112 additions and 17 deletions

View File

@ -180,5 +180,15 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
Qt${QT_VERSION_MAJOR}::Qml
)
if (${QT_VERSION_MAJOR} LESS_EQUAL 6)
find_program(QML_PLUGIN_DUMP NAMES qmlplugindump)
add_custom_target(Script-Generate-QmlTypes
COMMAND ${QML_PLUGIN_DUMP} -nonrelocatable FluentUI 1.0 ${CMAKE_CURRENT_BINARY_DIR} > ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/imports/FluentUI/plugins.qmltypes
COMMENT "Generate qmltypes........."
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/Qt5/imports/FluentUI/plugins.qmltypes
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
#
install(DIRECTORY ${FLUENTUI_QML_PLUGIN_DIRECTORY} DESTINATION ${CMAKE_INSTALL_PREFIX}/imports)

View File

@ -148,6 +148,12 @@ void FluentUI::registerTypes(const char *uri) const {
qmlRegisterUncreatableMetaObject(FluTimelineType::staticMetaObject, uri, major, minor, "FluTimelineType", "Access to enums & flags only");
qmlRegisterUncreatableMetaObject(FluSheetType::staticMetaObject, uri, major, minor, "FluSheetType", "Access to enums & flags only");
// qmlRegisterSingletonInstance(uri, major, minor, "FluApp", FluApp::getInstance());
// qmlRegisterSingletonInstance(uri, major, minor, "FluColors", FluColors::getInstance());
// qmlRegisterSingletonInstance(uri, major, minor, "FluTheme", FluTheme::getInstance());
// qmlRegisterSingletonInstance(uri, major, minor, "FluTools", FluTools::getInstance());
// qmlRegisterSingletonInstance(uri, major, minor, "FluTextStyle", FluTextStyle::getInstance());
qmlRegisterModule(uri, major, minor);
#endif
}

View File

@ -4,7 +4,7 @@ import QtQuick.tooling 1.2
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable FluentUI 1.0 D:\QtProjects\build-FluentUI-Desktop_Qt_5_15_2_MSVC2019_64bit-Release\src'
// 'qmlplugindump -nonrelocatable FluentUI 1.0 D:/QtProjects/build-FluentUI-Desktop_Qt_5_15_2_MSVC2019_64bit-Release/src'
Module {
dependencies: ["QtQuick 2.0"]
@ -25,6 +25,8 @@ Module {
name: "FluApp"
prototype: "QObject"
exports: ["FluentUI/FluApp 1.0"]
isCreatable: false
isSingleton: true
exportMetaObjectRevisions: [0]
Property { name: "useSystemAppBar"; type: "bool" }
Property { name: "windowIcon"; type: "string" }
@ -39,11 +41,11 @@ Module {
Parameter { name: "target"; type: "QObject"; isPointer: true }
}
Method {
name: "iconDatas"
name: "iconData"
type: "QJsonArray"
Parameter { name: "keyword"; type: "string" }
}
Method { name: "iconDatas"; type: "QJsonArray" }
Method { name: "iconData"; type: "QJsonArray" }
}
Component {
name: "FluCalendarViewType"
@ -78,6 +80,8 @@ Module {
name: "FluColors"
prototype: "QObject"
exports: ["FluentUI/FluColors 1.0"]
isCreatable: false
isSingleton: true
exportMetaObjectRevisions: [0]
Property { name: "Transparent"; type: "QColor" }
Property { name: "Black"; type: "QColor" }
@ -265,11 +269,15 @@ Module {
}
}
Component {
name: "FluTableSortProxyModel"
prototype: "QSortFilterProxyModel"
exports: ["FluentUI/FluTableSortProxyModel 1.0"]
name: "FluTableModel"
prototype: "QAbstractTableModel"
exports: ["FluentUI/FluTableModel 1.0"]
exportMetaObjectRevisions: [0]
Property { name: "model"; type: "QAbstractTableModel"; isPointer: true }
Property { name: "dataSourceSize"; type: "int" }
Property { name: "columnSource"; type: "QList<QVariantMap>" }
Property { name: "rows"; type: "QList<QVariantMap>" }
Property { name: "rowCount"; type: "int"; isReadonly: true }
Method { name: "clear" }
Method {
name: "getRow"
type: "QVariant"
@ -278,6 +286,46 @@ Module {
Method {
name: "setRow"
Parameter { name: "rowIndex"; type: "int" }
Parameter { name: "row"; type: "QVariant" }
}
Method {
name: "insertRow"
Parameter { name: "rowIndex"; type: "int" }
Parameter { name: "row"; type: "QVariant" }
}
Method {
name: "removeRow"
Parameter { name: "rowIndex"; type: "int" }
Parameter { name: "rows"; type: "int" }
}
Method {
name: "removeRow"
Parameter { name: "rowIndex"; type: "int" }
}
Method {
name: "appendRow"
Parameter { name: "row"; type: "QVariant" }
}
}
Component {
name: "FluTableSortProxyModel"
prototype: "QSortFilterProxyModel"
exports: ["FluentUI/FluTableSortProxyModel 1.0"]
exportMetaObjectRevisions: [0]
Property { name: "model"; type: "QVariant" }
Method {
name: "getRow"
type: "QVariant"
Parameter { name: "rowIndex"; type: "int" }
}
Method {
name: "setRow"
Parameter { name: "rowIndex"; type: "int" }
Parameter { name: "val"; type: "QVariant" }
}
Method {
name: "insertRow"
Parameter { name: "rowIndex"; type: "int" }
Parameter { name: "val"; type: "QVariant" }
}
Method {
@ -298,6 +346,8 @@ Module {
name: "FluTextStyle"
prototype: "QObject"
exports: ["FluentUI/FluTextStyle 1.0"]
isCreatable: false
isSingleton: true
exportMetaObjectRevisions: [0]
Property { name: "family"; type: "string" }
Property { name: "Caption"; type: "QFont" }
@ -312,6 +362,8 @@ Module {
name: "FluTheme"
prototype: "QObject"
exports: ["FluentUI/FluTheme 1.0"]
isCreatable: false
isSingleton: true
exportMetaObjectRevisions: [0]
Property { name: "dark"; type: "bool"; isReadonly: true }
Property { name: "accentColor"; type: "FluAccentColor"; isPointer: true }
@ -380,6 +432,8 @@ Module {
name: "FluTools"
prototype: "QObject"
exports: ["FluentUI/FluTools 1.0"]
isCreatable: false
isSingleton: true
exportMetaObjectRevisions: [0]
Method { name: "qtMajor"; type: "int" }
Method { name: "qtMinor"; type: "int" }
@ -499,7 +553,7 @@ Module {
}
Component {
name: "FluTreeModel"
prototype: "QAbstractItemModel"
prototype: "QAbstractTableModel"
exports: ["FluentUI/FluTreeModel 1.0"]
exportMetaObjectRevisions: [0]
Property { name: "dataSourceSize"; type: "int" }
@ -2316,6 +2370,7 @@ Module {
Parameter { name: "selection"; type: "QItemSelection" }
}
}
Component { name: "QAbstractTableModel"; prototype: "QAbstractItemModel" }
Component {
name: "QSortFilterProxyModel"
prototype: "QAbstractProxyModel"
@ -2472,7 +2527,7 @@ Module {
}
Property {
name: "layoutMacosButtons"
type: "FluLoader_QMLTYPE_14"
type: "FluLoader_QMLTYPE_13"
isReadonly: true
isPointer: true
}
@ -2493,6 +2548,7 @@ Module {
Property { name: "items"; type: "QVariant" }
Property { name: "emptyText"; type: "string" }
Property { name: "autoSuggestBoxReplacement"; type: "int" }
Property { name: "textRole"; type: "string" }
Property { name: "filter"; type: "QVariant" }
Signal {
name: "itemClicked"
@ -2695,6 +2751,7 @@ Module {
Property { name: "normalColor"; type: "QColor" }
Property { name: "hoverColor"; type: "QColor" }
Property { name: "disableColor"; type: "QColor" }
Property { name: "textBox"; type: "QQuickTextField"; isReadonly: true; isPointer: true }
Signal {
name: "commit"
Parameter { name: "text"; type: "string" }
@ -3162,15 +3219,15 @@ Module {
defaultProperty: "data"
Property { name: "logo"; type: "QUrl" }
Property { name: "title"; type: "string" }
Property { name: "items"; type: "FluObject_QMLTYPE_172"; isPointer: true }
Property { name: "footerItems"; type: "FluObject_QMLTYPE_172"; isPointer: true }
Property { name: "items"; type: "FluObject_QMLTYPE_173"; isPointer: true }
Property { name: "footerItems"; type: "FluObject_QMLTYPE_173"; isPointer: true }
Property { name: "displayMode"; type: "int" }
Property { name: "autoSuggestBox"; type: "QQmlComponent"; isPointer: true }
Property { name: "actionItem"; type: "QQmlComponent"; isPointer: true }
Property { name: "topPadding"; type: "int" }
Property { name: "pageMode"; type: "int" }
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_33"; isPointer: true }
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_33"; isPointer: true }
Property { name: "navItemRightMenu"; type: "FluMenu_QMLTYPE_49"; isPointer: true }
Property { name: "navItemExpanderRightMenu"; type: "FluMenu_QMLTYPE_49"; isPointer: true }
Property { name: "navCompactWidth"; type: "int" }
Property { name: "navTopMargin"; type: "int" }
Property { name: "cellHeight"; type: "int" }
@ -3246,6 +3303,8 @@ Module {
Property { name: "pageCount"; type: "int" }
Property { name: "__itemPerPage"; type: "int" }
Property { name: "__pageButtonHalf"; type: "int" }
Property { name: "header"; type: "QQmlComponent"; isPointer: true }
Property { name: "footer"; type: "QQmlComponent"; isPointer: true }
Signal {
name: "requestPage"
Parameter { name: "page"; type: "int" }
@ -3470,14 +3529,16 @@ Module {
Property { name: "textColor"; type: "QColor" }
}
Component {
prototype: "QQuickColumnLayout"
prototype: "QQuickItem"
name: "FluentUI/FluRadioButtons 1.0"
exports: ["FluentUI/FluRadioButtons 1.0"]
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "buttons"
Property { name: "currentIndex"; type: "int" }
Property { name: "buttons"; type: "QObject"; isList: true; isReadonly: true }
Property { name: "currentIndex"; type: "int" }
Property { name: "spacing"; type: "int" }
Property { name: "orientation"; type: "int" }
}
Component {
prototype: "QQuickRangeSlider"
@ -3757,6 +3818,7 @@ Module {
exportMetaObjectRevisions: [0]
isComposite: true
defaultProperty: "data"
Property { name: "sourceModel"; type: "QVariant" }
Property { name: "columnSource"; type: "QVariant" }
Property { name: "dataSource"; type: "QVariant" }
Property { name: "borderColor"; type: "QColor" }
@ -3767,7 +3829,6 @@ Module {
Property { name: "rows"; type: "int"; isReadonly: true }
Property { name: "columns"; type: "int"; isReadonly: true }
Property { name: "current"; type: "QVariant"; isReadonly: true }
Property { name: "sourceModel"; type: "QQmlTableModel"; isReadonly: true; isPointer: true }
Method { name: "closeEditor"; type: "QVariant" }
Method { name: "resetPosition"; type: "QVariant" }
Method {
@ -3803,6 +3864,13 @@ Module {
Parameter { name: "rowIndex"; type: "QVariant" }
Parameter { name: "rows"; type: "QVariant" }
}
Method {
name: "insertRow"
type: "QVariant"
Parameter { name: "rowIndex"; type: "QVariant" }
Parameter { name: "obj"; type: "QVariant" }
}
Method { name: "currentIndex"; type: "QVariant" }
Method {
name: "appendRow"
type: "QVariant"
@ -4068,6 +4136,7 @@ Module {
Property { name: "closeListener"; type: "QVariant" }
Property { name: "_windowRegister"; type: "QVariant" }
Property { name: "_route"; type: "string" }
Property { name: "_hideShadow"; type: "bool" }
Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
Signal {
name: "initArgument"
@ -4116,6 +4185,8 @@ Module {
Parameter { name: "data"; type: "QVariant" }
}
Method { name: "showMaximized"; type: "QVariant" }
Method { name: "showMinimized"; type: "QVariant" }
Method { name: "showNormal"; type: "QVariant" }
Method {
name: "showLoading"
type: "QVariant"
@ -4136,7 +4207,12 @@ Module {
isComposite: true
defaultProperty: "contentData"
Property { name: "contentDelegate"; type: "QQmlComponent"; isPointer: true }
Method { name: "showDialog"; type: "QVariant" }
Method {
name: "showDialog"
type: "QVariant"
Parameter { name: "offsetX"; type: "QVariant" }
Parameter { name: "offsetY"; type: "QVariant" }
}
Property { name: "windowIcon"; type: "string" }
Property { name: "launchMode"; type: "int" }
Property { name: "argument"; type: "QVariant" }
@ -4162,6 +4238,7 @@ Module {
Property { name: "closeListener"; type: "QVariant" }
Property { name: "_windowRegister"; type: "QVariant" }
Property { name: "_route"; type: "string" }
Property { name: "_hideShadow"; type: "bool" }
Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
Signal {
name: "initArgument"
@ -4210,6 +4287,8 @@ Module {
Parameter { name: "data"; type: "QVariant" }
}
Method { name: "showMaximized"; type: "QVariant" }
Method { name: "showMinimized"; type: "QVariant" }
Method { name: "showNormal"; type: "QVariant" }
Method {
name: "showLoading"
type: "QVariant"