impl navbar plugin
This commit is contained in:
		| @@ -14,14 +14,28 @@ ApplicationWindow { | |||||||
|  |  | ||||||
|         Rectangle { |         Rectangle { | ||||||
|             id: navbar |             id: navbar | ||||||
|  |             objectName: "navbar" | ||||||
|             visible: false |             visible: false | ||||||
|             Layout.fillWidth: true |             Layout.fillWidth: true | ||||||
|             Layout.preferredHeight: 44 |             Layout.preferredHeight: 44 | ||||||
|  |  | ||||||
|             Text { |             Rectangle { | ||||||
|                 text: "Title" |                 anchors.fill: parent | ||||||
|                 font.pixelSize: 16 |                 color: "transparent" | ||||||
|                 anchors.centerIn: parent |  | ||||||
|  |                 Text { | ||||||
|  |                     anchors.centerIn: parent | ||||||
|  |                     objectName: "title" | ||||||
|  |                     font.pixelSize: 16 | ||||||
|  |                 } | ||||||
|  |  | ||||||
|  |                 Rectangle { | ||||||
|  |                     anchors.centerIn: parent | ||||||
|  |                     objectName: "center" | ||||||
|  |                     color: "red" | ||||||
|  |                     width: childrenRect.width | ||||||
|  |                     height: childrenRect.height | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             RowLayout { |             RowLayout { | ||||||
| @@ -30,16 +44,15 @@ ApplicationWindow { | |||||||
|                     Layout.preferredWidth: 10 |                     Layout.preferredWidth: 10 | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 Image { |                 RowLayout { | ||||||
|                     Layout.preferredWidth: 24 |                     objectName: "left" | ||||||
|                     Layout.preferredHeight: 24 |  | ||||||
|                     id: name |  | ||||||
|                     source: "qrc:/doric/qml/doric_icon_back.png" |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 Text { |                     Image { | ||||||
|                     text: "Left" |                         Layout.preferredWidth: 24 | ||||||
|                     font.pixelSize: 16 |                         Layout.preferredHeight: 24 | ||||||
|  |                         id: name | ||||||
|  |                         source: "qrc:/doric/qml/doric_icon_back.png" | ||||||
|  |                     } | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 MouseArea { |                 MouseArea { | ||||||
| @@ -55,9 +68,8 @@ ApplicationWindow { | |||||||
|                 anchors.right: parent.right |                 anchors.right: parent.right | ||||||
|                 anchors.verticalCenter: parent.verticalCenter |                 anchors.verticalCenter: parent.verticalCenter | ||||||
|  |  | ||||||
|                 Text { |                 RowLayout { | ||||||
|                     text: "Right" |                     objectName: "right" | ||||||
|                     font.pixelSize: 16 |  | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 Rectangle { |                 Rectangle { | ||||||
| @@ -88,7 +100,7 @@ ApplicationWindow { | |||||||
|                     ListView { |                     ListView { | ||||||
|                         id: list |                         id: list | ||||||
|                         width: content.width |                         width: content.width | ||||||
|                         model: 23 |                         model: 24 | ||||||
|                         boundsBehavior: Flickable.StopAtBounds |                         boundsBehavior: Flickable.StopAtBounds | ||||||
|  |  | ||||||
|                         function getSource(index) : string { |                         function getSource(index) : string { | ||||||
| @@ -118,26 +130,28 @@ ApplicationWindow { | |||||||
|                                 case 11: |                                 case 11: | ||||||
|                                     return "ModularDemo.js" |                                     return "ModularDemo.js" | ||||||
|                                 case 12: |                                 case 12: | ||||||
|                                     return "NavigatorDemo.js" |                                     return "NavBarDemo.js" | ||||||
|                                 case 13: |                                 case 13: | ||||||
|                                     return "NetworkDemo.js" |                                     return "NavigatorDemo.js" | ||||||
|                                 case 14: |                                 case 14: | ||||||
|                                     return "NotificationDemo.js" |                                     return "NetworkDemo.js" | ||||||
|                                 case 15: |                                 case 15: | ||||||
|                                     return "PopoverDemo.js" |                                     return "NotificationDemo.js" | ||||||
|                                 case 16: |                                 case 16: | ||||||
|                                     return "ScrollerDemo.js" |                                     return "PopoverDemo.js" | ||||||
|                                 case 17: |                                 case 17: | ||||||
|                                     return "SimpleDemo.js" |                                     return "ScrollerDemo.js" | ||||||
|                                 case 18: |                                 case 18: | ||||||
|                                     return "SliderDemo.js" |                                     return "SimpleDemo.js" | ||||||
|                                 case 19: |                                 case 19: | ||||||
|                                     return "Snake.js" |                                     return "SliderDemo.js" | ||||||
|                                 case 20: |                                 case 20: | ||||||
|                                     return "StorageDemo.js" |                                     return "Snake.js" | ||||||
|                                 case 21: |                                 case 21: | ||||||
|                                     return "SwitchDemo.js" |                                     return "StorageDemo.js" | ||||||
|                                 case 22: |                                 case 22: | ||||||
|  |                                     return "SwitchDemo.js" | ||||||
|  |                                 case 23: | ||||||
|                                     return "TextDemo.js" |                                     return "TextDemo.js" | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ | |||||||
|         <file alias="LayoutTestDemo.js">../../../doric-demo/bundle/src/LayoutTestDemo.js</file> |         <file alias="LayoutTestDemo.js">../../../doric-demo/bundle/src/LayoutTestDemo.js</file> | ||||||
|         <file alias="ModalDemo.js">../../../doric-demo/bundle/src/ModalDemo.js</file> |         <file alias="ModalDemo.js">../../../doric-demo/bundle/src/ModalDemo.js</file> | ||||||
|         <file alias="ModularDemo.js">../../../doric-demo/bundle/src/ModularDemo.js</file> |         <file alias="ModularDemo.js">../../../doric-demo/bundle/src/ModularDemo.js</file> | ||||||
|  |         <file alias="NavBarDemo.js">../../../doric-demo/bundle/src/NavBarDemo.js</file> | ||||||
|         <file alias="NavigatorDemo.js">../../../doric-demo/bundle/src/NavigatorDemo.js</file> |         <file alias="NavigatorDemo.js">../../../doric-demo/bundle/src/NavigatorDemo.js</file> | ||||||
|         <file alias="NetworkDemo.js">../../../doric-demo/bundle/src/NetworkDemo.js</file> |         <file alias="NetworkDemo.js">../../../doric-demo/bundle/src/NetworkDemo.js</file> | ||||||
|         <file alias="NotificationDemo.js">../../../doric-demo/bundle/src/NotificationDemo.js</file> |         <file alias="NotificationDemo.js">../../../doric-demo/bundle/src/NotificationDemo.js</file> | ||||||
|   | |||||||
| @@ -2,6 +2,7 @@ | |||||||
| #include "DoricLibrary.h" | #include "DoricLibrary.h" | ||||||
|  |  | ||||||
| #include "plugin/DoricModalPlugin.h" | #include "plugin/DoricModalPlugin.h" | ||||||
|  | #include "plugin/DoricNavBarPlugin.h" | ||||||
| #include "plugin/DoricNavigatorPlugin.h" | #include "plugin/DoricNavigatorPlugin.h" | ||||||
| #include "plugin/DoricNetworkPlugin.h" | #include "plugin/DoricNetworkPlugin.h" | ||||||
| #include "plugin/DoricNotificationPlugin.h" | #include "plugin/DoricNotificationPlugin.h" | ||||||
| @@ -33,6 +34,7 @@ DoricRegistry::DoricRegistry() { | |||||||
|   registerNativePlugin<DoricStoragePlugin>("storage"); |   registerNativePlugin<DoricStoragePlugin>("storage"); | ||||||
|   registerNativePlugin<DoricNotificationPlugin>("notification"); |   registerNativePlugin<DoricNotificationPlugin>("notification"); | ||||||
|   registerNativePlugin<DoricNavigatorPlugin>("navigator"); |   registerNativePlugin<DoricNavigatorPlugin>("navigator"); | ||||||
|  |   registerNativePlugin<DoricNavBarPlugin>("navbar"); | ||||||
|  |  | ||||||
|   registerViewNode<DoricRootNode>("Root"); |   registerViewNode<DoricRootNode>("Root"); | ||||||
|   registerViewNode<DoricStackNode>("Stack"); |   registerViewNode<DoricStackNode>("Stack"); | ||||||
|   | |||||||
| @@ -39,6 +39,7 @@ SOURCES += \ | |||||||
|         loader/DoricAssetJSLoader.cpp \ |         loader/DoricAssetJSLoader.cpp \ | ||||||
|         loader/DoricJSLoaderManager.cpp \ |         loader/DoricJSLoaderManager.cpp \ | ||||||
|         plugin/DoricModalPlugin.cpp \ |         plugin/DoricModalPlugin.cpp \ | ||||||
|  |         plugin/DoricNavBarPlugin.cpp \ | ||||||
|         plugin/DoricNavigatorPlugin.cpp \ |         plugin/DoricNavigatorPlugin.cpp \ | ||||||
|         plugin/DoricNetworkPlugin.cpp \ |         plugin/DoricNetworkPlugin.cpp \ | ||||||
|         plugin/DoricNotificationPlugin.cpp \ |         plugin/DoricNotificationPlugin.cpp \ | ||||||
| @@ -131,6 +132,7 @@ HEADERS += \ | |||||||
|     loader/DoricJSLoaderManager.h \ |     loader/DoricJSLoaderManager.h \ | ||||||
|     plugin/DoricModalPlugin.h \ |     plugin/DoricModalPlugin.h \ | ||||||
|     plugin/DoricNativePlugin.h \ |     plugin/DoricNativePlugin.h \ | ||||||
|  |     plugin/DoricNavBarPlugin.h \ | ||||||
|     plugin/DoricNavigatorPlugin.h \ |     plugin/DoricNavigatorPlugin.h \ | ||||||
|     plugin/DoricNetworkPlugin.h \ |     plugin/DoricNetworkPlugin.h \ | ||||||
|     plugin/DoricNotificationPlugin.h \ |     plugin/DoricNotificationPlugin.h \ | ||||||
|   | |||||||
							
								
								
									
										259
									
								
								doric-Qt/example/doric/plugin/DoricNavBarPlugin.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										259
									
								
								doric-Qt/example/doric/plugin/DoricNavBarPlugin.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,259 @@ | |||||||
|  | #include "DoricNavBarPlugin.h" | ||||||
|  |  | ||||||
|  | #include "engine/DoricPromise.h" | ||||||
|  | #include "shader/DoricViewNode.h" | ||||||
|  | #include "utils/DoricUtils.h" | ||||||
|  |  | ||||||
|  | #include <QJsonDocument> | ||||||
|  | #include <QJsonObject> | ||||||
|  | #include <QQmlComponent> | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::isHidden(QString jsValueString, QString callbackId) { | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |  | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           bool hidden = !(navbar->isVisible()); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append(hidden); | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setHidden(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |   bool hidden = jsValue["hidden"].toBool(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, hidden] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           navbar->setVisible(!hidden); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setTitle(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |   QString titleString = jsValue["title"].toString(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, titleString] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           QQuickItem *title = navbar->findChild<QQuickItem *>("title"); | ||||||
|  |           title->setProperty("text", titleString); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setBgColor(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |   QString bgColor = DoricUtils::doricColor(jsValue["color"].toInt()).name(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, bgColor] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           navbar->setProperty("color", bgColor); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setLeft(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, jsValue] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           QString viewId = jsValue["id"].toString(); | ||||||
|  |           QString type = jsValue["type"].toString(); | ||||||
|  |  | ||||||
|  |           DoricViewNode *viewNode = getContext()->targetViewNode(viewId); | ||||||
|  |           if (viewNode == nullptr) { | ||||||
|  |             viewNode = DoricViewNode::create(getContext(), type); | ||||||
|  |             viewNode->setId(viewId); | ||||||
|  |             viewNode->init(nullptr); | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           viewNode->blend(jsValue["props"]); | ||||||
|  |  | ||||||
|  |           QQuickItem *left = navbar->findChild<QQuickItem *>("left"); | ||||||
|  |           foreach (QQuickItem *child, left->childItems()) { | ||||||
|  |             child->setParentItem(nullptr); | ||||||
|  |             child->deleteLater(); | ||||||
|  |           } | ||||||
|  |           viewNode->getNodeView()->setParentItem(left); | ||||||
|  |  | ||||||
|  |           getContext()->addHeadNode(TYPE_LEFT, viewNode); | ||||||
|  |  | ||||||
|  |           DoricLayouts *layout = (DoricLayouts *)(viewNode->getNodeView() | ||||||
|  |                                                       ->property("doricLayout") | ||||||
|  |                                                       .toULongLong()); | ||||||
|  |           layout->apply(QSizeF(navbar->width(), navbar->height())); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setRight(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, jsValue] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           QString viewId = jsValue["id"].toString(); | ||||||
|  |           QString type = jsValue["type"].toString(); | ||||||
|  |  | ||||||
|  |           DoricViewNode *viewNode = getContext()->targetViewNode(viewId); | ||||||
|  |           if (viewNode == nullptr) { | ||||||
|  |             viewNode = DoricViewNode::create(getContext(), type); | ||||||
|  |             viewNode->setId(viewId); | ||||||
|  |             viewNode->init(nullptr); | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           viewNode->blend(jsValue["props"]); | ||||||
|  |  | ||||||
|  |           QQuickItem *right = navbar->findChild<QQuickItem *>("right"); | ||||||
|  |           foreach (QQuickItem *child, right->childItems()) { | ||||||
|  |             child->setParentItem(nullptr); | ||||||
|  |             child->deleteLater(); | ||||||
|  |           } | ||||||
|  |           viewNode->getNodeView()->setParentItem(right); | ||||||
|  |  | ||||||
|  |           getContext()->addHeadNode(TYPE_RIGHT, viewNode); | ||||||
|  |  | ||||||
|  |           DoricLayouts *layout = (DoricLayouts *)(viewNode->getNodeView() | ||||||
|  |                                                       ->property("doricLayout") | ||||||
|  |                                                       .toULongLong()); | ||||||
|  |           layout->apply(QSizeF(navbar->width(), navbar->height())); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void DoricNavBarPlugin::setCenter(QString jsValueString, QString callbackId) { | ||||||
|  |   QJsonDocument document = QJsonDocument::fromJson(jsValueString.toUtf8()); | ||||||
|  |   QJsonValue jsValue = document.object(); | ||||||
|  |  | ||||||
|  |   getContext()->getDriver()->asyncCall( | ||||||
|  |       [this, callbackId, jsValue] { | ||||||
|  |         QQuickItem *navbar = getContext() | ||||||
|  |                                  ->getQmlEngine() | ||||||
|  |                                  ->rootObjects() | ||||||
|  |                                  .at(0) | ||||||
|  |                                  ->findChild<QQuickItem *>("navbar"); | ||||||
|  |         if (navbar != nullptr) { | ||||||
|  |           QString viewId = jsValue["id"].toString(); | ||||||
|  |           QString type = jsValue["type"].toString(); | ||||||
|  |  | ||||||
|  |           DoricViewNode *viewNode = getContext()->targetViewNode(viewId); | ||||||
|  |           if (viewNode == nullptr) { | ||||||
|  |             viewNode = DoricViewNode::create(getContext(), type); | ||||||
|  |             viewNode->setId(viewId); | ||||||
|  |             viewNode->init(nullptr); | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           viewNode->blend(jsValue["props"]); | ||||||
|  |  | ||||||
|  |           QQuickItem *center = navbar->findChild<QQuickItem *>("center"); | ||||||
|  |           foreach (QQuickItem *child, center->childItems()) { | ||||||
|  |             child->setParentItem(nullptr); | ||||||
|  |             child->deleteLater(); | ||||||
|  |           } | ||||||
|  |           viewNode->getNodeView()->setParentItem(center); | ||||||
|  |  | ||||||
|  |           getContext()->addHeadNode(TYPE_CENTER, viewNode); | ||||||
|  |  | ||||||
|  |           DoricLayouts *layout = (DoricLayouts *)(viewNode->getNodeView() | ||||||
|  |                                                       ->property("doricLayout") | ||||||
|  |                                                       .toULongLong()); | ||||||
|  |           layout->apply(QSizeF(navbar->width(), navbar->height())); | ||||||
|  |  | ||||||
|  |           QVariantList args; | ||||||
|  |           DoricPromise::resolve(getContext(), callbackId, args); | ||||||
|  |         } else { | ||||||
|  |           QVariantList args; | ||||||
|  |           args.append("Not implement NavBar"); | ||||||
|  |           DoricPromise::reject(getContext(), callbackId, args); | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       DoricThreadMode::UI); | ||||||
|  | } | ||||||
							
								
								
									
										34
									
								
								doric-Qt/example/doric/plugin/DoricNavBarPlugin.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								doric-Qt/example/doric/plugin/DoricNavBarPlugin.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | |||||||
|  | #ifndef DORICNAVBARPLUGIN_H | ||||||
|  | #define DORICNAVBARPLUGIN_H | ||||||
|  |  | ||||||
|  | #include <QQuickItem> | ||||||
|  |  | ||||||
|  | #include "DoricExport.h" | ||||||
|  |  | ||||||
|  | #include "DoricNativePlugin.h" | ||||||
|  |  | ||||||
|  | static QString TYPE_LEFT = "navbar_left"; | ||||||
|  | static QString TYPE_RIGHT = "navbar_right"; | ||||||
|  | static QString TYPE_CENTER = "navbar_center"; | ||||||
|  |  | ||||||
|  | class DORIC_EXPORT DoricNavBarPlugin : public DoricNativePlugin { | ||||||
|  |   Q_OBJECT | ||||||
|  | public: | ||||||
|  |   using DoricNativePlugin::DoricNativePlugin; | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void isHidden(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setHidden(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setTitle(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setBgColor(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setLeft(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setRight(QString jsValueString, QString callbackId); | ||||||
|  |  | ||||||
|  |   Q_INVOKABLE void setCenter(QString jsValueString, QString callbackId); | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif // DORICNAVBARPLUGIN_H | ||||||
		Reference in New Issue
	
	Block a user