mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 16:20:52 +01:00
Element : change freeze label variable from a string to a bool.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4805 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -41,7 +41,7 @@ AutoNumberingManagementW::AutoNumberingManagementW(QETProject *project, QWidget
|
|||||||
ui->m_selected_folios_widget->setDisabled(true);
|
ui->m_selected_folios_widget->setDisabled(true);
|
||||||
ui->m_selected_folios_le->setDisabled(true);
|
ui->m_selected_folios_le->setDisabled(true);
|
||||||
ui->m_selected_folios_le->setReadOnly(true);
|
ui->m_selected_folios_le->setReadOnly(true);
|
||||||
applyEnable(false);
|
ui->m_apply_project_rb->setChecked(true);
|
||||||
setProjectContext();
|
setProjectContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ Diagram::Diagram(QETProject *project) :
|
|||||||
draw_terminals_ (true),
|
draw_terminals_ (true),
|
||||||
draw_colored_conductors_ (true),
|
draw_colored_conductors_ (true),
|
||||||
m_event_interface (nullptr),
|
m_event_interface (nullptr),
|
||||||
m_freeze_new_elements_ (false),
|
m_freeze_new_elements (false),
|
||||||
m_freeze_new_conductors_ (false)
|
m_freeze_new_conductors_ (false)
|
||||||
{
|
{
|
||||||
setProject(project);
|
setProject(project);
|
||||||
@@ -477,7 +477,7 @@ QDomDocument Diagram::toXml(bool whole_content) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Default New Element
|
//Default New Element
|
||||||
racine.setAttribute("freezeNewElement", m_freeze_new_elements_ ? "true" : "false");
|
racine.setAttribute("freezeNewElement", m_freeze_new_elements ? "true" : "false");
|
||||||
|
|
||||||
//Default New Conductor
|
//Default New Conductor
|
||||||
racine.setAttribute("freezeNewConductor", m_freeze_new_conductors_ ? "true" : "false");
|
racine.setAttribute("freezeNewConductor", m_freeze_new_conductors_ ? "true" : "false");
|
||||||
@@ -726,7 +726,7 @@ bool Diagram::fromXml(QDomElement &document, QPointF position, bool consider_inf
|
|||||||
m_conductors_autonum_name = root.attribute("conductorAutonum");
|
m_conductors_autonum_name = root.attribute("conductorAutonum");
|
||||||
|
|
||||||
// Load Freeze New Element
|
// Load Freeze New Element
|
||||||
m_freeze_new_elements_ = root.attribute("freezeNewElement").toInt();
|
m_freeze_new_elements = root.attribute("freezeNewElement").toInt();
|
||||||
|
|
||||||
// Load Freeze New Conductor
|
// Load Freeze New Conductor
|
||||||
m_freeze_new_conductors_ = root.attribute("freezeNewConductor").toInt();
|
m_freeze_new_conductors_ = root.attribute("freezeNewConductor").toInt();
|
||||||
@@ -1453,9 +1453,9 @@ bool Diagram::usesTitleBlockTemplate(const QString &name) {
|
|||||||
* @brief Diagram::freezeElements
|
* @brief Diagram::freezeElements
|
||||||
* Freeze every existent element label.
|
* Freeze every existent element label.
|
||||||
*/
|
*/
|
||||||
void Diagram::freezeElements() {
|
void Diagram::freezeElements(bool freeze) {
|
||||||
foreach (Element *elmt, elements()) {
|
foreach (Element *elmt, elements()) {
|
||||||
elmt->freezeLabel();
|
elmt->freezeLabel(freeze);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1465,7 +1465,7 @@ void Diagram::freezeElements() {
|
|||||||
*/
|
*/
|
||||||
void Diagram::unfreezeElements() {
|
void Diagram::unfreezeElements() {
|
||||||
foreach (Element *elmt, elements()) {
|
foreach (Element *elmt, elements()) {
|
||||||
elmt->unfreezeLabel();
|
elmt->freezeLabel(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1474,7 +1474,7 @@ void Diagram::unfreezeElements() {
|
|||||||
* Set new element label to be frozen.
|
* Set new element label to be frozen.
|
||||||
*/
|
*/
|
||||||
void Diagram::setFreezeNewElements(bool b) {
|
void Diagram::setFreezeNewElements(bool b) {
|
||||||
m_freeze_new_elements_ = b;
|
m_freeze_new_elements = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1482,7 +1482,7 @@ void Diagram::setFreezeNewElements(bool b) {
|
|||||||
* @return current freeze new element status .
|
* @return current freeze new element status .
|
||||||
*/
|
*/
|
||||||
bool Diagram::freezeNewElements() {
|
bool Diagram::freezeNewElements() {
|
||||||
return m_freeze_new_elements_;
|
return m_freeze_new_elements;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class Diagram : public QGraphicsScene
|
|||||||
QString m_conductors_autonum_name;
|
QString m_conductors_autonum_name;
|
||||||
DiagramEventInterface *m_event_interface;
|
DiagramEventInterface *m_event_interface;
|
||||||
|
|
||||||
bool m_freeze_new_elements_;
|
bool m_freeze_new_elements;
|
||||||
bool m_freeze_new_conductors_;
|
bool m_freeze_new_conductors_;
|
||||||
|
|
||||||
// METHODS
|
// METHODS
|
||||||
@@ -217,7 +217,7 @@ class Diagram : public QGraphicsScene
|
|||||||
QGIManager &qgiManager();
|
QGIManager &qgiManager();
|
||||||
|
|
||||||
//methods related to element label Update Policy
|
//methods related to element label Update Policy
|
||||||
void freezeElements();
|
void freezeElements(bool freeze);
|
||||||
void unfreezeElements();
|
void unfreezeElements();
|
||||||
void setFreezeNewElements(bool);
|
void setFreezeNewElements(bool);
|
||||||
bool freezeNewElements();
|
bool freezeNewElements();
|
||||||
|
|||||||
@@ -653,29 +653,29 @@ void ProjectAutoNumConfigPage::applyManagement() {
|
|||||||
//Allow Both Existent and New Elements
|
//Allow Both Existent and New Elements
|
||||||
if (m_amw->ui->m_both_element_rb->isChecked()) {
|
if (m_amw->ui->m_both_element_rb->isChecked()) {
|
||||||
//Unfreeze Existent and New Elements
|
//Unfreeze Existent and New Elements
|
||||||
project()->unfreezeExistentElementLabel(from,to);
|
project()->freezeExistentElementLabel(false, from,to);
|
||||||
project()->unfreezeNewElementLabel(from,to);
|
project()->freezeNewElementLabel(false, from,to);
|
||||||
project()->setFreezeNewElements(false);
|
project()->setFreezeNewElements(false);
|
||||||
}
|
}
|
||||||
//Allow Only New
|
//Allow Only New
|
||||||
else if (m_amw->ui->m_new_element_rb->isChecked()) {
|
else if (m_amw->ui->m_new_element_rb->isChecked()) {
|
||||||
//Freeze Existent and Unfreeze New Elements
|
//Freeze Existent and Unfreeze New Elements
|
||||||
project()->freezeExistentElementLabel(from,to);
|
project()->freezeExistentElementLabel(true, from,to);
|
||||||
project()->unfreezeNewElementLabel(from,to);
|
project()->freezeNewElementLabel(false, from,to);
|
||||||
project()->setFreezeNewElements(false);
|
project()->setFreezeNewElements(false);
|
||||||
}
|
}
|
||||||
//Allow Only Existent
|
//Allow Only Existent
|
||||||
else if (m_amw->ui->m_existent_element_rb->isChecked()) {
|
else if (m_amw->ui->m_existent_element_rb->isChecked()) {
|
||||||
//Freeze New and Unfreeze Existent Elements, Set Freeze Element Project Wide
|
//Freeze New and Unfreeze Existent Elements, Set Freeze Element Project Wide
|
||||||
project()->unfreezeExistentElementLabel(from,to);
|
project()->freezeExistentElementLabel(false, from,to);
|
||||||
project()->freezeNewElementLabel(from,to);
|
project()->freezeNewElementLabel(true, from,to);
|
||||||
project()->setFreezeNewElements(true);
|
project()->setFreezeNewElements(true);
|
||||||
}
|
}
|
||||||
//Disable
|
//Disable
|
||||||
else if (m_amw->ui->m_disable_element_rb->isChecked()) {
|
else if (m_amw->ui->m_disable_element_rb->isChecked()) {
|
||||||
//Freeze Existent and New Elements, Set Freeze Element Project Wide
|
//Freeze Existent and New Elements, Set Freeze Element Project Wide
|
||||||
project()->freezeExistentElementLabel(from,to);
|
project()->freezeExistentElementLabel(true, from,to);
|
||||||
project()->freezeNewElementLabel(from,to);
|
project()->freezeNewElementLabel(true, from,to);
|
||||||
project()->setFreezeNewElements(true);
|
project()->setFreezeNewElements(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -462,6 +462,9 @@ bool Element::fromXml(QDomElement &e, QHash<int, Terminal *> &table_id_adr, bool
|
|||||||
//load prefix
|
//load prefix
|
||||||
m_prefix = e.attribute("prefix");
|
m_prefix = e.attribute("prefix");
|
||||||
|
|
||||||
|
QString fl = e.attribute("freezeLabel", "false");
|
||||||
|
m_freeze_label = fl == "false"? false : true;
|
||||||
|
|
||||||
//Load Sequential Values
|
//Load Sequential Values
|
||||||
if (e.hasAttribute("sequ_1") || e.hasAttribute("sequf_1") || e.hasAttribute("seqt_1") || e.hasAttribute("seqtf_1") || e.hasAttribute("seqh_1") || e.hasAttribute("sequf_1"))
|
if (e.hasAttribute("sequ_1") || e.hasAttribute("sequf_1") || e.hasAttribute("seqt_1") || e.hasAttribute("seqtf_1") || e.hasAttribute("seqh_1") || e.hasAttribute("sequf_1"))
|
||||||
ElementXmlRetroCompatibility::loadSequential(e, this);
|
ElementXmlRetroCompatibility::loadSequential(e, this);
|
||||||
@@ -519,6 +522,9 @@ QDomElement Element::toXml(QDomDocument &document, QHash<Terminal *, int> &table
|
|||||||
// prefix
|
// prefix
|
||||||
element.setAttribute("prefix", m_prefix);
|
element.setAttribute("prefix", m_prefix);
|
||||||
|
|
||||||
|
//frozen label
|
||||||
|
element.setAttribute("freezeLabel", m_freeze_label? "true" : "false");
|
||||||
|
|
||||||
// sequential num
|
// sequential num
|
||||||
QDomElement seq = m_autoNum_seq.toXml(document);
|
QDomElement seq = m_autoNum_seq.toXml(document);
|
||||||
if (seq.hasChildNodes())
|
if (seq.hasChildNodes())
|
||||||
@@ -836,44 +842,26 @@ void Element::setPrefix(QString prefix) {
|
|||||||
* @brief Element::freezeLabel
|
* @brief Element::freezeLabel
|
||||||
* Freeze this element label
|
* Freeze this element label
|
||||||
*/
|
*/
|
||||||
void Element::freezeLabel()
|
void Element::freezeLabel(bool freeze)
|
||||||
{
|
{
|
||||||
DiagramContext &dc = this->rElementInformations();
|
if (m_freeze_label != freeze)
|
||||||
QString freezelabel = dc["label"].toString();
|
{
|
||||||
QString label = autonum::AssignVariables::formulaToLabel(freezelabel, m_autoNum_seq, diagram(),this );
|
m_freeze_label = freeze;
|
||||||
|
QString f = m_element_informations["formula"].toString();
|
||||||
|
setUpConnectionForFormula(f,f);
|
||||||
|
|
||||||
if (!(label == freezelabel))
|
if (m_freeze_label == true)
|
||||||
{
|
updateLabel();
|
||||||
dc.addValue("frozenlabel", freezelabel);
|
|
||||||
dc.addValue("label",label);
|
|
||||||
this->setTaggedText("label", label);
|
|
||||||
this->setElementInformations(dc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Element::unfreezeLabel
|
|
||||||
* Unfreeze this element label
|
|
||||||
*/
|
|
||||||
void Element::unfreezeLabel()
|
|
||||||
{
|
|
||||||
DiagramContext &dc = this->rElementInformations();
|
|
||||||
QString frozenlabel = dc["frozenlabel"].toString();
|
|
||||||
if (frozenlabel == "") return;
|
|
||||||
dc.addValue("frozenlabel", "");
|
|
||||||
dc.addValue("label",frozenlabel);
|
|
||||||
frozenlabel = autonum::AssignVariables::formulaToLabel(frozenlabel, m_autoNum_seq, diagram(),this );
|
|
||||||
this->setTaggedText("label", frozenlabel);
|
|
||||||
this->setElementInformations(dc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Element::freezeNewAddedElement
|
* @brief Element::freezeNewAddedElement
|
||||||
* Freeze this label if needed
|
* Freeze this label if needed
|
||||||
*/
|
*/
|
||||||
void Element::freezeNewAddedElement() {
|
void Element::freezeNewAddedElement() {
|
||||||
if (this->diagram()->freezeNewElements() || this->diagram()->project()->freezeNewElements()) {
|
if (this->diagram()->freezeNewElements() || this->diagram()->project()->freezeNewElements()) {
|
||||||
freezeLabel();
|
freezeLabel(true);
|
||||||
}
|
}
|
||||||
else return;
|
else return;
|
||||||
}
|
}
|
||||||
@@ -893,6 +881,10 @@ void Element::setUpConnectionForFormula(QString old_formula, QString new_formula
|
|||||||
if (old_formula.contains("%c"))
|
if (old_formula.contains("%c"))
|
||||||
disconnect(this, &Element::xChanged, this, &Element::updateLabel);
|
disconnect(this, &Element::xChanged, this, &Element::updateLabel);
|
||||||
|
|
||||||
|
//Label is frozen, so we don't update it.
|
||||||
|
if (m_freeze_label == true)
|
||||||
|
return;
|
||||||
|
|
||||||
if (diagram() && (new_formula.contains("%f") || new_formula.contains("%id")))
|
if (diagram() && (new_formula.contains("%f") || new_formula.contains("%id")))
|
||||||
connect(diagram()->project(), &QETProject::projectDiagramsOrderChanged, this, &Element::updateLabel);
|
connect(diagram()->project(), &QETProject::projectDiagramsOrderChanged, this, &Element::updateLabel);
|
||||||
if (new_formula.contains("%l"))
|
if (new_formula.contains("%l"))
|
||||||
|
|||||||
@@ -144,8 +144,7 @@ class Element : public QetGraphicsItem
|
|||||||
void setUpFormula(bool code_letter = true);
|
void setUpFormula(bool code_letter = true);
|
||||||
void setPrefix(QString);
|
void setPrefix(QString);
|
||||||
QString getPrefix() const;
|
QString getPrefix() const;
|
||||||
void freezeLabel();
|
void freezeLabel(bool freeze);
|
||||||
void unfreezeLabel();
|
|
||||||
void freezeNewAddedElement();
|
void freezeNewAddedElement();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -155,6 +154,7 @@ class Element : public QetGraphicsItem
|
|||||||
protected:
|
protected:
|
||||||
DiagramContext m_element_informations, kind_informations_;
|
DiagramContext m_element_informations, kind_informations_;
|
||||||
autonum::sequentialNumbers m_autoNum_seq;
|
autonum::sequentialNumbers m_autoNum_seq;
|
||||||
|
bool m_freeze_label = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Draw this element
|
Draw this element
|
||||||
|
|||||||
@@ -660,21 +660,9 @@ void QETProject::setFreezeNewConductors(bool set) {
|
|||||||
* @param from - first folio index to apply freeze
|
* @param from - first folio index to apply freeze
|
||||||
* @param to - last folio index to apply freeze
|
* @param to - last folio index to apply freeze
|
||||||
*/
|
*/
|
||||||
void QETProject::freezeExistentElementLabel(int from, int to) {
|
void QETProject::freezeExistentElementLabel(bool freeze, int from, int to) {
|
||||||
for (int i = from; i <= to; i++) {
|
for (int i = from; i <= to; i++) {
|
||||||
diagrams_.at(i)->freezeElements();
|
diagrams_.at(i)->freezeElements(freeze);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QETProject::unfreezeExistentElementLabel
|
|
||||||
* Unfreeze Existent Elements in the selected folios
|
|
||||||
* @param from - first folio index to apply unfreeze
|
|
||||||
* @param to - last folio index to apply unfreeze
|
|
||||||
*/
|
|
||||||
void QETProject::unfreezeExistentElementLabel(int from, int to) {
|
|
||||||
for (int i = from; i <= to; i++) {
|
|
||||||
diagrams_.at(i)->unfreezeElements();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -684,21 +672,9 @@ void QETProject::unfreezeExistentElementLabel(int from, int to) {
|
|||||||
* @param from - first folio index to apply freeze
|
* @param from - first folio index to apply freeze
|
||||||
* @param to - last folio index to apply freeze
|
* @param to - last folio index to apply freeze
|
||||||
*/
|
*/
|
||||||
void QETProject::freezeNewElementLabel(int from, int to) {
|
void QETProject::freezeNewElementLabel(bool freeze, int from, int to) {
|
||||||
for (int i = from; i <= to; i++) {
|
for (int i = from; i <= to; i++) {
|
||||||
diagrams_.at(i)->setFreezeNewElements(true);
|
diagrams_.at(i)->setFreezeNewElements(freeze);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief QETProject::unfreezeNewElementLabel
|
|
||||||
* Unfreeze New Elements in the selected folios
|
|
||||||
* @param from - first folio index to apply unfreeze
|
|
||||||
* @param to - last folio index to apply unfreeze
|
|
||||||
*/
|
|
||||||
void QETProject::unfreezeNewElementLabel(int from, int to) {
|
|
||||||
for (int i = from; i <= to; i++) {
|
|
||||||
diagrams_.at(i)->setFreezeNewElements(false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -129,10 +129,8 @@ class QETProject : public QObject
|
|||||||
void setCurrrentElementAutonum(QString autoNum);
|
void setCurrrentElementAutonum(QString autoNum);
|
||||||
|
|
||||||
//Element
|
//Element
|
||||||
void freezeExistentElementLabel(int,int);
|
void freezeExistentElementLabel(bool freeze, int from, int to);
|
||||||
void freezeNewElementLabel(int,int);
|
void freezeNewElementLabel(bool freeze, int from, int to);
|
||||||
void unfreezeExistentElementLabel(int,int);
|
|
||||||
void unfreezeNewElementLabel(int,int);
|
|
||||||
bool freezeNewElements();
|
bool freezeNewElements();
|
||||||
void setFreezeNewElements(bool);
|
void setFreezeNewElements(bool);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user