mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02: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:
parent
ae2afe8424
commit
4f192940b3
@ -41,7 +41,7 @@ AutoNumberingManagementW::AutoNumberingManagementW(QETProject *project, QWidget
|
||||
ui->m_selected_folios_widget->setDisabled(true);
|
||||
ui->m_selected_folios_le->setDisabled(true);
|
||||
ui->m_selected_folios_le->setReadOnly(true);
|
||||
applyEnable(false);
|
||||
ui->m_apply_project_rb->setChecked(true);
|
||||
setProjectContext();
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,7 @@ Diagram::Diagram(QETProject *project) :
|
||||
draw_terminals_ (true),
|
||||
draw_colored_conductors_ (true),
|
||||
m_event_interface (nullptr),
|
||||
m_freeze_new_elements_ (false),
|
||||
m_freeze_new_elements (false),
|
||||
m_freeze_new_conductors_ (false)
|
||||
{
|
||||
setProject(project);
|
||||
@ -477,7 +477,7 @@ QDomDocument Diagram::toXml(bool whole_content) {
|
||||
}
|
||||
|
||||
//Default New Element
|
||||
racine.setAttribute("freezeNewElement", m_freeze_new_elements_ ? "true" : "false");
|
||||
racine.setAttribute("freezeNewElement", m_freeze_new_elements ? "true" : "false");
|
||||
|
||||
//Default New Conductor
|
||||
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");
|
||||
|
||||
// Load Freeze New Element
|
||||
m_freeze_new_elements_ = root.attribute("freezeNewElement").toInt();
|
||||
m_freeze_new_elements = root.attribute("freezeNewElement").toInt();
|
||||
|
||||
// Load Freeze New Conductor
|
||||
m_freeze_new_conductors_ = root.attribute("freezeNewConductor").toInt();
|
||||
@ -1453,9 +1453,9 @@ bool Diagram::usesTitleBlockTemplate(const QString &name) {
|
||||
* @brief Diagram::freezeElements
|
||||
* Freeze every existent element label.
|
||||
*/
|
||||
void Diagram::freezeElements() {
|
||||
void Diagram::freezeElements(bool freeze) {
|
||||
foreach (Element *elmt, elements()) {
|
||||
elmt->freezeLabel();
|
||||
elmt->freezeLabel(freeze);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1465,7 +1465,7 @@ void Diagram::freezeElements() {
|
||||
*/
|
||||
void Diagram::unfreezeElements() {
|
||||
foreach (Element *elmt, elements()) {
|
||||
elmt->unfreezeLabel();
|
||||
elmt->freezeLabel(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1474,7 +1474,7 @@ void Diagram::unfreezeElements() {
|
||||
* Set new element label to be frozen.
|
||||
*/
|
||||
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 .
|
||||
*/
|
||||
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;
|
||||
DiagramEventInterface *m_event_interface;
|
||||
|
||||
bool m_freeze_new_elements_;
|
||||
bool m_freeze_new_elements;
|
||||
bool m_freeze_new_conductors_;
|
||||
|
||||
// METHODS
|
||||
@ -217,7 +217,7 @@ class Diagram : public QGraphicsScene
|
||||
QGIManager &qgiManager();
|
||||
|
||||
//methods related to element label Update Policy
|
||||
void freezeElements();
|
||||
void freezeElements(bool freeze);
|
||||
void unfreezeElements();
|
||||
void setFreezeNewElements(bool);
|
||||
bool freezeNewElements();
|
||||
|
@ -653,29 +653,29 @@ void ProjectAutoNumConfigPage::applyManagement() {
|
||||
//Allow Both Existent and New Elements
|
||||
if (m_amw->ui->m_both_element_rb->isChecked()) {
|
||||
//Unfreeze Existent and New Elements
|
||||
project()->unfreezeExistentElementLabel(from,to);
|
||||
project()->unfreezeNewElementLabel(from,to);
|
||||
project()->freezeExistentElementLabel(false, from,to);
|
||||
project()->freezeNewElementLabel(false, from,to);
|
||||
project()->setFreezeNewElements(false);
|
||||
}
|
||||
//Allow Only New
|
||||
else if (m_amw->ui->m_new_element_rb->isChecked()) {
|
||||
//Freeze Existent and Unfreeze New Elements
|
||||
project()->freezeExistentElementLabel(from,to);
|
||||
project()->unfreezeNewElementLabel(from,to);
|
||||
project()->freezeExistentElementLabel(true, from,to);
|
||||
project()->freezeNewElementLabel(false, from,to);
|
||||
project()->setFreezeNewElements(false);
|
||||
}
|
||||
//Allow Only Existent
|
||||
else if (m_amw->ui->m_existent_element_rb->isChecked()) {
|
||||
//Freeze New and Unfreeze Existent Elements, Set Freeze Element Project Wide
|
||||
project()->unfreezeExistentElementLabel(from,to);
|
||||
project()->freezeNewElementLabel(from,to);
|
||||
project()->freezeExistentElementLabel(false, from,to);
|
||||
project()->freezeNewElementLabel(true, from,to);
|
||||
project()->setFreezeNewElements(true);
|
||||
}
|
||||
//Disable
|
||||
else if (m_amw->ui->m_disable_element_rb->isChecked()) {
|
||||
//Freeze Existent and New Elements, Set Freeze Element Project Wide
|
||||
project()->freezeExistentElementLabel(from,to);
|
||||
project()->freezeNewElementLabel(from,to);
|
||||
project()->freezeExistentElementLabel(true, from,to);
|
||||
project()->freezeNewElementLabel(true, from,to);
|
||||
project()->setFreezeNewElements(true);
|
||||
}
|
||||
|
||||
|
@ -462,6 +462,9 @@ bool Element::fromXml(QDomElement &e, QHash<int, Terminal *> &table_id_adr, bool
|
||||
//load prefix
|
||||
m_prefix = e.attribute("prefix");
|
||||
|
||||
QString fl = e.attribute("freezeLabel", "false");
|
||||
m_freeze_label = fl == "false"? false : true;
|
||||
|
||||
//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"))
|
||||
ElementXmlRetroCompatibility::loadSequential(e, this);
|
||||
@ -519,6 +522,9 @@ QDomElement Element::toXml(QDomDocument &document, QHash<Terminal *, int> &table
|
||||
// prefix
|
||||
element.setAttribute("prefix", m_prefix);
|
||||
|
||||
//frozen label
|
||||
element.setAttribute("freezeLabel", m_freeze_label? "true" : "false");
|
||||
|
||||
// sequential num
|
||||
QDomElement seq = m_autoNum_seq.toXml(document);
|
||||
if (seq.hasChildNodes())
|
||||
@ -836,35 +842,17 @@ void Element::setPrefix(QString prefix) {
|
||||
* @brief Element::freezeLabel
|
||||
* Freeze this element label
|
||||
*/
|
||||
void Element::freezeLabel()
|
||||
void Element::freezeLabel(bool freeze)
|
||||
{
|
||||
DiagramContext &dc = this->rElementInformations();
|
||||
QString freezelabel = dc["label"].toString();
|
||||
QString label = autonum::AssignVariables::formulaToLabel(freezelabel, m_autoNum_seq, diagram(),this );
|
||||
|
||||
if (!(label == freezelabel))
|
||||
if (m_freeze_label != freeze)
|
||||
{
|
||||
dc.addValue("frozenlabel", freezelabel);
|
||||
dc.addValue("label",label);
|
||||
this->setTaggedText("label", label);
|
||||
this->setElementInformations(dc);
|
||||
}
|
||||
}
|
||||
m_freeze_label = freeze;
|
||||
QString f = m_element_informations["formula"].toString();
|
||||
setUpConnectionForFormula(f,f);
|
||||
|
||||
/**
|
||||
* @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);
|
||||
if (m_freeze_label == true)
|
||||
updateLabel();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -873,7 +861,7 @@ void Element::unfreezeLabel()
|
||||
*/
|
||||
void Element::freezeNewAddedElement() {
|
||||
if (this->diagram()->freezeNewElements() || this->diagram()->project()->freezeNewElements()) {
|
||||
freezeLabel();
|
||||
freezeLabel(true);
|
||||
}
|
||||
else return;
|
||||
}
|
||||
@ -893,6 +881,10 @@ void Element::setUpConnectionForFormula(QString old_formula, QString new_formula
|
||||
if (old_formula.contains("%c"))
|
||||
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")))
|
||||
connect(diagram()->project(), &QETProject::projectDiagramsOrderChanged, this, &Element::updateLabel);
|
||||
if (new_formula.contains("%l"))
|
||||
|
@ -144,8 +144,7 @@ class Element : public QetGraphicsItem
|
||||
void setUpFormula(bool code_letter = true);
|
||||
void setPrefix(QString);
|
||||
QString getPrefix() const;
|
||||
void freezeLabel();
|
||||
void unfreezeLabel();
|
||||
void freezeLabel(bool freeze);
|
||||
void freezeNewAddedElement();
|
||||
|
||||
protected:
|
||||
@ -155,6 +154,7 @@ class Element : public QetGraphicsItem
|
||||
protected:
|
||||
DiagramContext m_element_informations, kind_informations_;
|
||||
autonum::sequentialNumbers m_autoNum_seq;
|
||||
bool m_freeze_label = false;
|
||||
|
||||
/**
|
||||
Draw this element
|
||||
|
@ -660,21 +660,9 @@ void QETProject::setFreezeNewConductors(bool set) {
|
||||
* @param from - first 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++) {
|
||||
diagrams_.at(i)->freezeElements();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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();
|
||||
diagrams_.at(i)->freezeElements(freeze);
|
||||
}
|
||||
}
|
||||
|
||||
@ -684,21 +672,9 @@ void QETProject::unfreezeExistentElementLabel(int from, int to) {
|
||||
* @param from - first 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++) {
|
||||
diagrams_.at(i)->setFreezeNewElements(true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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);
|
||||
diagrams_.at(i)->setFreezeNewElements(freeze);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -128,15 +128,13 @@ class QETProject : public QObject
|
||||
QString elementCurrentAutoNum() const;
|
||||
void setCurrrentElementAutonum(QString autoNum);
|
||||
|
||||
//Element
|
||||
void freezeExistentElementLabel(int,int);
|
||||
void freezeNewElementLabel(int,int);
|
||||
void unfreezeExistentElementLabel(int,int);
|
||||
void unfreezeNewElementLabel(int,int);
|
||||
//Element
|
||||
void freezeExistentElementLabel(bool freeze, int from, int to);
|
||||
void freezeNewElementLabel(bool freeze, int from, int to);
|
||||
bool freezeNewElements();
|
||||
void setFreezeNewElements(bool);
|
||||
|
||||
//Conductor
|
||||
//Conductor
|
||||
void freezeExistentConductorLabel(int,int);
|
||||
void unfreezeExistentConductorLabel(int,int);
|
||||
void freezeNewConductorLabel(int,int);
|
||||
|
Loading…
x
Reference in New Issue
Block a user