void AlternatingListItem::setup(const QString& qmlFile) { QmlDocument* document = QmlDocument::create(qmlFile); QDeclarativeContext *derivedContext = new QDeclarativeContext( document->documentContext(), this); derivedContext->setContextProperty("_item", this); setRoot(document->createRootObject<Control>(derivedContext)); }
void QDeclarativeLoaderPrivate::_q_sourceLoaded() { Q_Q(QDeclarativeLoader); if (component) { if (!component->errors().isEmpty()) { QDeclarativeEnginePrivate::warning(qmlEngine(q), component->errors()); emit q->sourceChanged(); emit q->statusChanged(); emit q->progressChanged(); return; } QDeclarativeContext *creationContext = component->creationContext(); if (!creationContext) creationContext = qmlContext(q); QDeclarativeContext *ctxt = new QDeclarativeContext(creationContext); ctxt->setContextObject(q); QDeclarativeGuard<QDeclarativeComponent> c = component; QObject *obj = component->beginCreate(ctxt); if (component != c) { // component->create could trigger a change in source that causes // component to be set to something else. In that case we just // need to cleanup. if (c) c->completeCreate(); delete obj; delete ctxt; return; } if (obj) { item = qobject_cast<QGraphicsObject *>(obj); if (item) { QDeclarative_setParent_noEvent(ctxt, obj); QDeclarative_setParent_noEvent(item, q); item->setParentItem(q); // item->setFocus(true); initResize(); } else { qmlInfo(q) << QDeclarativeLoader::tr("Loader does not support loading non-visual elements."); delete obj; delete ctxt; } } else { if (!component->errors().isEmpty()) QDeclarativeEnginePrivate::warning(qmlEngine(q), component->errors()); delete obj; delete ctxt; source = QUrl(); } component->completeCreate(); emit q->sourceChanged(); emit q->statusChanged(); emit q->progressChanged(); emit q->itemChanged(); emit q->loaded(); } }
//! [3] void Loader::sourceLoaded() { if (m_component) { // Sanity check /** * If an error occured during loading, just emit the change notification * signals, the 'status' property will reflect that error state. */ if (!m_component->errors().isEmpty()) { emit statusChanged(); emit progressChanged(); emit sourceChanged(); emit controlChanged(); return; } // Get the declarative context of the declarative component QDeclarativeContext *creationContext = m_component->creationContext(); // If it has not been set, use the declarative context of the Loader element as fallback if (!creationContext) creationContext = QDeclarativeEngine::contextForObject(this); // Create a new child context that will be used as declarative context for the Cascades object QDeclarativeContext *ctxt = new QDeclarativeContext(creationContext); ctxt->setContextObject(this); // Load the Cascades object QObject *object = m_component->create(ctxt); if (object) { m_control = qobject_cast<bb::cascades::Control*>(object); if (m_control) { // If the loaded Cascades object is a Control, we use it as root element for the Loader and make it visible setRoot(m_control); setVisible(true); } else { // Otherwise report an error qmlInfo(this) << tr("Loader does not support loading non-visual elements."); delete object; delete ctxt; } } else { // Cleanup if the loading failed delete object; delete ctxt; m_source = QUrl(); } emit sourceChanged(); emit statusChanged(); emit progressChanged(); emit controlChanged(); emit loaded(); } }
void ProjectWelcomePage::facilitateQml(QDeclarativeEngine *engine) { ProjectExplorerPlugin *pePlugin = ProjectExplorer::ProjectExplorerPlugin::instance(); m_sessionModel = new SessionModel(pePlugin->session(), this); m_projectModel = new ProjectModel(pePlugin, this); QDeclarativeContext *ctx = engine->rootContext(); ctx->setContextProperty("sessionList", m_sessionModel); ctx->setContextProperty("projectList", m_projectModel); ctx->setContextProperty("projectWelcomePage", this); }
void MeeTv::_initViewer() { QDeclarativeContext *context = m_viewer.rootContext(); context->setContextProperty("dvrEntriesModel", m_dvrEntriesModel); context->setContextProperty("htsp", m_htsp); context->setContextProperty("meetv", this); context->setContextProperty("settings", m_settings); context->setContextProperty("tagModel", m_tagModel); m_viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); m_viewer.setMainQmlFile(QLatin1String("qml/MeeTV/main.qml")); }
Q_DECL_EXPORT int main(int argc, char *argv[]) { QApplication *app; #ifdef QT_SIMULATOR app = new QApplication(argc, argv); #else app = MDeclarativeCache::qApplication(argc, argv); #endif app->setApplicationName("Butaca"); app->setOrganizationDomain("com.simonpena"); app->setOrganizationName("simonpena"); // Assume that strings in source files are UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8")); QString locale(QLocale::system().name()); QTranslator translator; if (translator.load("l10n/butaca." + locale, ":/")) { app->installTranslator(&translator); } else { translator.load("l10n/butaca.en.qm", ":/"); app->installTranslator(&translator); } QDeclarativeView *view; #ifdef QT_SIMULATOR view = new QDeclarativeView(); #else view = MDeclarativeCache::qDeclarativeView(); #endif view->engine()->setOfflineStoragePath( QDesktopServices::storageLocation(QDesktopServices::DataLocation)); QDeclarativeContext *context = view->rootContext(); // The Movie Database uses "-" as the divider between language and country code context->setContextProperty("appLocale", locale.left(locale.indexOf("_"))); Controller *controller = new Controller(context); view->engine()->setNetworkAccessManagerFactory(new CustomNetworkAccessManagerFactory); view->setSource(QUrl("qrc:/qml/main.qml")); view->showFullScreen(); int result = app->exec(); delete controller; delete view; delete app; return result; }
static void alternative() { // Alternatively, if we don't actually want to display main.qml: //![1] QDeclarativeEngine engine; QDeclarativeContext *windowContext = new QDeclarativeContext(engine.rootContext()); windowContext->setContextProperty("backgroundColor", QColor(Qt::yellow)); QDeclarativeComponent component(&engine, "main.qml"); QObject *window = component.create(windowContext); //![1] }
void tst_QDeclarativeDebug::initTestCase() { qRegisterMetaType<QDeclarativeDebugWatch::State>(); QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 3768..."); qputenv("QML_DEBUG_SERVER_PORT", "3768"); m_engine = new QDeclarativeEngine(this); QList<QByteArray> qml; qml << "import Qt 4.7\n" "Item {" "width: 10; height: 20; scale: blueRect.scale;" "Rectangle { id: blueRect; width: 500; height: 600; color: \"blue\"; }" "Text { color: blueRect.color; }" "MouseArea {" "onEntered: { console.log('hello') }" "}" "}"; // add second component to test multiple root contexts qml << "import Qt 4.7\n" "Item {}"; // and a third to test methods qml << "import Qt 4.7\n" "Item {" "function myMethodNoArgs() { return 3; }\n" "function myMethod(a) { return a + 9; }\n" "function myMethodIndirect() { myMethod(3); }\n" "}"; for (int i=0; i<qml.count(); i++) { QDeclarativeComponent component(m_engine); component.setData(qml[i], QUrl::fromLocalFile("")); Q_ASSERT(component.isReady()); // fails if bad syntax m_components << qobject_cast<QDeclarativeItem*>(component.create()); } m_rootItem = qobject_cast<QDeclarativeItem*>(m_components.first()); // add an extra context to test for multiple contexts QDeclarativeContext *context = new QDeclarativeContext(m_engine->rootContext(), this); context->setObjectName("tst_QDeclarativeDebug_childContext"); m_conn = new QDeclarativeDebugConnection(this); m_conn->connectToHost("127.0.0.1", 3768); QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Connection established"); bool ok = m_conn->waitForConnected(); Q_ASSERT(ok); QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient()); m_dbg = new QDeclarativeEngineDebug(m_conn, this); }
void ProcessMethodView::OnCreate( const adportable::Configuration& config ) { *pConfig_ = config; std::wstring xml = config.xml(); pugi::xml_document dom; pugi::xml_parse_result result; if ( ! ( result = dom.load( pugi::as_utf8( xml ).c_str() ) ) ) return; qmlRegisterType< CentroidMethodModel >( "com.scienceliaison.qml", 1, 0, "CentroidModel" ); // qmlRegisterType< IsotopeMethodModel > ( "com.scienceliaison.qml", 1, 0, "IsotopeModel" ); qmlRegisterType< ElementalCompModel > ( "com.scienceliaison.qml", 1, 0, "ElementalCompModel" ); // qmlRegisterType< MSCalibrateModel > ( "com.scienceliaison.qml", 1, 0, "MSCalibrateModel" ); QDeclarativeContext * ctx = rootContext(); ctx->setContextProperty( "configXML", qtwrapper::qstring::copy( xml ) ); ctx->setContextProperty( "centroidModel", pCentroidModel_.get() ); // ctx->setContextProperty( "isotopeModel", pIsotopeModel_.get() ); ctx->setContextProperty( "elementalCompModel", pElementalCompModel_.get() ); // ctx->setContextProperty( "msCalibrateModel", pMSCalibrateModel_.get() ); setResizeMode( QDeclarativeView::SizeRootObjectToView ); #if defined DEBUG && 0 do { std::ofstream of( "/Users/thondo/src/qtplatz/config.xml" ); dom.save( of ); } while(0); #endif QString qmlpath; #ifdef Q_OS_MAC qmlpath = QCoreApplication::applicationDirPath() + "/../Resources"; #else qmlpath = QCoreApplication::applicationDirPath() + "/../share"; #endif // engine()->addImportPath( QCoreApplication::applicationDirPath() + "/../imports" ); // QML_IMPORT_PATH pugi::xpath_node node = dom.select_single_node( "//Component[@type='qml']" ); if ( node ) { QString source = qmlpath + node.node().attribute( "QUrl" ).value(); setSource( QUrl::fromLocalFile( source ) ); QList< QDeclarativeError > errors = this->errors(); for ( QList< QDeclarativeError >::const_iterator it = errors.begin(); it != errors.end(); ++it ) QMessageBox::warning( this, "QDeclarativeError", it->toString() + " file: " + source ); } }
QTM_USE_NAMESPACE Q_DECL_EXPORT int main(int argc, char *argv[]) { QCoreApplication::setOrganizationName("Synchroma"); QCoreApplication::setOrganizationDomain("synchroma.com.au"); QCoreApplication::setApplicationName("Arca"); QScopedPointer<QApplication> app(createApplication(argc, argv)); QmlApplicationViewer viewer; QDeclarativeEngine *engine = viewer.engine(); QDeclarativeContext *context = engine->rootContext(); DBSession session; session.setConsumerKey(DROPBOX_APP_KEY); session.setConsumerSecret(DROPBOX_APP_SECRET); // Have the REST client visible in the QML DBRestClient restClient(session); context->setContextProperty("restClient", &restClient); // TESTING context->setContextProperty("param", QString(argv[1])); // TESTING qDebug() << "temp dir: " << QDir::tempPath(); qDebug() << "home dir: " << QDir::homePath(); qDebug() << "current dir: " << QDir::currentPath(); QServiceManager serviceManager(QService::SystemScope); QStringList stringList = serviceManager.findServices(); foreach (QString interfaceName, stringList) qDebug() << "service interface: " << interfaceName; QList<QServiceInterfaceDescriptor> descriptors = serviceManager.findInterfaces(); for (int i=0; i<descriptors.count(); i++) { QString service = descriptors[i].serviceName(); if (descriptors[i].scope() == QService::SystemScope) service += " (system)"; qDebug() << "service: " << service; } viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); viewer.setMainQmlFile(QLatin1String("qml/arca/main.qml")); viewer.showExpanded(); return app->exec(); }
IconView::IconView(QAbstractItemModel *model, QWidget *parent) : QFrame(parent), m_model(model) { QDeclarativeView *view = new QDeclarativeView(this); QDeclarativeContext *ctxt = view->rootContext(); ctxt->setContextProperty("orderModel", m_model); ctxt->setContextProperty("sizeData", this); view->setSource(QUrl("qrc:IconView.qml")); QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->setMargin(0); mainLayout->addWidget(view); setLayout(mainLayout); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); // Load settings QSettings settings; settings.setValue("dbtype", "QSQLITE"); settings.setValue("dbname", "/tmp/testdb.sqlite3"); // Translator QString translationfile = QString("qtmc_nl"); QTranslator translator; if (!translator.load(translationfile) && !translator.load(translationfile, app.applicationDirPath() + "../lib/qtmc/translations/")) { qWarning() << "Failed to load translation file"; } app.installTranslator(&translator); // Open database QSqlDatabase db = QSqlDatabase::addDatabase(settings.value("dbtype").toString()); db.setDatabaseName(settings.value("dbname").toString()); //db.setDatabaseName(":memory:"); // Check if database is open if (!db.open()) { qWarning() << app.tr("Cannot open database") << settings.value("dbname"); return 1; } // Create mediadb MediaDB *mediadb = new MediaDB(); qDebug() << app.tr("QtMC version") << QString(QTMC_VERSION); qDebug() << app.tr("MediaDB version") << mediadb->version(); // Create qml-view and connect quit-signal QDeclarativeView *view = new QDeclarativeView; QObject::connect(view->engine(), SIGNAL(quit()), view, SLOT(close())); // Expose c++ object to qml QDeclarativeContext *ctxt = view->rootContext(); ctxt->setContextProperty("MediaDB", mediadb); ctxt->setContextProperty("Settings", &settings); // Run view view->setSource(QUrl(app.applicationDirPath() + "/../lib/qtmc/qml/QtMC.qml")); view->show(); //view->showFullScreen(); return app.exec(); }
void PropertyEditor::NodeType::setup(const QmlObjectNode &fxObjectNode, const QString &stateName, const QUrl &qmlSpecificsFile, PropertyEditor *propertyEditor) { if (!fxObjectNode.isValid()) { return; } QDeclarativeContext *ctxt = m_view->rootContext(); if (fxObjectNode.isValid()) { foreach (const QString &propertyName, fxObjectNode.modelNode().metaInfo().propertyNames()) createPropertyEditorValue(fxObjectNode, propertyName, fxObjectNode.instanceValue(propertyName), &m_backendValuesPropertyMap, propertyEditor); // className PropertyEditorValue *valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("className"))); if (!valueObject) valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject->setName("className"); valueObject->setModelNode(fxObjectNode.modelNode()); valueObject->setValue(fxObjectNode.modelNode().simplifiedTypeName()); QObject::connect(valueObject, SIGNAL(valueChanged(QString, const QVariant&)), &m_backendValuesPropertyMap, SIGNAL(valueChanged(QString, const QVariant&))); m_backendValuesPropertyMap.insert("className", QVariant::fromValue(valueObject)); // id valueObject = qobject_cast<PropertyEditorValue*>(QDeclarativeMetaType::toQObject(m_backendValuesPropertyMap.value("id"))); if (!valueObject) valueObject = new PropertyEditorValue(&m_backendValuesPropertyMap); valueObject->setName("id"); valueObject->setValue(fxObjectNode.id()); QObject::connect(valueObject, SIGNAL(valueChanged(QString, const QVariant&)), &m_backendValuesPropertyMap, SIGNAL(valueChanged(QString, const QVariant&))); m_backendValuesPropertyMap.insert("id", QVariant::fromValue(valueObject)); // anchors m_backendAnchorBinding.setup(QmlItemNode(fxObjectNode.modelNode())); ctxt->setContextProperty("anchorBackend", &m_backendAnchorBinding); ctxt->setContextProperty("transaction", m_propertyEditorTransaction.data()); m_contextObject->setSpecificsUrl(qmlSpecificsFile); m_contextObject->setStateName(stateName); QApplication::processEvents(); if (!fxObjectNode.isValid()) return; ctxt->setContextProperty("propertyCount", QVariant(fxObjectNode.modelNode().properties().count())); m_contextObject->setIsBaseState(fxObjectNode.isInBaseState()); m_contextObject->setSelectionChanged(false); m_contextObject->setSelectionChanged(false); } else {
Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QmlApplicationViewer viewer; QDeclarativeContext *ctxt = viewer.rootContext(); ctxt->setContextProperty("KipptConnector", new KipptConnector()); viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); viewer.setMainQmlFile(QLatin1String("qml/klippr/main.qml")); viewer.showExpanded(); return app->exec(); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); QDeclarativeView view; QDeclarativeContext *context = view.rootContext(); context->setContextProperty("backgroundColor", QColor(Qt::yellow)); view.setSource(QUrl::fromLocalFile("main.qml")); view.show(); return app.exec(); }
QGraphicsItem *FolderPlugin::item() { if (mFrameParentitem == NULL) { mFrameParentitem = new PlexyDesk::QmlDesktopWidget(QRectF(0.0, 0.0, 400.0, 400.0)); QDeclarativeContext *context = mFrameParentitem->engine()->rootContext(); const QString qmlData = mThemePack->hiddenQmlWidgets(QLatin1String("folderview")); qDebug() << Q_FUNC_INFO << qmlData; context->setContextProperty("DirSource", this); mFrameParentitem->setSourceUrl (QUrl(qmlData)); } return mFrameParentitem; }
Q_DECL_EXPORT int main(int argc, char *argv[]) { QScopedPointer<QApplication> app(createApplication(argc, argv)); QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create()); shortcutMaker sm; QDeclarativeContext *ctxt = viewer->rootContext(); ctxt->setContextProperty("sm", &sm); viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto); viewer->setMainQmlFile(QLatin1String("qml/quickApp/main.qml")); viewer->showExpanded(); return app->exec(); }
PropertyEditor::NodeType::NodeType(PropertyEditor *propertyEditor) : m_view(new DeclarativeWidgetView), m_propertyEditorTransaction(new PropertyEditorTransaction(propertyEditor)), m_dummyPropertyEditorValue(new PropertyEditorValue()), m_contextObject(new PropertyEditorContextObject()) { Q_ASSERT(QFileInfo(":/images/button_normal.png").exists()); QDeclarativeContext *ctxt = m_view->rootContext(); m_view->engine()->setOutputWarningsToStandardError(debug); m_dummyPropertyEditorValue->setValue("#000000"); ctxt->setContextProperty("dummyBackendValue", m_dummyPropertyEditorValue.data()); m_contextObject->setBackendValues(&m_backendValuesPropertyMap); ctxt->setContextObject(m_contextObject.data()); connect(&m_backendValuesPropertyMap, SIGNAL(valueChanged(QString,QVariant)), propertyEditor, SLOT(changeValue(QString))); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_mapModel(&m_fieldModel, this) { ui->setupUi(this); MapLoader mapLoader(&m_mapModel, &m_fieldModel); mapLoader.loadMap("/home/guillaume/Workspace/Test_QGraphicsMap/1.map"); this->ui->graphicsView->setSource(QUrl("qrc:/qml/qml/main.qml")); QDeclarativeContext *ctxt = this->ui->graphicsView->rootContext(); ctxt->setContextProperty("MapModel", &m_mapModel); ctxt->setContextProperty("FieldModel", &m_fieldModel); //MapModel::getInstance()->debug(); }
QObject* CuteNews::createQmlObject(const QString &fileName) { initEngine(); QDeclarativeContext *context = new QDeclarativeContext(m_engine->rootContext()); QDeclarativeComponent *component = new QDeclarativeComponent(m_engine, fileName, this); if (QObject *obj = component->create(context)) { context->setParent(obj); return obj; } if (component->isError()) { foreach (const QDeclarativeError &error, component->errors()) { Logger::log("CuteNews::createQmlObject(). Error: " + error.toString()); } }
// Currently item creation is tightly bound to landmark model. Some day // this may be leveraged to any user defined model or e.g. XML model. QDeclarativeGeoMapObject* QDeclarativeGeoMapObjectView::createItem(int modelRow) { if (!delegate_ || !model_) return NULL; QModelIndex index = model_->index(modelRow, 0); // column 0 if (!index.isValid()) { qWarning() << "QDeclarativeGeoMapObject Index is not valid: " << modelRow; return NULL; } QHashIterator<int, QByteArray> iterator(model_->roleNames()); QDeclarativeContext *itemContext = new QDeclarativeContext(qmlContext(this)); while (iterator.hasNext()) { iterator.next(); QVariant modelData = model_->data(index, iterator.key()); if (!modelData.isValid()) continue; // This call would fail for <QObject*> Need to be figured out why // if the model support is leveraged. QObject *data_ptr = modelData.value<QDeclarativeLandmark*>(); if (!data_ptr) continue; itemContext->setContextProperty(QLatin1String(iterator.value().data()), data_ptr); // To avoid name collisions (delegate has same named attribute as model's role) // one can add here that the data is accessible also e.g. via 'model'. // In case of landmarks, two of the following are then equivalent: // latitude : landmark.coordinate.latitude // latitude : model.landmark.coordinate.latitude // itemContext->setContextProperty(QLatin1String("model."), data_ptr); // At the time being, it is however uncertain how to make it from a // QtMobility project (QDeclarativeVisualDataModel not available). // This however needs to be figured out if model support is generalized. } QObject* obj = delegate_->create(itemContext); if (!obj) { qWarning() << "QDeclarativeGeoMapObject map object creation failed."; delete itemContext; return NULL; } QDeclarativeGeoMapObject *declMapObj = qobject_cast<QDeclarativeGeoMapObject*>(obj); if (!declMapObj) { qWarning() << "QDeclarativeGeoMapObject map object delegate is of unsupported type."; delete itemContext; return NULL; } itemContext->setParent(declMapObj); return declMapObj; }
int main(int argc, char *argv[]) { QApplication app(argc, argv); // Register QML bindings fo DrumEngine and TouchEvents #ifdef Q_OS_SYMBIAN qmlRegisterType<DrumEngine>("DrumEngine", 1,0, "DrumEngine"); #endif qmlRegisterType<TouchEvents>("TouchEvents", 1,0, "TouchEvents"); QmlViewer viewer; viewer.setOrientation(QmlApplicationViewer::ScreenOrientationLockLandscape); // Check for VGA resolution and inform QML. Needed for some // gfx layouting on on Symbian devices with VGA resolution (E6). QDesktopWidget *desktop = QApplication::desktop(); const QRect screenRect = desktop->screenGeometry(); QDeclarativeContext* context = viewer.rootContext(); if (screenRect.width() == 640 && screenRect.height() == 480) { context->setContextProperty("screenVGA", true); } else { context->setContextProperty("screenVGA", false); } // Provide information whether running in simulator. Used in Pad.qml. #ifdef QT_SIMULATOR context->setContextProperty("simulator", true); #else context->setContextProperty("simulator", false); #endif // Select the main.qml according to platform. #ifdef Q_OS_SYMBIAN viewer.setMainQmlFile(QLatin1String("qml/symbian/main.qml")); #else viewer.setMainQmlFile(QLatin1String("qml/harmattan/main.qml")); #endif // Enable OpenGL rendering QGLFormat fmt = QGLFormat::defaultFormat(); fmt.setDirectRendering(true); fmt.setDoubleBuffer(true); QGLWidget *glWidget = new QGLWidget(fmt); viewer.setViewport(glWidget); viewer.showFullScreen(); return app.exec(); }
Q_DECL_EXPORT int main(int argc, char *argv[]) { qDebug() << "THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; QApplication *app = MDeclarativeCache::qApplication(argc, argv); app->setOrganizationName("frals"); app->setOrganizationDomain("frals.se"); app->setApplicationName("lpmcustomizer"); QFont font = QFont("Nokia Pure Text Light"); app->setFont(font); QDeclarativeView *view = MDeclarativeCache::qDeclarativeView(); QDeclarativeContext *ctx = view->rootContext(); view->setResizeMode(QDeclarativeView::SizeRootObjectToView); view->setInputMethodHints(Qt::ImhNoPredictiveText); qmlRegisterType<GalleryItem>("LPM", 1, 0, "GalleryItem"); PlatformIntegration *p = new PlatformIntegration(ctx); ImageGenerator *ig = new ImageGenerator(); ImageSaver *is = new ImageSaver(ig); QObject::connect(is, SIGNAL(imageSaved(QString)), p, SLOT(onImageSaved(QString))); view->engine()->addImageProvider(QString("logocreator"), ig); ctx->setContextProperty("platform", p); ctx->setContextProperty("imageSaver", is); p->updateGallery(); QObject::connect(view->engine(), SIGNAL(quit()), app, SLOT(quit())); // QString pathInInstallDir = QCoreApplication::applicationDirPath() // + QLatin1String("/../") + "qml/lpmcustomizer"; view->setSource(QUrl("qrc:/qml/main.qml")); view->showFullScreen(); // QmlApplicationViewer viewer; // viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); // viewer.setMainQmlFile(QLatin1String("qml/LPMCustomizer/main.qml")); // viewer.showExpanded(); return app->exec(); }
void initializeEngine(QDeclarativeEngine *engine, const char *uri) { Q_UNUSED(uri); engine->addImageProvider("colors", new ColorImageProvider); QStringList dataList; dataList.append("image://colors/red"); dataList.append("image://colors/green"); dataList.append("image://colors/blue"); dataList.append("image://colors/brown"); dataList.append("image://colors/orange"); dataList.append("image://colors/purple"); dataList.append("image://colors/yellow"); QDeclarativeContext *ctxt = engine->rootContext(); ctxt->setContextProperty("myModel", QVariant::fromValue(dataList)); }
QmlTweeterMainView::QmlTweeterMainView(QSettings* settings, QWidget *parent) : QMainWindow(parent), view(0), settingsPersistor(0) { view = new QDeclarativeView; view->setResizeMode(QDeclarativeView::SizeRootObjectToView); setCentralWidget(view); view->setSource(QUrl("qrc:///qml/qmltweeter.qml")); QDeclarativeContext *context = view->rootContext(); settingsPersistor = new SettingsPersistor(context, settings, this); context->setContextProperty("settings", settingsPersistor); QObject *rootObject = view->rootObject(); QObject::connect(settingsPersistor, SIGNAL(settingsSaved(QVariant)), rootObject, SLOT(settingsSaved(QVariant))); }
void tst_qsganimatedimage::progressAndStatusChanges() { TestHTTPServer server(14449); QVERIFY(server.isValid()); server.serveDirectory(SRCDIR "/data"); QDeclarativeEngine engine; QString componentStr = "import QtQuick 2.0\nAnimatedImage { source: srcImage }"; QDeclarativeContext *ctxt = engine.rootContext(); ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/stickman.gif")); QDeclarativeComponent component(&engine); component.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); QSGImage *obj = qobject_cast<QSGImage*>(component.create()); QVERIFY(obj != 0); QVERIFY(obj->status() == QSGImage::Ready); QTRY_VERIFY(obj->progress() == 1.0); QSignalSpy sourceSpy(obj, SIGNAL(sourceChanged(const QUrl &))); QSignalSpy progressSpy(obj, SIGNAL(progressChanged(qreal))); QSignalSpy statusSpy(obj, SIGNAL(statusChanged(QSGImageBase::Status))); // Loading local file ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.gif")); QTRY_VERIFY(obj->status() == QSGImage::Ready); QTRY_VERIFY(obj->progress() == 1.0); QTRY_COMPARE(sourceSpy.count(), 1); QTRY_COMPARE(progressSpy.count(), 0); QTRY_COMPARE(statusSpy.count(), 0); // Loading remote file ctxt->setContextProperty("srcImage", "http://127.0.0.1:14449/stickman.gif"); QTRY_VERIFY(obj->status() == QSGImage::Loading); QTRY_VERIFY(obj->progress() == 0.0); QTRY_VERIFY(obj->status() == QSGImage::Ready); QTRY_VERIFY(obj->progress() == 1.0); QTRY_COMPARE(sourceSpy.count(), 2); QTRY_VERIFY(progressSpy.count() > 1); QTRY_COMPARE(statusSpy.count(), 2); ctxt->setContextProperty("srcImage", ""); QTRY_VERIFY(obj->status() == QSGImage::Null); QTRY_VERIFY(obj->progress() == 0.0); QTRY_COMPARE(sourceSpy.count(), 3); QTRY_VERIFY(progressSpy.count() > 2); QTRY_COMPARE(statusSpy.count(), 3); }
static PyObject *meth_QDeclarativeContext_isValid(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { QDeclarativeContext *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QDeclarativeContext, &sipCpp)) { bool sipRes; Py_BEGIN_ALLOW_THREADS sipRes = sipCpp->isValid(); Py_END_ALLOW_THREADS return PyBool_FromLong(sipRes); } }
void QmlBeam::reloadQML(QUrl mainFile) { // The mainFile parameter is ignored, instead a property is used to cover non-default asset names. Q_UNUSED(mainFile); // Get the context of the first scene root to keep the contextProperties. QDeclarativeContext* context = QDeclarativeEngine::contextForObject(mRoot); // Clear the QML cache. QDeclarativeEngine* appEngine = context->engine(); appEngine->clearComponentCache(); // Reload all QML. QmlDocument* qml = QmlDocument::create(mMainFile); AbstractPane *root = qml->createRootObject < AbstractPane > (context); // qml->setParent(root); Application::instance()->setScene(root); }
void CourierQmlViewer::showWindow() { QDeclarativeContext *window = rootContext(); // 让QML控制窗口移动 window->setContextProperty("mainWindow", this); setOrientation(ScreenOrientationAuto); setAttribute(Qt::WA_TranslucentBackground); engine()->rootContext()->setContextObject(mUiHandler); setStyleSheet("background:transparent;"); // Connect signals and slots for QML mUiHandler->setUpSignalSlot(this); showExpanded(); //show(); }
int main( int argc, char** argv ) { QApplication app( argc, argv ); Config* config = new Config( &app ); // If we can't process the command-line or set up the database // there's no point continuing if ( !processCommandLine() || !setupDatabase() ) return 0; QDeclarativeView view; view.connect( view.engine(), SIGNAL(quit()), SLOT(close()) ); view.setResizeMode( QDeclarativeView::SizeRootObjectToView ); // Register custom types for access to certail enums from QML qmlRegisterType< SoundEngine >( "net.randalflagg.llamaui", 1, 0, "SoundEngine" ); qmlRegisterType< KeyboardMap >( "net.randalflagg.llamaui", 1, 0, "KeyboardMap" ); qmlRegisterType< SystemProcess >( "net.randalflagg.llamaui", 1, 0, "SystemProcess" ); QDeclarativeContext* rootContext = view.rootContext(); // Initalise the keyboard key/action mapper if ( !initKeyboardMap( rootContext ) ) return 0; rootContext->setContextProperty( "config", config ); initSoundEngine( rootContext ); initGameMenu( rootContext ); initEmulatorMenu( rootContext ); initSystemMenu( rootContext ); initGameLauncher( rootContext ); // Create the interface QDir dir( Config::instance()->value( "paths", "qmlDir" ).toString() ); view.setSource( QUrl::fromLocalFile( dir.absoluteFilePath( "main.qml" ) ) ); view.showFullScreen(); // Hide the mouse cursor app.setOverrideCursor( QCursor( Qt::BlankCursor ) ); return app.exec(); }