void FrameSvgItem::setPrefix(const QString &prefix) { if (m_prefix == prefix) { return; } m_frameSvg->setElementPrefix(prefix); m_prefix = prefix; if (implicitWidth() <= 0) { setImplicitWidth(m_frameSvg->marginSize(Plasma::Types::LeftMargin) + m_frameSvg->marginSize(Plasma::Types::RightMargin)); } if (implicitHeight() <= 0) { setImplicitHeight(m_frameSvg->marginSize(Plasma::Types::TopMargin) + m_frameSvg->marginSize(Plasma::Types::BottomMargin)); } emit prefixChanged(); m_margins->update(); m_fixedMargins->update(); if (isComponentComplete()) { m_frameSvg->resizeFrame(QSizeF(width(), height())); m_textureChanged = true; update(); } }
void Fixture::initialize() { if (!isComponentComplete()) return; updateFixture(); }
void Box2DBody::initialize(b2World *world) { mWorld = world; if (!isComponentComplete()) { // When components are created dynamically, they get their parent // assigned before they have been completely initialized. In that case // we need to delay initialization. mInitializePending = true; return; } b2BodyDef bodyDef; bodyDef.type = static_cast<b2BodyType>(mBodyType); bodyDef.position.Set(x() / scaleRatio, -y() / scaleRatio); bodyDef.angle = -(rotation() * (2 * M_PI)) / 360.0; bodyDef.linearDamping = mLinearDamping; bodyDef.angularDamping = mAngularDamping; bodyDef.bullet = mBullet; bodyDef.allowSleep = mSleepingAllowed; bodyDef.fixedRotation = mFixedRotation; mBody = world->CreateBody(&bodyDef); mInitializePending = false; foreach (Box2DFixture *fixture, mFixtures) fixture->createFixture(mBody); }
void FrameSvgItem::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { if (isComponentComplete()) { m_frameSvg->resizeFrame(newGeometry.size()); m_sizeChanged = true; } QQuickItem::geometryChanged(newGeometry, oldGeometry); }
void QDeclarativeBasePositioner::prePositioning() { Q_D(QDeclarativeBasePositioner); if (!isComponentComplete()) return; if (d->doingPositioning) return; d->queuedPositioning = false; d->doingPositioning = true; //Need to order children by creation order modified by stacking order QList<QGraphicsItem *> children = d->QGraphicsItemPrivate::children; qSort(children.begin(), children.end(), d->insertionOrder); QPODVector<PositionedItem,8> oldItems; positionedItems.copyAndClear(oldItems); for (int ii = 0; ii < children.count(); ++ii) { QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(ii)); if (!child) continue; QDeclarativeItemPrivate *childPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(child)); PositionedItem *item = 0; PositionedItem posItem(child); int wIdx = oldItems.find(posItem); if (wIdx < 0) { d->watchChanges(child); positionedItems.append(posItem); item = &positionedItems[positionedItems.count()-1]; item->isNew = true; if (child->opacity() <= 0.0 || childPrivate->explicitlyHidden) item->isVisible = false; } else { item = &oldItems[wIdx]; // Items are only omitted from positioning if they are explicitly hidden // i.e. their positioning is not affected if an ancestor is hidden. if (child->opacity() <= 0.0 || childPrivate->explicitlyHidden) { item->isVisible = false; } else if (!item->isVisible) { item->isVisible = true; item->isNew = true; } else { item->isNew = false; } positionedItems.append(*item); } } QSizeF contentSize; doPositioning(&contentSize); if(d->addTransition || d->moveTransition) finishApplyTransitions(); d->doingPositioning = false; //Set implicit size to the size of its children setImplicitHeight(contentSize.height()); setImplicitWidth(contentSize.width()); }
void QDeclarativeBasePositioner::prePositioning() { Q_D(QDeclarativeBasePositioner); if (!isComponentComplete()) return; d->queuedPositioning = false; //Need to order children by creation order modified by stacking order QList<QGraphicsItem *> children = d->QGraphicsItemPrivate::children; qSort(children.begin(), children.end(), d->insertionOrder); QPODVector<PositionedItem,8> oldItems; positionedItems.copyAndClear(oldItems); for (int ii = 0; ii < children.count(); ++ii) { QDeclarativeItem *child = qobject_cast<QDeclarativeItem *>(children.at(ii)); if (!child) continue; PositionedItem *item = 0; PositionedItem posItem(child); int wIdx = oldItems.find(posItem); if (wIdx < 0) { d->watchChanges(child); positionedItems.append(posItem); item = &positionedItems[positionedItems.count()-1]; item->isNew = true; if (child->opacity() <= 0.0 || !child->isVisible()) item->isVisible = false; } else { item = &oldItems[wIdx]; if (child->opacity() <= 0.0 || !child->isVisible()) { item->isVisible = false; } else if (!item->isVisible) { item->isVisible = true; item->isNew = true; } else { item->isNew = false; } positionedItems.append(*item); } } doPositioning(); if(d->addTransition || d->moveTransition) finishApplyTransitions(); //Set implicit size to the size of its children qreal h = 0.0f; qreal w = 0.0f; for (int i = 0; i < positionedItems.count(); ++i) { const PositionedItem &posItem = positionedItems.at(i); if (posItem.isVisible) { h = qMax(h, posItem.item->y() + posItem.item->height()); w = qMax(w, posItem.item->x() + posItem.item->width()); } } setImplicitHeight(h); setImplicitWidth(w); }
void SkeletonAnimationFbo::setScale(float value) { if (mScale == value) return; mScale = value; Q_EMIT scaleChanged(); if (isComponentComplete()) { loadSkeletonAndAtlasData(); } }
void QQuickAndroid9Patch::updateDivs() { if (!isComponentComplete() || m_image.isNull() || width() <= 0 || height() <= 0) return; m_xDivs.fill(m_xVars, m_image.width()); m_yDivs.fill(m_yVars, m_image.height()); update(); }
void ImageLayer::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) { if (newGeometry.isEmpty() || !isComponentComplete()) return; m_geometryChanged = true; QQuickItem::update(); //XXX when calling it we get some dirty :/ Layer::geometryChanged(newGeometry, oldGeometry); }
void QQuickImageBase::setSourceSize(const QSize& size) { Q_D(QQuickImageBase); if (d->sourcesize == size) return; d->sourcesize = size; emit sourceSizeChanged(); if (isComponentComplete()) load(); }
void QQuickImageBase::setCache(bool cache) { Q_D(QQuickImageBase); if (d->cache == cache) return; d->cache = cache; emit cacheChanged(); if (isComponentComplete()) load(); }
void SkeletonAnimationFbo::setAtlasFile(const QUrl & url) { if (mAtlasFile == url) return; mAtlasFile = url; Q_EMIT atlasFileChanged(mAtlasFile); if (isComponentComplete()) { loadSkeletonAndAtlasData(); } }
void QQuickComponentsLinearLayout::itemChange(ItemChange change, const ItemChangeData &value) { if (isComponentComplete()) { if (change == ItemChildAddedChange) insertLayoutItem(value.item); else if (change == ItemChildRemovedChange) removeLayoutItem(value.item); } QQuickComponentsLayout::itemChange(change, value); }
void QDeclarativeImageBase::resetSourceSize() { Q_D(QDeclarativeImageBase); if (!d->explicitSourceSize) return; d->explicitSourceSize = false; d->sourcesize = QSize(); emit sourceSizeChanged(); if (isComponentComplete()) load(); }
void ShaderEffectItem::setFragmentShader(const QString &code) { if (m_fragment_code.constData() == code.constData()) return; m_fragment_code = code; if (isComponentComplete()) { reset(); updateProperties(); } emit fragmentShaderChanged(); }
/*! \qmlproperty string WebView::html This property holds HTML text set directly The html property can be set as a string. \qml WebView { html: "<p>This is <b>HTML</b>." } \endqml */ void QDeclarativeWebView::setHtml(const QString& html, const QUrl& baseUrl) { updateContentsSize(); if (isComponentComplete()) page()->mainFrame()->setHtml(html, baseUrl); else { d->pending = d->PendingHtml; d->pendingUrl = baseUrl; d->pendingString = html; } emit htmlChanged(); }
void QDeclarativeImageBase::setSourceSize(const QSize& size) { Q_D(QDeclarativeImageBase); if (d->sourcesize == size) return; d->sourcesize = size; d->explicitSourceSize = true; emit sourceSizeChanged(); if (isComponentComplete()) load(); }
void QQuickCustomParticle::setFragmentShader(const QByteArray &code) { if (m_common.source.sourceCode[Key::FragmentShader].constData() == code.constData()) return; m_common.source.sourceCode[Key::FragmentShader] = code; m_dirtyProgram = true; if (isComponentComplete()) { m_common.updateShader(this, Key::FragmentShader); reset(); } emit fragmentShaderChanged(); }
void QQuickCustomParticle::setVertexShader(const QByteArray &code) { if (m_common.source.sourceCode[Key::VertexShader].constData() == code.constData()) return; m_common.source.sourceCode[Key::VertexShader] = code; m_dirtyProgram = true; if (isComponentComplete()) { updateVertexShader(); reset(); } emit vertexShaderChanged(); }
void QQuickImageBase::setSource(const QUrl &url) { Q_D(QQuickImageBase); if (url == d->url) return; d->url = url; emit sourceChanged(d->url); if (isComponentComplete()) load(); }
void QQuickImageBase::setMirror(bool mirror) { Q_D(QQuickImageBase); if (mirror == d->mirror) return; d->mirror = mirror; if (isComponentComplete()) update(); emit mirrorChanged(); }
void ShaderEffectItem::setVertexShader(const QString &code) { if (m_vertex_code.constData() == code.constData()) return; m_vertex_code = code; m_defaultVertexShader = false; if (isComponentComplete()) { reset(); updateProperties(); } emit vertexShaderChanged(); }
void QDeclarativeImageBase::setSource(const QUrl &url) { Q_D(QDeclarativeImageBase); //equality is fairly expensive, so we bypass for simple, common case if ((d->url.isEmpty() == url.isEmpty()) && url == d->url) return; d->url = url; emit sourceChanged(d->url); if (isComponentComplete()) load(); }
void QDeclarativeWebView::setContent(const QByteArray& data, const QString& mimeType, const QUrl& baseUrl) { updateContentsSize(); if (isComponentComplete()) page()->mainFrame()->setContent(data, mimeType, qmlContext(this)->resolvedUrl(baseUrl)); else { d->pending = d->PendingContent; d->pendingUrl = baseUrl; d->pendingString = mimeType; d->pendingData = data; } }
void QQuickLoader::loadFromSourceComponent() { Q_D(QQuickLoader); if (!d->component) { emit sourceComponentChanged(); emit statusChanged(); emit progressChanged(); emit itemChanged(); return; } if (isComponentComplete()) d->load(); }
void IconItem::setActive(bool active) { if (m_active == active) { return; } m_active = active; if (isComponentComplete()) { m_allowNextAnimation = true; schedulePixmapUpdate(); } emit activeChanged(); }
void QQmlAndroidActivity::setOptionsMenu(QQmlAndroidMenu *menu) { if (m_optionsMenu != menu) { if (m_optionsMenu) { disconnect(m_optionsMenu, &QQmlAndroidObject::instanceChanged, this, &QQmlAndroidActivity::updateOptionsMenu); m_optionsMenu->destruct(); } m_optionsMenu = menu; if (m_optionsMenu) { connect(m_optionsMenu, &QQmlAndroidObject::instanceChanged, this, &QQmlAndroidActivity::updateOptionsMenu); if (isComponentComplete()) m_optionsMenu->construct(); } } }
void QQmlAndroidActivity::setContentView(QQmlAndroidView *view) { if (m_contentView != view) { if (m_contentView) { disconnect(m_contentView, &QQmlAndroidObject::instanceChanged, this, &QQmlAndroidActivity::updateContentView); m_contentView->destruct(); } m_contentView = view; if (m_contentView) { connect(m_contentView, &QQmlAndroidObject::instanceChanged, this, &QQmlAndroidActivity::updateContentView); if (isComponentComplete()) m_contentView->construct(); } } }
void NemoThumbnailItem::updateThumbnail(bool identityChanged) { if (!isComponentComplete()) return; Status status = m_request ? m_request->status : Null; if (m_source.isLocalFile() && !m_sourceSize.isEmpty()) NemoThumbnailLoader::instance->updateRequest(this, identityChanged); else if (m_request) NemoThumbnailLoader::instance->cancelRequest(this); if (status != (m_request ? m_request->status : Null)) emit statusChanged(); }
void QQuickAndroid9Patch::loadImage() { if (!isComponentComplete()) return; if (m_source.isEmpty()) m_image = QImage(); else m_image = QImage(m_source.toLocalFile()); setFlag(QQuickItem::ItemHasContents, !m_image.isNull()); setImplicitSize(m_image.width(), m_image.height()); updateDivs(); }