feat(blocks): author Block Properties Table from the block editor

Add the BPROPERTIESTABLE command, the Block Authoring palette row and
the grid dialog. The row needs an open block edit session with a Linear
or Polar parameter column; OK parses cells to finite numbers, re-checks
the table against the session it was opened from, writes it in one undo
step, and no-op edits close without an undo.
This commit is contained in:
Karim Jerbi committed 2026-10-18 08:11:41 +01:00
1 parent 2b0c1a6b58
commit a1de7e4ecd
13 files changed
+865 -4

No files matched your search

+7
View File
@@ -90,6 +90,7 @@ impl OpenCADStudio {
Some(K::BlockEditPicker) => crate::t!("Edit Block Definition").into_owned(),
Some(K::BlockVisibility) => crate::t!("Visibility States").into_owned(),
Some(K::BlockLookup) => crate::t!("Property Lookup Table").into_owned(),
Some(K::BlockPropertiesTable) => crate::t!("Block Properties Table").into_owned(),
Some(K::BlockSaveAs) => crate::t!("Save Block As").into_owned(),
Some(K::PointStyle) => crate::tr!("modal", "point-style"),
Some(K::AttributeEditor) => crate::tr!("modal", "attribute-editor"),
@@ -530,6 +531,12 @@ impl OpenCADStudio {
crate::ui::window::block_lookup::view(state, flow)
})
}
super::super::ModalKind::BlockPropertiesTable => {
let state = self.block_properties_table.as_ref()?;
sized_flow(ex, 940, 600, |flow| {
crate::ui::window::block_properties_table::view(state, flow)
})
}
super::super::ModalKind::BlockVisibility => {
let state = self.block_visibility.as_ref()?;
sized_flow(ex, 580, 470, |flow| {