Hi Antonio
This works for me:
//Start BloomfiltersDemo.cpp
#ifdef QT_QML_DEBUG
#include <QtQuick>
#endif
#include <sailfishapp.h>
#include "bloomfilters.h"
int main(int argc, char *argv[])
{
QGuiApplication *app = SailfishApp::application(argc, argv);
QQuickView *view = SailfishApp::createView();
Bloomfilters * bloomfilters = new Bloomfilters();
view->rootContext()->setContextProperty("bloomfiltersdata", bloomfilters);
view->setSource(SailfishApp::pathTo("qml/BloomFiltersDemo.qml"));
view->showFullScreen();
return app->exec();
}
//End BloomfiltersDemo.cpp
//start bloomfilters.h
#ifndef BLOOMFILTERS_H
#define BLOOMFILTERS_H
#include <QObject>
#include <QDebug>
//#include "svn/bloom-read-only/bloom_filter.hpp"
class Bloomfilters : public QObject
{
Q_OBJECT
public:
Q_INVOKABLE void generateFilterInvokable2() const ;
explicit Bloomfilters(QObject *parent = 0);
void generateFilter() ;
private:
QString _k;
};
#endif // BLOOMFILTERS_H
//end bloomfilters.h
//start bloomfilters.cpp
#include "bloomfilters.h"
Bloomfilters::Bloomfilters(QObject *parent) :
QObject(parent)
{
}
void Bloomfilters::generateFilterInvokable2() const {
qDebug() << "Blooming Magic";
}
//end bloomfilters.cpp
//start FirstPage.qml
import QtQuick 2.0
import Sailfish.Silica 1.0
Page {
id: page
Component.onCompleted: {
bloomfiltersdata.generateFilterInvokable2()
}
}
//end FirstPage.qm
HtH
Chris
Zitat von antonio.cano.go...@ovi.com:
Hi Andrey,
The output is: ReferenceError: bloomfilterdata is not defined
I am calling it from a .js
Some idea about how can I make that this is also defined there.
Thanks!
El Miércoles 26 de febrero de 2014 12:18, Andrey Kozhevnikov
<coderusin...@gmail.com> escribió:
start app in terminal and show output please
On 26.02.2014 17:15, antonio.cano.go...@ovi.com wrote:
Hi Thomas,
I did both modification but the code does not work yet.
Here is the new code:
QGuiApplication *app = SailfishApp::application(argc,
argv);
QQuickView *view = SailfishApp::createView();
Bloomfilters * bloomfilters = new Bloomfilters();
view->rootContext()->setContextProperty("bloomfiltersdata",
bloomfilters);
view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));
view->showFullScreen();
return app->exec();
El Miércoles 26 de febrero de 2014 12:01, Thomas Perl
<th.p...@gmail.com> escribió:
On 2014-02-26 11:48, antonio.cano.go...@ovi.com wrote:
I tried this:
QGuiApplication *app =
SailfishApp::application(argc, argv);
QQuickView *view =
SailfishApp::createView();
Bloomfilters * bloomfilters = new
Bloomfilters();
view->setSource(SailfishApp::pathTo("qml/bloomfilter.qml"));
view->showFullScreen();
view->rootContext()->setContextProperty("Bloomfilters",
bloomfilters);
return app->exec();
But it is not working yet.
Two things:
1. Call setContextProperty() right before before
setSource(), so it's
already available when the QML content is loaded.
2. Use lowercase for context property names
("bloomfilters" instead of
"Bloomfilters"). In some places, QML interprets IDs
starting with an
upper case letter as a type name, and that won't work
then, therefore
stick to lowercase.
HTH :)
Thomas
_______________________________________________
SailfishOS.org Devel mailing list
_______________________________________________
SailfishOS.org Devel mailing list
_______________________________________________
SailfishOS.org Devel mailing list