mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 05:00:33 +01:00
ElementEditor: parttext.cpp code style
This commit is contained in:
committed by
Laurent Trinques
parent
9bc6f7fa94
commit
ba1242d5bb
@@ -30,13 +30,13 @@
|
|||||||
PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent) :
|
PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent) :
|
||||||
QGraphicsTextItem(parent),
|
QGraphicsTextItem(parent),
|
||||||
CustomElementPart(editor),
|
CustomElementPart(editor),
|
||||||
previous_text()
|
previous_text()
|
||||||
{
|
{
|
||||||
document() -> setDocumentMargin(1.0);
|
document() -> setDocumentMargin(1.0);
|
||||||
setDefaultTextColor(Qt::black);
|
setDefaultTextColor(Qt::black);
|
||||||
setFont(QETApp::diagramTextsFont());
|
setFont(QETApp::diagramTextsFont());
|
||||||
real_font_size_ = font().pointSize();
|
real_font_size_ = font().pointSize();
|
||||||
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges | QGraphicsItem::ItemIsMovable);
|
setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges | QGraphicsItem::ItemIsMovable);
|
||||||
setAcceptHoverEvents(true);
|
setAcceptHoverEvents(true);
|
||||||
setDefaultTextColor(Qt::black);
|
setDefaultTextColor(Qt::black);
|
||||||
setPlainText(QObject::tr("T", "default text when adding a text in the element editor"));
|
setPlainText(QObject::tr("T", "default text when adding a text in the element editor"));
|
||||||
@@ -55,22 +55,19 @@ PartText::~PartText() {
|
|||||||
Importe les proprietes d'un texte statique depuis un element XML
|
Importe les proprietes d'un texte statique depuis un element XML
|
||||||
@param xml_element Element XML a lire
|
@param xml_element Element XML a lire
|
||||||
*/
|
*/
|
||||||
void PartText::fromXml(const QDomElement &xml_element)
|
void PartText::fromXml(const QDomElement &xml_element) {
|
||||||
{
|
|
||||||
bool ok;
|
bool ok;
|
||||||
|
|
||||||
if (xml_element.hasAttribute("size"))
|
if (xml_element.hasAttribute("size")) {
|
||||||
{
|
|
||||||
int font_size = xml_element.attribute("size").toInt(&ok);
|
int font_size = xml_element.attribute("size").toInt(&ok);
|
||||||
if (!ok || font_size < 1) {
|
if (!ok || font_size < 1) {
|
||||||
font_size = 20;
|
font_size = 20;
|
||||||
}
|
}
|
||||||
QFont font_ = this->font();
|
QFont font_ = this -> font();
|
||||||
font_.setPointSize(font_size);
|
font_.setPointSize(font_size);
|
||||||
setFont(font_);
|
setFont(font_);
|
||||||
}
|
}
|
||||||
else if (xml_element.hasAttribute("font"))
|
else if (xml_element.hasAttribute("font")) {
|
||||||
{
|
|
||||||
QFont font_;
|
QFont font_;
|
||||||
font_.fromString(xml_element.attribute("font"));
|
font_.fromString(xml_element.attribute("font"));
|
||||||
setFont(font_);
|
setFont(font_);
|
||||||
@@ -79,7 +76,7 @@ void PartText::fromXml(const QDomElement &xml_element)
|
|||||||
setDefaultTextColor(QColor(xml_element.attribute("color", "#000000")));
|
setDefaultTextColor(QColor(xml_element.attribute("color", "#000000")));
|
||||||
setPlainText(xml_element.attribute("text"));
|
setPlainText(xml_element.attribute("text"));
|
||||||
setPos(xml_element.attribute("x").toDouble(),
|
setPos(xml_element.attribute("x").toDouble(),
|
||||||
xml_element.attribute("y").toDouble());
|
xml_element.attribute("y").toDouble());
|
||||||
setRotation(xml_element.attribute("rotation", QString::number(0)).toDouble());
|
setRotation(xml_element.attribute("rotation", QString::number(0)).toDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,8 +85,7 @@ void PartText::fromXml(const QDomElement &xml_element)
|
|||||||
@param xml_document Document XML a utiliser pour creer l'element XML
|
@param xml_document Document XML a utiliser pour creer l'element XML
|
||||||
@return un element XML decrivant le texte statique
|
@return un element XML decrivant le texte statique
|
||||||
*/
|
*/
|
||||||
const QDomElement PartText::toXml(QDomDocument &xml_document) const
|
const QDomElement PartText::toXml(QDomDocument &xml_document) const {
|
||||||
{
|
|
||||||
QDomElement xml_element = xml_document.createElement(xmlName());
|
QDomElement xml_element = xml_document.createElement(xmlName());
|
||||||
|
|
||||||
xml_element.setAttribute("x", QString::number(pos().x()));
|
xml_element.setAttribute("x", QString::number(pos().x()));
|
||||||
@@ -105,8 +101,7 @@ const QDomElement PartText::toXml(QDomDocument &xml_document) const
|
|||||||
/**
|
/**
|
||||||
@return Les coordonnees du point situe en bas a gauche du texte.
|
@return Les coordonnees du point situe en bas a gauche du texte.
|
||||||
*/
|
*/
|
||||||
QPointF PartText::margin() const
|
QPointF PartText::margin() const {
|
||||||
{
|
|
||||||
QFont used_font = font();
|
QFont used_font = font();
|
||||||
QFontMetrics qfm(used_font);
|
QFontMetrics qfm(used_font);
|
||||||
qreal document_margin = document() -> documentMargin();
|
qreal document_margin = document() -> documentMargin();
|
||||||
@@ -130,7 +125,6 @@ void PartText::focusInEvent(QFocusEvent *e) {
|
|||||||
QGraphicsTextItem::focusInEvent(e);
|
QGraphicsTextItem::focusInEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@reimp QGraphicsItem::focusOutEvent(QFocusEvent *)
|
@reimp QGraphicsItem::focusOutEvent(QFocusEvent *)
|
||||||
@param e The QFocusEvent object describing the focus loss.
|
@param e The QFocusEvent object describing the focus loss.
|
||||||
@@ -172,8 +166,10 @@ void PartText::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *e) {
|
|||||||
@param value Valeur numerique relative au changement
|
@param value Valeur numerique relative au changement
|
||||||
*/
|
*/
|
||||||
QVariant PartText::itemChange(GraphicsItemChange change, const QVariant &value) {
|
QVariant PartText::itemChange(GraphicsItemChange change, const QVariant &value) {
|
||||||
if (change == QGraphicsItem::ItemPositionHasChanged || change == QGraphicsItem::ItemSceneHasChanged || change == QGraphicsItem::ItemSelectedHasChanged) {
|
if (change == QGraphicsItem::ItemPositionHasChanged ||
|
||||||
updateCurrentPartEditor();
|
change == QGraphicsItem::ItemSceneHasChanged ||
|
||||||
|
change == QGraphicsItem::ItemSelectedHasChanged) {
|
||||||
|
updateCurrentPartEditor();
|
||||||
}
|
}
|
||||||
return(QGraphicsTextItem::itemChange(change, value));
|
return(QGraphicsTextItem::itemChange(change, value));
|
||||||
}
|
}
|
||||||
@@ -230,64 +226,56 @@ void PartText::handleUserTransformation(const QRectF &initial_selection_rect, co
|
|||||||
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
setProperty("real_size", qMax(1, qRound(new_font_size)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartText::setDefaultTextColor(const QColor &color)
|
void PartText::setDefaultTextColor(const QColor &color) {
|
||||||
{
|
if (color != this -> defaultTextColor()) {
|
||||||
if (color != this->defaultTextColor())
|
|
||||||
{
|
|
||||||
QGraphicsTextItem::setDefaultTextColor(color);
|
QGraphicsTextItem::setDefaultTextColor(color);
|
||||||
emit colorChanged(color);
|
emit colorChanged(color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartText::setPlainText(const QString &text)
|
void PartText::setPlainText(const QString &text) {
|
||||||
{
|
if (text != this -> toPlainText()) {
|
||||||
if (text != this->toPlainText())
|
|
||||||
{
|
|
||||||
QGraphicsTextItem::setPlainText(text);
|
QGraphicsTextItem::setPlainText(text);
|
||||||
emit plainTextChanged(text);
|
emit plainTextChanged(text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartText::setFont(const QFont &font)
|
void PartText::setFont(const QFont &font) {
|
||||||
{
|
if (font != this -> font()) {
|
||||||
if (font != this->font())
|
|
||||||
{
|
|
||||||
QGraphicsTextItem::setFont(font);
|
QGraphicsTextItem::setFont(font);
|
||||||
emit fontChanged(font);
|
emit fontChanged(font);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PartText::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
|
||||||
void PartText::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
|
if((event -> buttons() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable)) {
|
||||||
{
|
QPointF pos = event -> scenePos() + (m_origine_pos - event -> buttonDownScenePos(Qt::LeftButton));
|
||||||
if((event->buttons() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable))
|
event -> modifiers() == Qt::ControlModifier ? setPos(pos) : setPos(elementScene() -> snapToGrid(pos));
|
||||||
{
|
}
|
||||||
QPointF pos = event->scenePos() + (m_origine_pos - event->buttonDownScenePos(Qt::LeftButton));
|
else {
|
||||||
event->modifiers() == Qt::ControlModifier ? setPos(pos) : setPos(elementScene()->snapToGrid(pos));
|
QGraphicsObject::mouseMoveEvent(event);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
QGraphicsObject::mouseMoveEvent(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartText::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
void PartText::mousePressEvent(QGraphicsSceneMouseEvent *event) {
|
||||||
{
|
if(event -> button() == Qt::LeftButton)
|
||||||
if(event->button() == Qt::LeftButton)
|
m_origine_pos = this -> pos();
|
||||||
m_origine_pos = this->pos();
|
|
||||||
|
|
||||||
QGraphicsObject::mousePressEvent(event);
|
QGraphicsObject::mousePressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PartText::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
|
void PartText::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
|
||||||
{
|
if((event -> button() & Qt::LeftButton) &&
|
||||||
if((event->button() & Qt::LeftButton) && (flags() & QGraphicsItem::ItemIsMovable) && m_origine_pos != pos())
|
(flags() & QGraphicsItem::ItemIsMovable) &&
|
||||||
{
|
m_origine_pos != pos())
|
||||||
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "pos", QVariant(m_origine_pos), QVariant(pos()));
|
{
|
||||||
undo->setText(tr("Déplacer un texte"));
|
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "pos", QVariant(m_origine_pos), QVariant(pos()));
|
||||||
undo->enableAnimation();
|
undo -> setText(tr("Déplacer un texte"));
|
||||||
elementScene()->undoStack().push(undo);
|
undo -> enableAnimation();
|
||||||
}
|
elementScene() -> undoStack().push(undo);
|
||||||
|
}
|
||||||
|
|
||||||
QGraphicsObject::mouseReleaseEvent(event);
|
QGraphicsObject::mouseReleaseEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -334,16 +322,13 @@ void PartText::startEdition() {
|
|||||||
End text edition, potentially generating a ChangePartCommand if the text
|
End text edition, potentially generating a ChangePartCommand if the text
|
||||||
has changed.
|
has changed.
|
||||||
*/
|
*/
|
||||||
void PartText::endEdition()
|
void PartText::endEdition() {
|
||||||
{
|
if (!previous_text.isNull()) {
|
||||||
if (!previous_text.isNull())
|
|
||||||
{
|
|
||||||
// the text was being edited
|
// the text was being edited
|
||||||
QString new_text = toPlainText();
|
QString new_text = toPlainText();
|
||||||
if (previous_text != new_text)
|
if (previous_text != new_text) {
|
||||||
{
|
|
||||||
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "text", previous_text, new_text);
|
QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "text", previous_text, new_text);
|
||||||
undo->setText(tr("Modifier un champ texte"));
|
undo -> setText(tr("Modifier un champ texte"));
|
||||||
undoStack().push(undo);
|
undoStack().push(undo);
|
||||||
previous_text = QString();
|
previous_text = QString();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user