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
@@ -52,6 +52,7 @@ impl OpenCADStudio {
Some(K::GeometricTolerance) => crate::t!("Geometric Tolerance").into_owned(),
Some(K::AttDef) => crate::t!("Attribute Definition").into_owned(),
Some(K::AttDefEdit) => crate::t!("Edit Attribute Definition").into_owned(),
Some(K::AttMan) => crate::t!("Block Attribute Manager").into_owned(),
Some(K::CountInvalidArea) => crate::t!("Count - Invalid Area").into_owned(),
Some(K::Field) => crate::t!("Field").into_owned(),
Some(K::DraftingSettings) => crate::t!("Drafting Settings").into_owned(),
@@ -629,6 +630,12 @@ impl OpenCADStudio {
super::super::ModalKind::CountInvalidArea => sized_flow(ex, 520, 260, |flow| {
crate::ui::window::count_palette::invalid_area_view(&self.count_palette, flow)
}),
super::super::ModalKind::AttMan => {
let state = self.attman.as_ref()?;
sized_flow(ex, 880, 660, |flow| {
crate::ui::window::attman_dialog::view(state, flow)
})
}
super::super::ModalKind::AttDefEdit => {
let state = self.attdef_edit.as_ref()?;
sized_flow(ex, 460, 220, |flow| {