Hello Mahmoud ,Mansour
The Pray times app was as startup of developping real api contact between Ring and QML,
and the source code for we used Ring as Backend And QML as frontend,
Now I'm use ringQML in real apps to be strong and dependable in developping apps,
Thats why I still did not released the library…
More features are added every day…
But I will share the source code of the library in the next days,
important note tgat RingQML is comes without loading the guilib or ringqt to support custom built apps with cpp Qt/Ring developers ,
"Do you still have the plan to share the app source code? so we can highlight it in Ring Website :D "--> of course, but when I package the library and share it with samples in the group …
this library will make. Ring Developpers more productivity to developing apps for mobile and web assembly, and other platforms …
important note that because of we using customized loadContent functions we provided some beautiful features inclding:
- no need to build libssl or cpp internet libraries, so it load the code.
- also we sace the code inside Ring program memory.
- also the QML code always in safe place in windows…while when build ringqt apps as exe in documentation we do not need to use qrc files…
also we have flexible api to call QML functions from Ring(with params)…and Ring Functions/events from QML (with params)
"Waiting for an explanation how QML and Ring were linked in your library."-->
QML components is QUICK ITEMS->can be accessed using cpp.
we are using CPP as bridge or road to interact with QML
so:
RING->CPP->QML or
QML->CPP->RING.
supported arguments types from Ring to QML: String/number/lists [normal list | hash table]/QtObjects
e.g we have defined a class that inherent from Qt classes:
class mywin from QWidget
mywin class now is RingQt object and can be shared to QML
Ring List -> QVariantList -> Js Array,
Ring Hash table-> QVariantMap ->Js Object
e.g alist =[
:id =0,
:name="Mohannad"
]
oQML.callFunc(cQMLFunc,aListOfArguments)
oQML.callFunc("myQMLFunct",[alist] )
in QML:
function myQMLFunct(p1){
console.log("Hello",
p1.name)
}
simple but tricky, this the main concept …
what is it needs now,after used in Scientific research applications for architecture…
it needs some improvements like instead of using callFunc to call QML function we will use oQml.root.funcName(funcParams)…
Best wishes …
Mohannad