DXF Export: Added Ellipse and Element Text Document for export.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2746 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
abhishekm71
2014-01-18 12:23:35 +00:00
parent efa2381f6f
commit 9699f8d010
2 changed files with 19 additions and 3 deletions

View File

@@ -422,7 +422,8 @@ void ExportDialog::generateDxf(Diagram *diagram, int width, int height, bool kee
QStringList lines = dti -> toPlainText().split('\n'); QStringList lines = dti -> toPlainText().split('\n');
y += (fontSize/2) * (lines.count()-1); y += (fontSize/2) * (lines.count()-1);
foreach (QString line, lines) { foreach (QString line, lines) {
Createdxf::drawText(file_path, line, x, y, fontSize, dti -> rotationAngle(), 0 ); if (line.size() > 0)
Createdxf::drawText(file_path, line, x, y, fontSize, dti -> rotationAngle(), 0 );
y -= fontSize*1.06; y -= fontSize*1.06;
} }
@@ -486,7 +487,10 @@ void ExportDialog::generateDxf(Diagram *diagram, int width, int height, bool kee
qreal center_y = y - w/2; qreal center_y = y - w/2;
qreal radius = (w+h)/4; qreal radius = (w+h)/4;
qreal endAngle = startAngle + spanAngle; qreal endAngle = startAngle + spanAngle;
Createdxf::drawArc(file_path, center_x, center_y, radius, endAngle, startAngle, 0); if (startAngle == 0 && spanAngle == 360)
Createdxf::drawCircle(file_path, radius, center_x, center_y, 0);
else
Createdxf::drawArc(file_path, center_x, center_y, radius, endAngle, startAngle, 0);
} }
} }

View File

@@ -634,6 +634,18 @@ bool CustomElement::parseText(QDomElement &e, QPainter &qp) {
QTextDocument text_document; QTextDocument text_document;
text_document.setDefaultFont(used_font); text_document.setDefaultFont(used_font);
text_document.setPlainText(e.attribute("text")); text_document.setPlainText(e.attribute("text"));
//Add element to list of texts.
ElementTextItem *eti = new ElementTextItem(e.attribute("text"));
eti -> setFont(QETApp::diagramTextsFont(size));
eti -> setOriginalPos(QPointF(pos_x, pos_y));
eti -> setPos(pos_x, pos_y);
qreal original_rotation_angle = 0.0;
QET::attributeIsAReal(e, "rotation", &original_rotation_angle);
eti -> setOriginalRotationAngle(original_rotation_angle);
eti -> setRotationAngle(original_rotation_angle);
eti -> setFollowParentRotations(e.attribute("rotate") == "true");
list_texts_ << eti;
// Se positionne aux coordonnees indiquees dans la description du texte // Se positionne aux coordonnees indiquees dans la description du texte
qp.setTransform(QTransform(), false); qp.setTransform(QTransform(), false);
@@ -669,7 +681,7 @@ bool CustomElement::parseText(QDomElement &e, QPainter &qp) {
QAbstractTextDocumentLayout::PaintContext ctx; QAbstractTextDocumentLayout::PaintContext ctx;
ctx.palette.setColor(QPalette::Text, text_color); ctx.palette.setColor(QPalette::Text, text_color);
text_document.documentLayout() -> draw(&qp, ctx); text_document.documentLayout() -> draw(&qp, ctx);
qp.restore(); qp.restore();
return(true); return(true);
} }