mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-08-13 18:14:13 +02:00
cd7388985e
Bug #331: "Il serait intéressant de pouvoir directement dans la fenêtre 'Sélection numérotation auto' modifier la valeur d'incrément et visualiser la prochaine numérotation qui sera appliquée. Ceci sans être obligé d'ouvrir la page de configuration." The dock (AutoNumberingDockWidget) already let you see and edit a rule's *current* value inline (added in 52c8ef6b4/031710b5f/ee4ba82d2). The increment itself, and any preview of where the numbering is headed, was reachable only through Configurer -> the full project-properties dialog. Two new widgets per row (conductor/element/folio): - An increment spin box, read from and written to the same NumerotationContext field NumPartEditorW's increase_spinBox already edits in the full dialog -- same data, second place to reach it. - A read-only next-value field, computed via NumerotationContextCommands::next() -- the identical engine the "Suivant" button in the full dialog already uses to step a whole context. Reusing it rather than reimplementing the arithmetic means wrap-and-carry between parts comes out identical to what actually happens when the number is next consumed, and zero-padding matches real rendering (NumerotationContext::formatValue(), mirroring autonum::setSequentialToList()'s padding rule by hand since that function is local to assignvariables.cpp). NumerotationContext gains replaceIncrease(index, increase), a sibling to the existing replaceValue() that touches only the increment field. Every refresh call site in the file (13 of them) previously refreshed just the value field; they now go through a new refreshRow(category), which refreshes value + increment + next-value-preview together via a small per-row widget bundle (rowFor()). This also let resetAutoNum()'s three-way switch collapse to one line, and refreshValueFields()'s three near-identical blocks collapse to a loop -- both existing before this change, not new here. Verified live under Xvfb: created an element numbering rule "K" (Chiffre 1, value 1, increment 1) via the full dialog, confirmed the dock showed Valeur=1/Incrément=1/Suivant=2. Changed the dock's own Incrément to 3 -- Suivant updated live to 4, no dialog needed. Changed Valeur to 10 -- Suivant became 13. Reopened the full configuration dialog and confirmed it read back the same value_field=10/increase_spinBox=3, i.e. the round trip through replaceIncrease()/storeContext() does not disturb type, initial value, modulus or format. Builds clean, CMake/Ninja Release, Qt 5.15, 820/820, no new warnings. Fixes: https://qelectrotech.org/bugtracker/view.php?id=331 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
335 lines
9.7 KiB
XML
335 lines
9.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>AutoNumberingDockWidget</class>
|
|
<widget class="QDockWidget" name="AutoNumberingDockWidget">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>388</width>
|
|
<height>335</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Sélection numérotation auto</string>
|
|
</property>
|
|
<widget class="QWidget" name="dockWidgetContents">
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="3">
|
|
<widget class="QLabel" name="value_header_label">
|
|
<property name="text">
|
|
<string>Valeur</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="4">
|
|
<widget class="QLabel" name="increase_header_label">
|
|
<property name="text">
|
|
<string>Incrément</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="5">
|
|
<widget class="QLabel" name="next_header_label">
|
|
<property name="text">
|
|
<string>Suivant</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QComboBox" name="m_element_cb"/>
|
|
</item>
|
|
<item row="4" column="0">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Folio</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QComboBox" name="m_conductor_cb"/>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<widget class="QPushButton" name="m_conductor_reset_start_pb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>24</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Réinitialiser à la valeur de départ</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset resource="../../../qelectrotech.qrc">
|
|
<normaloff>:/ico/16x16/view-refresh.png</normaloff>:/ico/16x16/view-refresh.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="3">
|
|
<widget class="QLineEdit" name="m_conductor_value_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="4">
|
|
<widget class="QSpinBox" name="m_conductor_increase_sb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>55</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
<property name="accelerated">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="5">
|
|
<widget class="QLineEdit" name="m_conductor_next_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Prochaine valeur qui sera appliquée avec cet incrément</string>
|
|
</property>
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Element</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Conducteur</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="2">
|
|
<widget class="QPushButton" name="m_element_reset_start_pb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>24</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Réinitialiser à la valeur de départ</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset resource="../../../qelectrotech.qrc">
|
|
<normaloff>:/ico/16x16/view-refresh.png</normaloff>:/ico/16x16/view-refresh.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="3">
|
|
<widget class="QLineEdit" name="m_element_value_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="4">
|
|
<widget class="QSpinBox" name="m_element_increase_sb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>55</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
<property name="accelerated">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="5">
|
|
<widget class="QLineEdit" name="m_element_next_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Prochaine valeur qui sera appliquée avec cet incrément</string>
|
|
</property>
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<widget class="QComboBox" name="m_folio_cb"/>
|
|
</item>
|
|
<item row="4" column="2">
|
|
<widget class="QPushButton" name="m_folio_reset_start_pb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>24</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Réinitialiser à la valeur de départ</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset resource="../../../qelectrotech.qrc">
|
|
<normaloff>:/ico/16x16/view-refresh.png</normaloff>:/ico/16x16/view-refresh.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="3">
|
|
<widget class="QLineEdit" name="m_folio_value_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="4">
|
|
<widget class="QSpinBox" name="m_folio_increase_sb">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>55</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
<property name="accelerated">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>0</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="5">
|
|
<widget class="QLineEdit" name="m_folio_next_le">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>70</width>
|
|
<height>16777215</height>
|
|
</size>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Prochaine valeur qui sera appliquée avec cet incrément</string>
|
|
</property>
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="0">
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<widget class="QPushButton" name="m_configure_pb">
|
|
<property name="toolTip">
|
|
<string>Configurer les règles d'auto numérotation</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Configurer</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset resource="../../../qelectrotech.qrc">
|
|
<normaloff>:/ico/16x16/configure.png</normaloff>:/ico/16x16/configure.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
<resources>
|
|
<include location="../../../qelectrotech.qrc"/>
|
|
</resources>
|
|
<connections/>
|
|
</ui>
|