Block Attribute Manager window (BATTMAN / ATTMAN)

BATTMAN and ATTMAN open a manager for the attribute definitions of one
attributed block: block chips with reference counts and a pick button,
a table whose columns are chosen with chips, move up/down, remove, and
an edit card (Attribute / Text / Properties) for the selected row. Apply,
OK and Sync write the list back to the block definition and, when asked,
rebuild the existing references keeping values through tag renames;
each is one undo step. Live changes are taken back on Cancel. Automation
gains attman_dialog.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-10-15 10:10:54 +03:00
1 parent 39c3e9af58
commit 4726c775bf
35 files changed
+2083 -6

No files matched your search

+7
View File
@@ -585,6 +585,8 @@ pub(super) struct OpenCADStudio {
/// ATTDEF dialog and Edit Attribute Definition dialog; `None` while closed.
attdef_dialog: Option<crate::ui::window::attdef_dialog::AttdefDialogState>,
attdef_edit: Option<crate::ui::window::attdef_dialog::AttdefEditState>,
/// Block Attribute Manager working copy; `None` while it is closed.
attman: Option<crate::ui::window::attman_dialog::AttManState>,
/// Field dialog working copy; `None` while closed.
field_dialog: Option<crate::ui::window::field_dialog::FieldDialogState>,
point_cloud_color_map: Option<crate::ui::window::pdf_dialogs::PointCloudColorMapState>,
@@ -2184,6 +2186,8 @@ pub enum ModalKind {
GeometricTolerance,
AttDef,
AttDefEdit,
/// Block Attribute Manager (BATTMAN / ATTMAN).
AttMan,
CountInvalidArea,
Field,
DraftingSettings,
@@ -4395,6 +4399,8 @@ pub enum Message {
/// An edit in one of the PDF dialogs.
PdfDialog(crate::ui::window::pdf_dialogs::PdfDialogMsg),
AttdefDialog(crate::ui::window::attdef_dialog::AttdefDialogMsg),
/// Block Attribute Manager edits.
AttMan(crate::ui::window::attman_dialog::AttManMsg),
FieldDialog(crate::ui::window::field_dialog::FieldDialogMsg),
/// An edit in the Edit Reference dialog.
RefEditDialog(crate::ui::window::refedit_dialog::RefEditDialogMsg),
@@ -4607,6 +4613,7 @@ impl OpenCADStudio {
pdf_attach: None,
point_cloud_attach: None,
attdef_dialog: None,
attman: None,
attdef_edit: None,
field_dialog: None,
point_cloud_color_map: None,