void Perfboard::setProp(const QString & prop, const QString & value) { if (prop.compare("size") != 0) { Capacitor::setProp(prop, value); return; } switch (this->m_viewID) { case ViewLayer::BreadboardView: if (value.compare(m_size) != 0) { QString temp = value; QString svg = makeBreadboardSvg(temp); reloadRenderer(svg, false); //DebugDialog::debug(svg); } break; default: break; } m_size = value; modelPart()->setLocalProp("size", value); if (m_partLabel) m_partLabel->displayTextsIf(); }
void SchematicTextLayerKinPaletteItem::transformItem(const QTransform & currTransf, bool includeRatsnest) { Q_UNUSED(currTransf); Q_UNUSED(includeRatsnest); if (m_textThings.count() == 0) { initTextThings(); } double rotation; QTransform chiefTransform = layerKinChief()->transform(); // assume chief already has rotation bool isFlipped = GraphicsUtils::isFlipped(chiefTransform.toAffine(), rotation); QString svg; if (isFlipped) { svg = makeFlipTextSvg(); } if (svg.isEmpty()) { svg = this->property("textSvg").toByteArray(); } if (rotation >= 135 && rotation <= 225) { svg = vflip(svg, isFlipped); } reloadRenderer(svg, true); QPointF p = layerKinChief()->sceneBoundingRect().topLeft(); QTransform transform; QRectF bounds = boundingRect(); transform.translate(bounds.width() / 2, bounds.height() / 2); transform.rotate(rotation); transform.translate(bounds.width() / -2, bounds.height() / -2); this->setTransform(transform); //QMatrix m1 = chiefTransform.toAffine(); //layerKinChief()->debugInfo("chief " + TextUtils::svgMatrix(m1)); //m1 = transform.toAffine(); //debugInfo("\t " + TextUtils::svgMatrix(m1)); }