diff --git a/dev_doc/enum_type_of_QGraphicsItem b/dev_doc/enum_type_of_QGraphicsItem index 67853f9e9..1dd7d02d7 100644 --- a/dev_doc/enum_type_of_QGraphicsItem +++ b/dev_doc/enum_type_of_QGraphicsItem @@ -21,3 +21,6 @@ part terminal + 1106 part text + 1107 part text field + 1108 part rectangle + 1109 + +###QetGraphicsHandlerItem### +QetGraphicsHandlerItem = 1200 diff --git a/sources/projectview.cpp b/sources/projectview.cpp index 6771f8c19..2cf7b62ef 100644 --- a/sources/projectview.cpp +++ b/sources/projectview.cpp @@ -393,7 +393,7 @@ void ProjectView::addDiagram(DiagramView *diagram_view) m_diagram_view_list << diagram_view; rebuildDiagramsMap(); - updateTabTitle(diagram_view); + updateAllTabsTitle(); connect(diagram_view, SIGNAL(showDiagram(Diagram*)), this, SLOT(showDiagram(Diagram*))); connect(diagram_view, SIGNAL(titleChanged(DiagramView *, const QString &)), this, SLOT(updateTabTitle(DiagramView *))); @@ -406,18 +406,21 @@ void ProjectView::addDiagram(DiagramView *diagram_view) } /** - Enleve un schema du ProjectView - @param diagram_view Schema a enlever -*/ -void ProjectView::removeDiagram(DiagramView *diagram_view) { - if (!diagram_view) return; - if (m_project -> isReadOnly()) return; - - // verifie que le schema est bien present dans le projet - if (!m_diagram_ids.values().contains(diagram_view)) return; + * @brief ProjectView::removeDiagram + * Remove a diagram (folio) of the project + * @param diagram_view : diagram view to remove + */ +void ProjectView::removeDiagram(DiagramView *diagram_view) +{ + if (!diagram_view) + return; + if (m_project -> isReadOnly()) + return; + if (!m_diagram_ids.values().contains(diagram_view)) + return; - //Ask confirmation to user. + //Ask confirmation to user. int answer = QET::QetMessageBox::question( this, tr("Supprimer le folio ?", "message box title"), @@ -429,21 +432,20 @@ void ProjectView::removeDiagram(DiagramView *diagram_view) { return; } - // enleve le DiagramView des onglets - int diagram_tab_id = m_diagram_ids.key(diagram_view); - m_tab -> removeTab(diagram_tab_id); + //Remove the diagram view of the tabs widget + int index_to_remove = m_diagram_ids.key(diagram_view); + m_tab->removeTab(index_to_remove); m_diagram_view_list.removeAll(diagram_view); rebuildDiagramsMap(); - - // supprime le DiagramView, puis le Diagram + m_project -> removeDiagram(diagram_view -> diagram()); delete diagram_view; - // signale le retrait du schema emit(diagramRemoved(diagram_view)); - // rend definitif le retrait du schema + //Make definitve the withdrawal m_project -> write(); + updateAllTabsTitle(); } /** @@ -899,27 +901,27 @@ void ProjectView::adjustReadOnlyState() { */ void ProjectView::updateTabTitle(DiagramView *diagram_view) { - int diagram_tab_id = m_diagram_ids.key(diagram_view, -1); - - if (diagram_tab_id != -1) - { - QSettings settings; - QString title; - Diagram *diagram = diagram_view->diagram(); - - if (settings.value("genericpanel/folio", false).toBool()) - { - QString formula = diagram->border_and_titleblock.folio(); - autonum::sequentialNumbers seq; - title = autonum::AssignVariables::formulaToLabel(formula, seq, diagram); - } - else - title = QString::number(diagram->folioIndex() + 1); - - title += " - "; - title += diagram->title(); - m_tab->setTabText(diagram_tab_id ,title); - } + int diagram_tab_id = m_diagram_ids.key(diagram_view, -1); + + if (diagram_tab_id != -1) + { + QSettings settings; + QString title; + Diagram *diagram = diagram_view->diagram(); + + if (settings.value("genericpanel/folio", false).toBool()) + { + QString formula = diagram->border_and_titleblock.folio(); + autonum::sequentialNumbers seq; + title = autonum::AssignVariables::formulaToLabel(formula, seq, diagram); + } + else + title = QString::number(diagram->folioIndex() + 1); + + title += " - "; + title += diagram->title(); + m_tab->setTabText(diagram_tab_id ,title); + } } /** diff --git a/sources/qetgraphicsitem/reportelement.cpp b/sources/qetgraphicsitem/reportelement.cpp index a4b221551..72c32da88 100644 --- a/sources/qetgraphicsitem/reportelement.cpp +++ b/sources/qetgraphicsitem/reportelement.cpp @@ -91,6 +91,7 @@ void ReportElement::linkToElement(Element * elmt) m_formula = diagram()->project()->defaultReportProperties(); setConnectionForFormula(m_formula); connect(diagram()->project(), &QETProject::reportPropertiesChanged, this, &ReportElement::reportPropertiesChange); + connect(diagram()->project(), &QETProject::diagramRemoved, this, &ReportElement::updateLabel); if (elmt->terminals().size()) { @@ -124,6 +125,7 @@ void ReportElement::unlinkAllElements() { removeConnectionForFormula(m_formula); disconnect(diagram()->project(), &QETProject::reportPropertiesChanged, this, &ReportElement::reportPropertiesChange); + disconnect(diagram()->project(), &QETProject::diagramRemoved, this, &ReportElement::updateLabel); if (elmt->terminals().size()) {