mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-03-27 02:29:59 +01:00
Bug fix : Conductor text with formula that contain %id isn't good when open project (variable %id is replaced by 0 in each folio)
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4746 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -48,7 +48,6 @@ Conductor::Conductor(Terminal *p1, Terminal* p2) :
|
||||
terminal1(p1),
|
||||
terminal2(p2),
|
||||
setSeq(true),
|
||||
freeze_label(false),
|
||||
bMouseOver(false),
|
||||
m_handler(10),
|
||||
text_item(0),
|
||||
@@ -1446,6 +1445,15 @@ void Conductor::setText(const QString &t) {
|
||||
text_item -> setPlainText(label);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Conductor::refreshText
|
||||
* Refresh the text of this conductor.
|
||||
* recalcule and set the text according to the formula.
|
||||
*/
|
||||
void Conductor::refreshText() {
|
||||
setText(m_freeze_label? text_item->toPlainText() : properties().text);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Conductor::setProperties
|
||||
* Set new properties for this conductor
|
||||
@@ -1478,8 +1486,8 @@ void Conductor::setProperties(const ConductorProperties &properties)
|
||||
else
|
||||
m_frozen_label = properties_.text;
|
||||
}
|
||||
if (freeze_label)
|
||||
freezeLabel();
|
||||
|
||||
setFreezeLabel(m_freeze_label);
|
||||
if (properties_.type != ConductorProperties::Multi)
|
||||
text_item -> setVisible(false);
|
||||
else
|
||||
@@ -1883,22 +1891,23 @@ QList <Conductor *> relatedConductors(const Conductor *conductor) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Conductor::freezeLabel
|
||||
* Freeze this conductor label
|
||||
* @brief Conductor::setFreezeLabel
|
||||
* Freeze this conductor label if true
|
||||
* Unfreeze this conductor label if false
|
||||
* @param freeze
|
||||
*/
|
||||
void Conductor::freezeLabel() {
|
||||
QString freezelabel = this->text_item->toPlainText();
|
||||
m_frozen_label = properties_.text;
|
||||
this->setText(freezelabel);
|
||||
this->properties_.text = freezelabel;
|
||||
}
|
||||
void Conductor::setFreezeLabel(bool freeze) {
|
||||
m_freeze_label = freeze;
|
||||
|
||||
/**
|
||||
* @brief Conductor::unfreezeLabel
|
||||
* Unfreeze this conductor label
|
||||
*/
|
||||
void Conductor::unfreezeLabel() {
|
||||
this->setText(m_frozen_label);
|
||||
if (m_frozen_label == "") return;
|
||||
properties_.text = m_frozen_label;
|
||||
if (m_freeze_label) {
|
||||
QString freezelabel = this->text_item->toPlainText();
|
||||
m_frozen_label = properties_.text;
|
||||
this->setText(freezelabel);
|
||||
this->properties_.text = freezelabel;
|
||||
}
|
||||
else {
|
||||
this->setText(m_frozen_label);
|
||||
if (m_frozen_label == "") return;
|
||||
properties_.text = m_frozen_label;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,7 @@ class Conductor : public QObject, public QGraphicsPathItem
|
||||
QString text() const;
|
||||
QString assignVariables(QString) ;
|
||||
void setText(const QString &);
|
||||
void refreshText();
|
||||
QString assignSeq (QString, Conductor*);
|
||||
void setSequential ();
|
||||
void setOthersSequential (Conductor *);
|
||||
@@ -131,9 +132,7 @@ class Conductor : public QObject, public QGraphicsPathItem
|
||||
QStringList seq_hundred;
|
||||
QStringList seq_hundredfolio;
|
||||
bool setSeq;
|
||||
bool freeze_label;
|
||||
void freezeLabel();
|
||||
void unfreezeLabel();
|
||||
void setFreezeLabel(bool freeze);
|
||||
QString m_frozen_label;
|
||||
|
||||
public slots:
|
||||
@@ -153,32 +152,33 @@ class Conductor : public QObject, public QGraphicsPathItem
|
||||
|
||||
private:
|
||||
QetGraphicsHandlerUtility m_handler;
|
||||
/// Functional properties
|
||||
/// Functional properties
|
||||
ConductorProperties properties_;
|
||||
/// Text input for non simple, non-singleline conductors
|
||||
/// Text input for non simple, non-singleline conductors
|
||||
ConductorTextItem *text_item;
|
||||
/// Segments composing the conductor
|
||||
/// Segments composing the conductor
|
||||
ConductorSegment *segments;
|
||||
/// Attributs related to mouse interaction
|
||||
/// Attributs related to mouse interaction
|
||||
bool moving_segment;
|
||||
int moved_point;
|
||||
qreal previous_z_value;
|
||||
ConductorSegment *moved_segment;
|
||||
QPointF before_mov_text_pos_;
|
||||
/// Whether the conductor was manually modified by users
|
||||
/// Whether the conductor was manually modified by users
|
||||
bool modified_path;
|
||||
/// Whether the current profile should be saved as soon as possible
|
||||
/// Whether the current profile should be saved as soon as possible
|
||||
bool has_to_save_profile;
|
||||
/// conductor profile: "photography" of what the conductor is supposed to look
|
||||
/// like - there is one profile per kind of traject
|
||||
/// conductor profile: "photography" of what the conductor is supposed to look
|
||||
/// like - there is one profile per kind of traject
|
||||
ConductorProfilesGroup conductor_profiles;
|
||||
/// QPen et QBrush objects used to draw conductors
|
||||
/// QPen et QBrush objects used to draw conductors
|
||||
static QPen conductor_pen;
|
||||
static QBrush conductor_brush;
|
||||
static bool pen_and_brush_initialized;
|
||||
/// Define whether and how the conductor should be highlighted
|
||||
/// Define whether and how the conductor should be highlighted
|
||||
Highlight must_highlight_;
|
||||
bool m_valid;
|
||||
bool m_freeze_label = false;
|
||||
|
||||
private:
|
||||
void segmentsToPath();
|
||||
|
||||
Reference in New Issue
Block a user