Revamp, and minor improvement about element autonum / formula.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4792 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun 2016-11-26 17:12:31 +00:00
parent 60c7b9302e
commit 01af4c52e5
6 changed files with 272 additions and 274 deletions

View File

@ -31,7 +31,7 @@
AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent, QETProject *project) : AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent, QETProject *project) :
QDockWidget(parent), QDockWidget(parent),
ui(new Ui::AutoNumberingDockWidget), ui(new Ui::AutoNumberingDockWidget),
project_(project) m_project(project)
{ {
ui->setupUi(this); ui->setupUi(this);
} }
@ -65,30 +65,30 @@ void AutoNumberingDockWidget::clear()
*/ */
void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview) { void AutoNumberingDockWidget::setProject(QETProject *project, ProjectView *projectview) {
project_ = project; m_project = project;
projectview_ = projectview; m_project_view = projectview;
//Conductor Signals //Conductor Signals
connect(project_, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged())); connect(m_project, SIGNAL(conductorAutoNumChanged()),this,SLOT(conductorAutoNumChanged()));
connect (project_,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged())); connect (m_project,SIGNAL(conductorAutoNumRemoved()), this,SLOT(conductorAutoNumChanged()));
connect (project_,SIGNAL(conductorAutoNumAdded()), this,SLOT(conductorAutoNumChanged())); connect (m_project,SIGNAL(conductorAutoNumAdded()), this,SLOT(conductorAutoNumChanged()));
connect(projectview_,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*))); connect(m_project_view,SIGNAL(diagramActivated(DiagramView*)),this,SLOT(setConductorActive(DiagramView*)));
//Element Signals //Element Signals
connect (project_,SIGNAL(elementAutoNumRemoved()), this,SLOT(elementAutoNumChanged())); connect (m_project,SIGNAL(elementAutoNumRemoved(QString)), this,SLOT(elementAutoNumChanged()));
connect (project_,SIGNAL(elementAutoNumAdded()), this,SLOT(elementAutoNumChanged())); connect (m_project,SIGNAL(elementAutoNumAdded(QString)), this,SLOT(elementAutoNumChanged()));
//Folio Signals //Folio Signals
connect (project_,SIGNAL(folioAutoNumRemoved()), this,SLOT(folioAutoNumChanged())); connect (m_project,SIGNAL(folioAutoNumRemoved()), this,SLOT(folioAutoNumChanged()));
connect (project_,SIGNAL(folioAutoNumAdded()), this,SLOT(folioAutoNumChanged())); connect (m_project,SIGNAL(folioAutoNumAdded()), this,SLOT(folioAutoNumChanged()));
connect (this, connect (this,
SIGNAL(folioAutoNumChanged(QString)), SIGNAL(folioAutoNumChanged(QString)),
&projectview_->currentDiagram()->diagram()->border_and_titleblock, &m_project_view->currentDiagram()->diagram()->border_and_titleblock,
SLOT (slot_setAutoPageNum(QString))); SLOT (slot_setAutoPageNum(QString)));
connect(project_, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive())); connect(m_project, SIGNAL(defaultTitleBlockPropertiesChanged()),this,SLOT(setActive()));
//Conductor, Element and Folio Signals //Conductor, Element and Folio Signals
connect(projectview_,SIGNAL(projectClosed(ProjectView*)),this,SLOT(clear())); connect(m_project_view,SIGNAL(projectClosed(ProjectView*)),this,SLOT(clear()));
//Set Combobox Context //Set Combobox Context
setContext(); setContext();
@ -104,21 +104,21 @@ void AutoNumberingDockWidget::setContext() {
//Conductor Combobox //Conductor Combobox
ui->m_conductor_cb->addItem(""); ui->m_conductor_cb->addItem("");
QList <QString> keys_conductor = project_->conductorAutoNum().keys(); QList <QString> keys_conductor = m_project->conductorAutoNum().keys();
if (!keys_conductor.isEmpty()) { if (!keys_conductor.isEmpty()) {
foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); } foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
} }
//Element Combobox //Element Combobox
ui->m_element_cb->addItem(""); ui->m_element_cb->addItem("");
QList <QString> keys_element = project_->elementAutoNum().keys(); QList <QString> keys_element = m_project->elementAutoNum().keys();
if (!keys_element.isEmpty()) { if (!keys_element.isEmpty()) {
foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);} foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
} }
//Folio Combobox //Folio Combobox
ui->m_folio_cb->addItem(""); ui->m_folio_cb->addItem("");
QList <QString> keys_folio = project_->folioAutoNum().keys(); QList <QString> keys_folio = m_project->folioAutoNum().keys();
if (!keys_folio.isEmpty()) { if (!keys_folio.isEmpty()) {
foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);} foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
} }
@ -144,23 +144,23 @@ void AutoNumberingDockWidget::setConductorActive(DiagramView* dv) {
*/ */
void AutoNumberingDockWidget::setActive() { void AutoNumberingDockWidget::setActive() {
if (projectview_!=NULL) { if (m_project_view!=NULL) {
//Conductor //Conductor
if (projectview_->currentDiagram()) { if (m_project_view->currentDiagram()) {
QString conductor_autonum = projectview_->currentDiagram()->diagram()->conductorsAutonumName(); QString conductor_autonum = m_project_view->currentDiagram()->diagram()->conductorsAutonumName();
int conductor_index = ui->m_conductor_cb->findText(conductor_autonum); int conductor_index = ui->m_conductor_cb->findText(conductor_autonum);
ui->m_conductor_cb->setCurrentIndex(conductor_index); ui->m_conductor_cb->setCurrentIndex(conductor_index);
} }
//Element //Element
QString element_formula = project_->elementAutoNumCurrentFormula(); QString element_formula = m_project->elementAutoNumCurrentFormula();
QString active_element_autonum = project_->elementCurrentAutoNum(); QString active_element_autonum = m_project->elementCurrentAutoNum();
int el_index = ui->m_element_cb->findText(active_element_autonum); int el_index = ui->m_element_cb->findText(active_element_autonum);
ui->m_element_cb->setCurrentIndex(el_index); ui->m_element_cb->setCurrentIndex(el_index);
//Folio //Folio
if (project_->defaultTitleBlockProperties().folio == "%autonum") { if (m_project->defaultTitleBlockProperties().folio == "%autonum") {
QString page_autonum = project_->defaultTitleBlockProperties().auto_page_num; QString page_autonum = m_project->defaultTitleBlockProperties().auto_page_num;
int folio_index = ui->m_folio_cb->findText(page_autonum); int folio_index = ui->m_folio_cb->findText(page_autonum);
ui->m_folio_cb->setCurrentIndex(folio_index); ui->m_folio_cb->setCurrentIndex(folio_index);
} }
@ -172,12 +172,11 @@ void AutoNumberingDockWidget::setActive() {
* Add new or remove conductor auto num from combobox * Add new or remove conductor auto num from combobox
*/ */
void AutoNumberingDockWidget::conductorAutoNumChanged() { void AutoNumberingDockWidget::conductorAutoNumChanged() {
ui->m_conductor_cb->clear(); ui->m_conductor_cb->clear();
//Conductor Combobox //Conductor Combobox
ui->m_conductor_cb->addItem(""); ui->m_conductor_cb->addItem("");
QList <QString> keys_conductor = project_->conductorAutoNum().keys(); QList <QString> keys_conductor = m_project->conductorAutoNum().keys();
if (!keys_conductor.isEmpty()) { if (!keys_conductor.isEmpty()) {
foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); } foreach (QString str, keys_conductor) { ui->m_conductor_cb-> addItem(str); }
} }
@ -189,16 +188,20 @@ void AutoNumberingDockWidget::conductorAutoNumChanged() {
* @param unused * @param unused
* Set new conductor AutoNum * Set new conductor AutoNum
*/ */
void AutoNumberingDockWidget::on_m_conductor_cb_activated(int) { void AutoNumberingDockWidget::on_m_conductor_cb_activated(int)
{
QString current_autonum = ui->m_conductor_cb->currentText(); QString current_autonum = ui->m_conductor_cb->currentText();
QString current_formula = project_->conductorAutoNumFormula(current_autonum); QString current_formula = m_project->conductorAutoNumFormula(current_autonum);
if (current_autonum != "") {
project_->setConductorAutoNumCurrentFormula(current_formula, current_autonum); if (!current_autonum.isEmpty()) {
m_project->setConductorAutoNumCurrentFormula(current_formula, current_autonum);
} }
else else {
project_->setConductorAutoNumCurrentFormula("",""); m_project->setConductorAutoNumCurrentFormula("","");
projectview_->currentDiagram()->diagram()->setConductorsAutonumName(current_autonum); }
projectview_->currentDiagram()->diagram()->loadCndFolioSeq();
m_project_view->currentDiagram()->diagram()->setConductorsAutonumName(current_autonum);
m_project_view->currentDiagram()->diagram()->loadCndFolioSeq();
} }
/** /**
@ -211,7 +214,7 @@ void AutoNumberingDockWidget::elementAutoNumChanged() {
//Element Combobox //Element Combobox
ui->m_element_cb->addItem(""); ui->m_element_cb->addItem("");
QList <QString> keys_element = project_->elementAutoNum().keys(); QList <QString> keys_element = m_project->elementAutoNum().keys();
if (!keys_element.isEmpty()) { if (!keys_element.isEmpty()) {
foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);} foreach (QString str, keys_element) {ui->m_element_cb -> addItem(str);}
} }
@ -223,15 +226,10 @@ void AutoNumberingDockWidget::elementAutoNumChanged() {
* @param unused * @param unused
* Set new element AutoNum * Set new element AutoNum
*/ */
void AutoNumberingDockWidget::on_m_element_cb_activated(int) { void AutoNumberingDockWidget::on_m_element_cb_activated(int)
QString current_autonum = ui->m_element_cb->currentText(); {
QString current_formula = project_->elementAutoNumFormula(current_autonum); m_project->setCurrrentElementAutonum(ui->m_element_cb->currentText());
if (current_autonum != "") { m_project_view->currentDiagram()->diagram()->loadElmtFolioSeq();
project_->setElementAutoNumCurrentFormula(current_formula, current_autonum);
}
else
project_->setElementAutoNumCurrentFormula("","");
projectview_->currentDiagram()->diagram()->loadElmtFolioSeq();
} }
/** /**
@ -244,7 +242,7 @@ void AutoNumberingDockWidget::folioAutoNumChanged() {
//Folio Combobox //Folio Combobox
ui->m_folio_cb->addItem(""); ui->m_folio_cb->addItem("");
QList <QString> keys_folio = project_->folioAutoNum().keys(); QList <QString> keys_folio = m_project->folioAutoNum().keys();
if (!keys_folio.isEmpty()) { if (!keys_folio.isEmpty()) {
foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);} foreach (QString str, keys_folio) { ui->m_folio_cb -> addItem(str);}
} }
@ -258,15 +256,15 @@ void AutoNumberingDockWidget::folioAutoNumChanged() {
*/ */
void AutoNumberingDockWidget::on_m_folio_cb_activated(int) { void AutoNumberingDockWidget::on_m_folio_cb_activated(int) {
QString current_autonum = ui->m_folio_cb->currentText(); QString current_autonum = ui->m_folio_cb->currentText();
TitleBlockProperties ip = project_ -> defaultTitleBlockProperties(); TitleBlockProperties ip = m_project -> defaultTitleBlockProperties();
if (current_autonum != "") { if (current_autonum != "") {
ip.setAutoPageNum(current_autonum); ip.setAutoPageNum(current_autonum);
ip.folio = "%autonum"; ip.folio = "%autonum";
project_->setDefaultTitleBlockProperties(ip); m_project->setDefaultTitleBlockProperties(ip);
} }
else { else {
ip.folio = "%id/%total"; ip.folio = "%id/%total";
project_->setDefaultTitleBlockProperties(ip); m_project->setDefaultTitleBlockProperties(ip);
} }
emit(folioAutoNumChanged(current_autonum)); emit(folioAutoNumChanged(current_autonum));
} }

View File

@ -55,8 +55,8 @@ class AutoNumberingDockWidget : public QDockWidget
private: private:
Ui::AutoNumberingDockWidget *ui; Ui::AutoNumberingDockWidget *ui;
QETProject* project_; QETProject* m_project;
ProjectView* projectview_; ProjectView* m_project_view;
}; };

View File

@ -39,7 +39,7 @@
*/ */
ProjectConfigPage::ProjectConfigPage(QETProject *project, QWidget *parent) : ProjectConfigPage::ProjectConfigPage(QETProject *project, QWidget *parent) :
ConfigPage(parent), ConfigPage(parent),
project_(project) m_project(project)
{ {
} }
@ -53,7 +53,7 @@ ProjectConfigPage::~ProjectConfigPage() {
@return the project being edited by this page @return the project being edited by this page
*/ */
QETProject *ProjectConfigPage::project() const { QETProject *ProjectConfigPage::project() const {
return(project_); return(m_project);
} }
/** /**
@ -62,11 +62,11 @@ QETProject *ProjectConfigPage::project() const {
@return the former project @return the former project
*/ */
QETProject *ProjectConfigPage::setProject(QETProject *new_project, bool read_values) { QETProject *ProjectConfigPage::setProject(QETProject *new_project, bool read_values) {
if (new_project == project_) return(project_); if (new_project == m_project) return(m_project);
QETProject *former_project = project_; QETProject *former_project = m_project;
project_ = new_project; m_project = new_project;
if (project_ && read_values) { if (m_project && read_values) {
readValuesFromProject(); readValuesFromProject();
adjustReadOnly(); adjustReadOnly();
} }
@ -77,7 +77,7 @@ QETProject *ProjectConfigPage::setProject(QETProject *new_project, bool read_val
Apply the configuration after user input Apply the configuration after user input
*/ */
void ProjectConfigPage::applyConf() { void ProjectConfigPage::applyConf() {
if (!project_ || project_ -> isReadOnly()) return; if (!m_project || m_project -> isReadOnly()) return;
applyProjectConf(); applyProjectConf();
} }
@ -89,7 +89,7 @@ void ProjectConfigPage::applyConf() {
void ProjectConfigPage::init() { void ProjectConfigPage::init() {
initWidgets(); initWidgets();
initLayout(); initLayout();
if (project_) { if (m_project) {
readValuesFromProject(); readValuesFromProject();
adjustReadOnly(); adjustReadOnly();
} }
@ -135,18 +135,18 @@ void ProjectMainConfigPage::applyProjectConf() {
bool modified_project = false; bool modified_project = false;
QString new_title = title_value_ -> text(); QString new_title = title_value_ -> text();
if (project_ -> title() != new_title) { if (m_project -> title() != new_title) {
project_ -> setTitle(new_title); m_project -> setTitle(new_title);
modified_project = true; modified_project = true;
} }
DiagramContext new_properties = project_variables_ -> context(); DiagramContext new_properties = project_variables_ -> context();
if (project_ -> projectProperties() != new_properties) { if (m_project -> projectProperties() != new_properties) {
project_ -> setProjectProperties(new_properties); m_project -> setProjectProperties(new_properties);
modified_project = true; modified_project = true;
} }
if (modified_project) { if (modified_project) {
project_ -> setModified(true); m_project -> setModified(true);
} }
} }
@ -197,8 +197,8 @@ void ProjectMainConfigPage::initLayout() {
Read properties from the edited project then fill widgets with them. Read properties from the edited project then fill widgets with them.
*/ */
void ProjectMainConfigPage::readValuesFromProject() { void ProjectMainConfigPage::readValuesFromProject() {
title_value_ -> setText(project_ -> title()); title_value_ -> setText(m_project -> title());
project_variables_ -> setContext(project_ -> projectProperties()); project_variables_ -> setContext(m_project -> projectProperties());
} }
/** /**
@ -206,7 +206,7 @@ void ProjectMainConfigPage::readValuesFromProject() {
editable if the project is editable. editable if the project is editable.
*/ */
void ProjectMainConfigPage::adjustReadOnly() { void ProjectMainConfigPage::adjustReadOnly() {
bool is_read_only = project_ -> isReadOnly(); bool is_read_only = m_project -> isReadOnly();
title_value_ -> setReadOnly(is_read_only); title_value_ -> setReadOnly(is_read_only);
} }
@ -383,19 +383,19 @@ void ProjectAutoNumConfigPage::initLayout() {
*/ */
void ProjectAutoNumConfigPage::readValuesFromProject() { void ProjectAutoNumConfigPage::readValuesFromProject() {
//Conductor Tab //Conductor Tab
QList <QString> keys_conductor = project_->conductorAutoNum().keys(); QList <QString> keys_conductor = m_project->conductorAutoNum().keys();
if (!keys_conductor.isEmpty()){ if (!keys_conductor.isEmpty()){
foreach (QString str, keys_conductor) { m_context_cb_conductor-> addItem(str); } foreach (QString str, keys_conductor) { m_context_cb_conductor-> addItem(str); }
} }
//Element Tab //Element Tab
QList <QString> keys_element = project_->elementAutoNum().keys(); QList <QString> keys_element = m_project->elementAutoNum().keys();
if (!keys_element.isEmpty()){ if (!keys_element.isEmpty()){
foreach (QString str, keys_element) { m_context_cb_element -> addItem(str);} foreach (QString str, keys_element) { m_context_cb_element -> addItem(str);}
} }
//Folio Tab //Folio Tab
QList <QString> keys_folio = project_->folioAutoNum().keys(); QList <QString> keys_folio = m_project->folioAutoNum().keys();
if (!keys_folio.isEmpty()){ if (!keys_folio.isEmpty()){
foreach (QString str, keys_folio) { m_context_cb_folio -> addItem(str);} foreach (QString str, keys_folio) { m_context_cb_folio -> addItem(str);}
} }
@ -428,11 +428,11 @@ void ProjectAutoNumConfigPage::buildConnections() {
connect (m_saw_conductor, SIGNAL (applyPressed()), this, SLOT (saveContext_conductor())); connect (m_saw_conductor, SIGNAL (applyPressed()), this, SLOT (saveContext_conductor()));
connect (m_remove_pb_conductor, SIGNAL (clicked()), this, SLOT (removeContext_conductor())); connect (m_remove_pb_conductor, SIGNAL (clicked()), this, SLOT (removeContext_conductor()));
//Element Tab //Element Tab
connect (m_context_cb_element, SIGNAL (currentTextChanged(QString)), m_saw_element, SLOT(applyEnableOnContextChanged(QString))); connect (m_context_cb_element, SIGNAL (currentTextChanged(QString)), m_saw_element, SLOT(applyEnableOnContextChanged(QString)));
connect (m_context_cb_element, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContext_element(QString))); connect (m_context_cb_element, SIGNAL (currentIndexChanged(QString)), this, SLOT (updateContextElement(QString)));
connect (m_saw_element, SIGNAL (applyPressed()), this, SLOT (saveContext_element())); connect (m_saw_element, SIGNAL (applyPressed()), this, SLOT (saveContextElement()));
connect (m_remove_pb_element, SIGNAL (clicked()), this, SLOT (removeContext_element())); connect (m_remove_pb_element, SIGNAL (clicked()), this, SLOT (removeContextElement()));
//Folio Tab //Folio Tab
connect (m_context_cb_folio, SIGNAL (currentTextChanged(QString)), m_saw_folio, SLOT(applyEnableOnContextChanged(QString))); connect (m_context_cb_folio, SIGNAL (currentTextChanged(QString)), m_saw_folio, SLOT(applyEnableOnContextChanged(QString)));
@ -451,7 +451,7 @@ void ProjectAutoNumConfigPage::buildConnections() {
*/ */
void ProjectAutoNumConfigPage::updateContext_conductor(QString str) { void ProjectAutoNumConfigPage::updateContext_conductor(QString str) {
if (str == tr("Nom de la nouvelle numérotation")) m_saw_conductor -> setContext(NumerotationContext()); if (str == tr("Nom de la nouvelle numérotation")) m_saw_conductor -> setContext(NumerotationContext());
else m_saw_conductor ->setContext(project_->conductorAutoNum(str)); else m_saw_conductor ->setContext(m_project->conductorAutoNum(str));
} }
/** /**
@ -461,17 +461,68 @@ void ProjectAutoNumConfigPage::updateContext_conductor(QString str) {
*/ */
void ProjectAutoNumConfigPage::updateContext_folio(QString str) { void ProjectAutoNumConfigPage::updateContext_folio(QString str) {
if (str == tr("Nom de la nouvelle numérotation")) m_saw_folio -> setContext(NumerotationContext()); if (str == tr("Nom de la nouvelle numérotation")) m_saw_folio -> setContext(NumerotationContext());
else m_saw_folio ->setContext(project_->folioAutoNum(str)); else m_saw_folio ->setContext(m_project->folioAutoNum(str));
} }
/** /**
* @brief ProjectAutoNumConfigPage::updateContext_element * @brief ProjectAutoNumConfigPage::updateContextElement
* Display the current selected context for element * Display the current selected context for element
* @param str, key of context stored in project * @param str, key of context stored in project
*/ */
void ProjectAutoNumConfigPage::updateContext_element(QString str) { void ProjectAutoNumConfigPage::updateContextElement(QString str)
if (str == tr("Nom de la nouvelle numérotation")) m_saw_element -> setContext(NumerotationContext()); {
else m_saw_element ->setContext(project_->elementAutoNum(str)); if (str == tr("Nom de la nouvelle numérotation"))
{
m_saw_element->setContext(NumerotationContext());
}
else
{
m_saw_element->setContext(m_project->elementAutoNum(str));
}
}
/**
* @brief ProjectAutoNumConfigPage::saveContextElement
* Save the current displayed Element formula in project
*/
void ProjectAutoNumConfigPage::saveContextElement()
{
// If the text is the default text "Name of new numerotation" save the edited context
// With the the name "No name"
if (m_context_cb_element->currentText() == tr("Nom de la nouvelle numérotation"))
{
QString title(tr("Sans nom"));
m_project->addElementAutoNum (title, m_saw_element -> toNumContext());
m_project->setCurrrentElementAutonum(title);
m_context_cb_element->addItem(tr("Sans nom"));
}
// If the text isn't yet to the autonum of the project, add this new item to the combo box.
else if ( !m_project -> elementAutoNum().keys().contains( m_context_cb_element->currentText()))
{
m_project->addElementAutoNum(m_context_cb_element->currentText(), m_saw_element->toNumContext());
m_project->setCurrrentElementAutonum(m_context_cb_element->currentText());
m_context_cb_element->addItem(m_context_cb_element->currentText());
}
// Else, the text already exist in the autonum of the project, just update the context
else
{
m_project->addElementAutoNum (m_context_cb_element -> currentText(), m_saw_element -> toNumContext());
m_project->setCurrrentElementAutonum(m_context_cb_element->currentText());
}
}
/**
* @brief ProjectAutoNumConfigPage::removeContextElement
* Remove from project the current element numerotation context
*/
void ProjectAutoNumConfigPage::removeContextElement()
{
//if default text, return
if (m_context_cb_element->currentText() == tr("Nom de la nouvelle numérotation"))
return;
m_project->removeElementAutoNum (m_context_cb_element->currentText());
m_context_cb_element->removeItem (m_context_cb_element->currentIndex());
} }
/** /**
@ -482,13 +533,13 @@ void ProjectAutoNumConfigPage::saveContext_conductor() {
// If the text is the default text "Name of new numerotation" save the edited context // If the text is the default text "Name of new numerotation" save the edited context
// With the the name "No name" // With the the name "No name"
if (m_context_cb_conductor-> currentText() == tr("Nom de la nouvelle numérotation")) { if (m_context_cb_conductor-> currentText() == tr("Nom de la nouvelle numérotation")) {
project_->addConductorAutoNum (tr("Sans nom"), m_saw_conductor -> toNumContext()); m_project->addConductorAutoNum (tr("Sans nom"), m_saw_conductor -> toNumContext());
project()->addConductorAutoNumFormula (tr("Sans nom"), m_saw_conductor->formula()); //add hash <title, formula> project()->addConductorAutoNumFormula (tr("Sans nom"), m_saw_conductor->formula()); //add hash <title, formula>
project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(),tr("Sans nom")); //add last added conductor formula to current formula project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(),tr("Sans nom")); //add last added conductor formula to current formula
m_context_cb_conductor-> addItem(tr("Sans nom")); m_context_cb_conductor-> addItem(tr("Sans nom"));
} }
// If the text isn't yet to the autonum of the project, add this new item to the combo box. // If the text isn't yet to the autonum of the project, add this new item to the combo box.
else if ( !project_ -> conductorAutoNum().keys().contains( m_context_cb_conductor->currentText())) { else if ( !m_project -> conductorAutoNum().keys().contains( m_context_cb_conductor->currentText())) {
project()->addConductorAutoNum(m_context_cb_conductor->currentText(), m_saw_conductor->toNumContext()); project()->addConductorAutoNum(m_context_cb_conductor->currentText(), m_saw_conductor->toNumContext());
project()->addConductorAutoNumFormula (m_context_cb_conductor->currentText(), m_saw_conductor->formula()); //add hash <title, formula> project()->addConductorAutoNumFormula (m_context_cb_conductor->currentText(), m_saw_conductor->formula()); //add hash <title, formula>
project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(),m_context_cb_conductor->currentText()); //add last added conductor formula to current formula project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(),m_context_cb_conductor->currentText()); //add last added conductor formula to current formula
@ -498,7 +549,7 @@ void ProjectAutoNumConfigPage::saveContext_conductor() {
else { else {
project()->addConductorAutoNumFormula (m_context_cb_conductor->currentText(), m_saw_conductor->formula()); //add hash <title, formula> project()->addConductorAutoNumFormula (m_context_cb_conductor->currentText(), m_saw_conductor->formula()); //add hash <title, formula>
project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(), m_context_cb_conductor->currentText()); //add last added conductor formula to current formula project()->setConductorAutoNumCurrentFormula (m_saw_conductor->formula(), m_context_cb_conductor->currentText()); //add last added conductor formula to current formula
project_->addConductorAutoNum (m_context_cb_conductor-> currentText(), m_saw_conductor -> toNumContext()); m_project->addConductorAutoNum (m_context_cb_conductor-> currentText(), m_saw_conductor -> toNumContext());
} }
project()->conductorAutoNumAdded(); project()->conductorAutoNumAdded();
} }
@ -511,51 +562,21 @@ void ProjectAutoNumConfigPage::saveContext_folio() {
// If the text is the default text "Name of new numerotation" save the edited context // If the text is the default text "Name of new numerotation" save the edited context
// With the the name "No name" // With the the name "No name"
if (m_context_cb_folio -> currentText() == tr("Nom de la nouvelle numérotation")) { if (m_context_cb_folio -> currentText() == tr("Nom de la nouvelle numérotation")) {
project_->addFolioAutoNum (tr("Sans nom"), m_saw_folio -> toNumContext()); m_project->addFolioAutoNum (tr("Sans nom"), m_saw_folio -> toNumContext());
m_context_cb_folio -> addItem(tr("Sans nom")); m_context_cb_folio -> addItem(tr("Sans nom"));
} }
// If the text isn't yet to the autonum of the project, add this new item to the combo box. // If the text isn't yet to the autonum of the project, add this new item to the combo box.
else if ( !project_ -> folioAutoNum().keys().contains( m_context_cb_folio->currentText())) { else if ( !m_project -> folioAutoNum().keys().contains( m_context_cb_folio->currentText())) {
project()->addFolioAutoNum(m_context_cb_folio->currentText(), m_saw_folio->toNumContext()); project()->addFolioAutoNum(m_context_cb_folio->currentText(), m_saw_folio->toNumContext());
m_context_cb_folio -> addItem(m_context_cb_folio->currentText()); m_context_cb_folio -> addItem(m_context_cb_folio->currentText());
} }
// Else, the text already exist in the autonum of the project, just update the context // Else, the text already exist in the autonum of the project, just update the context
else { else {
project_->addFolioAutoNum (m_context_cb_folio -> currentText(), m_saw_folio -> toNumContext()); m_project->addFolioAutoNum (m_context_cb_folio -> currentText(), m_saw_folio -> toNumContext());
} }
project()->folioAutoNumAdded(); project()->folioAutoNumAdded();
} }
/**
* @brief ProjectAutoNumConfigPage::saveContext_element
* Save the current displayed Element formula in project
*/
void ProjectAutoNumConfigPage::saveContext_element() {
// If the text is the default text "Name of new numerotation" save the edited context
// With the the name "No name"
if (m_context_cb_element -> currentText() == tr("Nom de la nouvelle numérotation")) {
project_->addElementAutoNum (tr("Sans nom"), m_saw_element -> toNumContext());
project()->addElementAutoNumFormula (tr("Sans nom"), m_saw_element->formula()); //add hash <title, formula>
project()->setElementAutoNumCurrentFormula (m_saw_element->formula(),tr("Sans nom")); //add last added element formula to current formula
m_context_cb_element -> addItem(tr("Sans nom"));
}
// If the text isn't yet to the autonum of the project, add this new item to the combo box.
else if ( !project_ -> elementAutoNum().keys().contains( m_context_cb_element->currentText())) {
project()->addElementAutoNum(m_context_cb_element->currentText(), m_saw_element->toNumContext()); //add hash <title, numcontext>
project()->addElementAutoNumFormula (m_context_cb_element->currentText(), m_saw_element->formula()); //add hash <title, formula>
project()->setElementAutoNumCurrentFormula (m_saw_element->formula(),m_context_cb_element->currentText()); //add last added element formula to current formula
m_context_cb_element -> addItem(m_context_cb_element->currentText());
}
// Else, the text already exist in the autonum of the project, just update the context
else {
project_->addElementAutoNum (m_context_cb_element -> currentText(), m_saw_element -> toNumContext()); //add hash <title, numcontext>
project()->addElementAutoNumFormula (m_context_cb_element->currentText(), m_saw_element->formula()); //add hash <title, formula>
project()->setElementAutoNumCurrentFormula (m_saw_element->formula(), m_context_cb_element->currentText()); //add last added element formula to current formula
}
project()->elementAutoNumAdded();
}
/** /**
* @brief ProjectAutoNumConfigPage::applyAutoNum * @brief ProjectAutoNumConfigPage::applyAutoNum
* Apply auto folio numbering, New Folios or Selected Folios * Apply auto folio numbering, New Folios or Selected Folios
@ -576,7 +597,7 @@ void ProjectAutoNumConfigPage::applyAutoNum() {
QString autoNum = m_faw->autoNumSelected(); QString autoNum = m_faw->autoNumSelected();
int fromFolio = m_faw->fromFolio(); int fromFolio = m_faw->fromFolio();
int toFolio = m_faw->toFolio(); int toFolio = m_faw->toFolio();
project_->autoFolioNumberingSelectedFolios(fromFolio,toFolio,autoNum); m_project->autoFolioNumberingSelectedFolios(fromFolio,toFolio,autoNum);
} }
} }
@ -681,7 +702,7 @@ void ProjectAutoNumConfigPage::applyManagement() {
void ProjectAutoNumConfigPage::removeContext_conductor() { void ProjectAutoNumConfigPage::removeContext_conductor() {
//if default text, return //if default text, return
if ( m_context_cb_conductor-> currentText() == tr("Nom de la nouvelle numérotation") ) return; if ( m_context_cb_conductor-> currentText() == tr("Nom de la nouvelle numérotation") ) return;
project_ -> removeConductorAutoNum (m_context_cb_conductor-> currentText() ); m_project -> removeConductorAutoNum (m_context_cb_conductor-> currentText() );
m_context_cb_conductor-> removeItem (m_context_cb_conductor-> currentIndex() ); m_context_cb_conductor-> removeItem (m_context_cb_conductor-> currentIndex() );
project()->conductorAutoNumRemoved(); project()->conductorAutoNumRemoved();
} }
@ -693,23 +714,11 @@ void ProjectAutoNumConfigPage::removeContext_conductor() {
void ProjectAutoNumConfigPage::removeContext_folio() { void ProjectAutoNumConfigPage::removeContext_folio() {
//if default text, return //if default text, return
if ( m_context_cb_folio -> currentText() == tr("Nom de la nouvelle numérotation") ) return; if ( m_context_cb_folio -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
project_ -> removeFolioAutoNum (m_context_cb_folio -> currentText() ); m_project -> removeFolioAutoNum (m_context_cb_folio -> currentText() );
m_context_cb_folio -> removeItem (m_context_cb_folio -> currentIndex() ); m_context_cb_folio -> removeItem (m_context_cb_folio -> currentIndex() );
project()->folioAutoNumRemoved(); project()->folioAutoNumRemoved();
} }
/**
* @brief ProjectAutoNumConfigPage::removeContext_element
* Remove from project the current element numerotation context
*/
void ProjectAutoNumConfigPage::removeContext_element() {
//if default text, return
if ( m_context_cb_element -> currentText() == tr("Nom de la nouvelle numérotation") ) return;
project_ -> removeElementAutoNum (m_context_cb_element -> currentText() );
m_context_cb_element -> removeItem (m_context_cb_element -> currentIndex() );
project()->elementAutoNumRemoved();
}
/** /**
* @brief ProjectAutoNumConfigPage::changeToTab * @brief ProjectAutoNumConfigPage::changeToTab
* @param tab index * @param tab index

View File

@ -84,7 +84,7 @@ class ProjectConfigPage : public ConfigPage {
// attributes // attributes
protected: protected:
QETProject *project_; ///< Currently edited project QETProject *m_project; ///< Currently edited project
}; };
/** /**
@ -146,9 +146,9 @@ class ProjectAutoNumConfigPage : public ProjectConfigPage {
void updateContext_folio(QString);//folio void updateContext_folio(QString);//folio
void saveContext_folio(); void saveContext_folio();
void removeContext_folio(); void removeContext_folio();
void updateContext_element(QString);//element void updateContextElement(QString);//element
void saveContext_element(); void saveContextElement();
void removeContext_element(); void removeContextElement();
void applyAutoNum(); void applyAutoNum();
void applyManagement(); void applyManagement();

View File

@ -30,6 +30,7 @@
#include "xmlelementcollection.h" #include "xmlelementcollection.h"
#include "importelementdialog.h" #include "importelementdialog.h"
#include "numerotationcontextcommands.h" #include "numerotationcontextcommands.h"
#include "assignvariables.h"
#include <QStandardPaths> #include <QStandardPaths>
@ -417,14 +418,6 @@ QHash <QString, NumerotationContext> QETProject::elementAutoNum() const {
return m_element_autonum; return m_element_autonum;
} }
/**
* @brief QETProject::elementAutoNumHash
* @return Title and Formula Hash
*/
QHash <QString, QString> QETProject::elementAutoNumHash() {
return m_element_autonum_formula;
}
/** /**
* @brief QETProject::conductorAutoNumHash * @brief QETProject::conductorAutoNumHash
* @return Title and Formula Hash * @return Title and Formula Hash
@ -438,10 +431,37 @@ QHash <QString, QString> QETProject::conductorAutoNumHash() {
* @param element autonum title * @param element autonum title
* @return Formula of element autonum stored in element autonum * @return Formula of element autonum stored in element autonum
*/ */
QString QETProject::elementAutoNumFormula (QString key) const { QString QETProject::elementAutoNumFormula (QString key) const
if (m_element_autonum.contains(key)) {
return m_element_autonum_formula[key]; if (m_element_autonum.contains(key)) {
else return ""; return autonum::NumerotationContextToFormula(m_element_autonum[key]);
}
return QString();
}
/**
* @brief QETProject::elementAutoNumCurrentFormula
* @return current formula being used by project
*/
QString QETProject::elementAutoNumCurrentFormula() const {
return elementAutoNumFormula(m_current_element_autonum);
}
/**
* @brief QETProject::elementCurrentAutoNum
* @return current element autonum title
*/
QString QETProject::elementCurrentAutoNum () const {
return m_current_element_autonum;
}
/**
* @brief QETProject::setCurrrentElementAutonum
* @param autoNum : set the current element autonum to @autonum
*/
void QETProject::setCurrrentElementAutonum(QString autoNum) {
m_current_element_autonum = autoNum;
} }
/** /**
@ -455,14 +475,6 @@ QString QETProject::conductorAutoNumFormula (QString key) const {
else return ""; else return "";
} }
/**
* @brief QETProject::elementAutoNumCurrentFormula
* @return current formula being used by project
*/
QString QETProject::elementAutoNumCurrentFormula() const {
return m_current_element_formula;
}
/** /**
* @brief QETProject::conductorAutoNumCurrentFormula * @brief QETProject::conductorAutoNumCurrentFormula
* @return current formula being used by project * @return current formula being used by project
@ -471,22 +483,22 @@ QString QETProject::conductorAutoNumCurrentFormula() const {
return m_current_conductor_formula; return m_current_conductor_formula;
} }
/**
* @brief QETProject::elementCurrentAutoNum
* @return current element autonum title
*/
QString QETProject::elementCurrentAutoNum () const {
return m_current_element_autonum;
}
/** /**
* @brief QETProject::conductorCurrentAutoNum * @brief QETProject::conductorCurrentAutoNum
* @return current element autonum title * @return current conductor autonum title
*/ */
QString QETProject::conductorCurrentAutoNum () const { QString QETProject::conductorCurrentAutoNum () const {
return m_current_conductor_autonum; return m_current_conductor_autonum;
} }
/**
* @brief QETProject::setCurrentConductorAutoNum
* @param autoNum set the current conductor autonum to @autonum
*/
void QETProject::setCurrentConductorAutoNum(QString autoNum) {
m_current_conductor_autonum = autoNum;
}
/** /**
* @brief QETProject::folioAutoNum * @brief QETProject::folioAutoNum
* @return All value of folio autonum stored in project * @return All value of folio autonum stored in project
@ -526,26 +538,6 @@ void QETProject::setConductorAutoNumCurrentFormula(QString formula, QString titl
m_current_conductor_autonum = title; m_current_conductor_autonum = title;
} }
/**
* @brief QETProject::addElementAutoNumFormula
* Add the new formula
* @param formula
*/
void QETProject::addElementAutoNumFormula(QString key, QString formula) {
m_element_autonum_formula.insert(key, formula);
}
/**
* @brief QETProject::setElementAutoNumCurrentFormula
* Add the formula and title to the current formula and current autonum
* @param formula
* @param title
*/
void QETProject::setElementAutoNumCurrentFormula(QString formula, QString title) {
m_current_element_formula = formula;
m_current_element_autonum = title;
}
/** /**
* @brief QETProject::addElementAutoNum * @brief QETProject::addElementAutoNum
* Add a new element numerotation context. If key already exist, * Add a new element numerotation context. If key already exist,
@ -553,8 +545,10 @@ void QETProject::setElementAutoNumCurrentFormula(QString formula, QString title)
* @param key * @param key
* @param context * @param context
*/ */
void QETProject::addElementAutoNum(QString key, NumerotationContext context) { void QETProject::addElementAutoNum(QString key, NumerotationContext context)
{
m_element_autonum.insert(key, context); m_element_autonum.insert(key, context);
emit elementAutoNumAdded(key);
} }
/** /**
@ -582,8 +576,10 @@ void QETProject::removeConductorAutoNum(QString key) {
* Remove Element Numerotation Context stored with key * Remove Element Numerotation Context stored with key
* @param key * @param key
*/ */
void QETProject::removeElementAutoNum(QString key) { void QETProject::removeElementAutoNum(QString key)
{
m_element_autonum.remove(key); m_element_autonum.remove(key);
emit elementAutoNumRemoved(key);
} }
/** /**
@ -1497,14 +1493,12 @@ void QETProject::readDefaultPropertiesXml(QDomDocument &xml_project)
if (!element_autonums.isNull()) if (!element_autonums.isNull())
{ {
m_current_element_autonum = element_autonums.attribute("current_autonum"); m_current_element_autonum = element_autonums.attribute("current_autonum");
m_current_element_formula = element_autonums.attribute("current_formula");
m_freeze_new_elements = element_autonums.attribute("freeze_new_elements") == "true"; m_freeze_new_elements = element_autonums.attribute("freeze_new_elements") == "true";
foreach (QDomElement elmt, QET::findInDomElement(element_autonums, "element_autonum")) foreach (QDomElement elmt, QET::findInDomElement(element_autonums, "element_autonum"))
{ {
NumerotationContext nc; NumerotationContext nc;
nc.fromXml(elmt); nc.fromXml(elmt);
m_element_autonum.insert(elmt.attribute("title"), nc); m_element_autonum.insert(elmt.attribute("title"), nc);
m_element_autonum_formula.insert(elmt.attribute("title"),elmt.attribute("formula"));
} }
} }
} }
@ -1586,7 +1580,6 @@ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) {
//Export Element Autonums //Export Element Autonums
QDomElement element_autonums = xml_document.createElement("element_autonums"); QDomElement element_autonums = xml_document.createElement("element_autonums");
element_autonums.setAttribute("current_autonum", m_current_element_autonum); element_autonums.setAttribute("current_autonum", m_current_element_autonum);
element_autonums.setAttribute("current_formula", m_current_element_formula);
element_autonums.setAttribute("freeze_new_elements", m_freeze_new_elements ? "true" : "false"); element_autonums.setAttribute("freeze_new_elements", m_freeze_new_elements ? "true" : "false");
foreach (QString key, elementAutoNum().keys()) { foreach (QString key, elementAutoNum().keys()) {
QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum"); QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum");

View File

@ -108,15 +108,12 @@ class QETProject : public QObject
QHash <QString, NumerotationContext> conductorAutoNum() const; QHash <QString, NumerotationContext> conductorAutoNum() const;
QHash <QString, NumerotationContext> elementAutoNum() const; QHash <QString, NumerotationContext> elementAutoNum() const;
QHash <QString, QString> elementAutoNumHash();
QHash <QString, QString> conductorAutoNumHash(); QHash <QString, QString> conductorAutoNumHash();
QHash <QString, NumerotationContext> folioAutoNum() const; QHash <QString, NumerotationContext> folioAutoNum() const;
void addConductorAutoNum (QString key, NumerotationContext context); void addConductorAutoNum (QString key, NumerotationContext context);
void addConductorAutoNumFormula (QString key, QString formula); void addConductorAutoNumFormula (QString key, QString formula);
void setConductorAutoNumCurrentFormula (QString formula, QString title); void setConductorAutoNumCurrentFormula (QString formula, QString title);
void addElementAutoNum (QString key, NumerotationContext context); void addElementAutoNum (QString key, NumerotationContext context);
void addElementAutoNumFormula (QString key, QString formula);
void setElementAutoNumCurrentFormula (QString formula, QString title);
void addFolioAutoNum (QString key, NumerotationContext context); void addFolioAutoNum (QString key, NumerotationContext context);
void removeConductorAutoNum (QString key); void removeConductorAutoNum (QString key);
void removeElementAutoNum (QString key); void removeElementAutoNum (QString key);
@ -128,10 +125,12 @@ class QETProject : public QObject
QString conductorAutoNumFormula(const QString key) const; //returns Formula QString conductorAutoNumFormula(const QString key) const; //returns Formula
QString conductorAutoNumCurrentFormula() const; QString conductorAutoNumCurrentFormula() const;
QString conductorCurrentAutoNum() const; QString conductorCurrentAutoNum() const;
void setCurrentConductorAutoNum(QString autoNum);
QString elementAutoNumFormula(const QString key) const; //returns Formula QString elementAutoNumFormula(const QString key) const;
QString elementAutoNumCurrentFormula() const; QString elementAutoNumCurrentFormula() const;
QString elementCurrentAutoNum() const; QString elementCurrentAutoNum() const;
void setCurrrentElementAutonum(QString autoNum);
//Element //Element
void freezeExistentElementLabel(int,int); void freezeExistentElementLabel(int,int);
@ -175,42 +174,42 @@ class QETProject : public QObject
QUndoStack* undoStack() {return undo_stack_;} QUndoStack* undoStack() {return undo_stack_;}
public slots: public slots:
void componentWritten(); void componentWritten();
Diagram *addNewDiagram(); Diagram *addNewDiagram();
QList <Diagram *> addNewDiagramFolioList(); QList <Diagram *> addNewDiagramFolioList();
void removeDiagram(Diagram *); void removeDiagram(Diagram *);
void diagramOrderChanged(int, int); void diagramOrderChanged(int, int);
void setModified(bool); void setModified(bool);
signals: signals:
void projectFilePathChanged(QETProject *, const QString &); void projectFilePathChanged(QETProject *, const QString &);
void projectTitleChanged(QETProject *, const QString &); void projectTitleChanged(QETProject *, const QString &);
void projectInformationsChanged(QETProject *); void projectInformationsChanged(QETProject *);
void diagramAdded(QETProject *, Diagram *); void diagramAdded(QETProject *, Diagram *);
void diagramRemoved(QETProject *, Diagram *); void diagramRemoved(QETProject *, Diagram *);
void projectModified(QETProject *, bool); void projectModified(QETProject *, bool);
void projectDiagramsOrderChanged(QETProject *, int, int); void projectDiagramsOrderChanged(QETProject *, int, int);
void diagramUsedTemplate(TitleBlockTemplatesCollection *, const QString &); void diagramUsedTemplate(TitleBlockTemplatesCollection *, const QString &);
void readOnlyChanged(QETProject *, bool); void readOnlyChanged(QETProject *, bool);
void reportPropertiesChanged(QString); void reportPropertiesChanged(QString);
void XRefPropertiesChanged (); void XRefPropertiesChanged ();
void addAutoNumDiagram(); void addAutoNumDiagram();
void elementAutoNumAdded(); void elementAutoNumAdded(QString name);
void elementAutoNumRemoved(); void elementAutoNumRemoved(QString name);
void conductorAutoNumAdded(); void conductorAutoNumAdded();
void conductorAutoNumRemoved(); void conductorAutoNumRemoved();
void folioAutoNumAdded(); void folioAutoNumAdded();
void folioAutoNumRemoved(); void folioAutoNumRemoved();
void folioAutoNumChanged(QString); void folioAutoNumChanged(QString);
void defaultTitleBlockPropertiesChanged(); void defaultTitleBlockPropertiesChanged();
void conductorAutoNumChanged(); void conductorAutoNumChanged();
private slots: private slots:
void updateDiagramsFolioData(); void updateDiagramsFolioData();
void updateDiagramsTitleBlockTemplate(TitleBlockTemplatesCollection *, const QString &); void updateDiagramsTitleBlockTemplate(TitleBlockTemplatesCollection *, const QString &);
void removeDiagramsTitleBlockTemplate(TitleBlockTemplatesCollection *, const QString &); void removeDiagramsTitleBlockTemplate(TitleBlockTemplatesCollection *, const QString &);
void usedTitleBlockTemplateChanged(const QString &); void usedTitleBlockTemplateChanged(const QString &);
void undoStackChanged (bool a) {if (!a) setModified(true);} void undoStackChanged (bool a) {if (!a) setModified(true);}
private: private:
void setupTitleBlockTemplatesCollection(); void setupTitleBlockTemplatesCollection();
@ -228,56 +227,55 @@ class QETProject : public QObject
// attributes // attributes
private: private:
/// File path this project is saved to /// File path this project is saved to
QString file_path_; QString file_path_;
/// Current state of the project /// Current state of the project
ProjectState state_; ProjectState state_;
/// Diagrams carried by the project /// Diagrams carried by the project
QList<Diagram *> diagrams_; QList<Diagram *> diagrams_;
/// Project title /// Project title
QString project_title_; QString project_title_;
/// QElectroTech version declared in the XML document at opening time /// QElectroTech version declared in the XML document at opening time
qreal project_qet_version_; qreal project_qet_version_;
/// Whether options were modified /// Whether options were modified
bool modified_; bool modified_;
/// Whether the project is read only /// Whether the project is read only
bool read_only_; bool read_only_;
/// Filepath for which this project is considered read only /// Filepath for which this project is considered read only
QString read_only_file_path_; QString read_only_file_path_;
/// Default dimensions and properties for new diagrams created within the project /// Default dimensions and properties for new diagrams created within the project
BorderProperties default_border_properties_; BorderProperties default_border_properties_;
/// Default conductor properties for new diagrams created within the project /// Default conductor properties for new diagrams created within the project
ConductorProperties default_conductor_properties_; ConductorProperties default_conductor_properties_;
/// Default title block properties for new diagrams created within the project /// Default title block properties for new diagrams created within the project
TitleBlockProperties default_titleblock_properties_; TitleBlockProperties default_titleblock_properties_;
/// Default report properties /// Default report properties
QString default_report_properties_; QString default_report_properties_;
/// Default xref properties /// Default xref properties
QHash <QString, XRefProperties> m_default_xref_properties; QHash <QString, XRefProperties> m_default_xref_properties;
/// Embedded title block templates collection /// Embedded title block templates collection
TitleBlockTemplatesProjectCollection titleblocks_; TitleBlockTemplatesProjectCollection titleblocks_;
/// project-wide variables that will be made available to child diagrams /// project-wide variables that will be made available to child diagrams
DiagramContext project_properties_; DiagramContext project_properties_;
/// undo stack for this project /// undo stack for this project
QUndoStack *undo_stack_; QUndoStack *undo_stack_;
/// Conductor auto numerotation /// Conductor auto numerotation
QHash <QString, NumerotationContext> m_conductor_autonum;//Title and NumContext hash QHash <QString, NumerotationContext> m_conductor_autonum;//Title and NumContext hash
QHash <QString, QString> m_conductor_autonum_formula;//Title and Formula hash QHash <QString, QString> m_conductor_autonum_formula;//Title and Formula hash
QString m_current_conductor_formula; QString m_current_conductor_formula;
QString m_current_conductor_autonum; QString m_current_conductor_autonum;
/// Folio auto numbering /// Folio auto numbering
QHash <QString, NumerotationContext> m_folio_autonum; QHash <QString, NumerotationContext> m_folio_autonum;
/// Element Auto Numbering /// Element Auto Numbering
QHash <QString, NumerotationContext> m_element_autonum; //Title and NumContext hash QHash <QString, NumerotationContext> m_element_autonum; //Title and NumContext hash
QHash <QString, QString> m_element_autonum_formula; //Title and Formula hash QString m_current_element_autonum;
QString m_current_element_formula; /// Folio List Sheets quantity for this project.
QString m_current_element_autonum; int folioSheetsQuantity;
/// Folio List Sheets quantity for this project. bool m_auto_conductor;
int folioSheetsQuantity; XmlElementCollection *m_elements_collection;
bool m_auto_conductor; bool m_freeze_new_elements;
XmlElementCollection *m_elements_collection; bool m_freeze_new_conductors;
bool m_freeze_new_elements;
bool m_freeze_new_conductors;
}; };
Q_DECLARE_METATYPE(QETProject *) Q_DECLARE_METATYPE(QETProject *)
#endif #endif