feat(tablestyle): add Annotative toggle to the Table Style editor

The table-style details panel gains an Annotative checkbox that flips the
new TableStyle.annotative flag, rounding out annotative across the Text,
Dimension and Table style editors.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-06-03 17:51:45 +03:00
1 parent 07a2a05975
commit 4675a439da
3 files changed
+24 -1

No files matched your search

+2
View File
@@ -898,6 +898,8 @@ pub enum Message {
TableStyleDialogSelect(String),
TableStyleDialogNew,
TableStyleDialogDelete,
/// Toggle the Annotative flag on the selected table style.
TableStyleToggleAnnotative,
// ── MLineStyle Dialog ─────────────────────────────────────────────────
MlStyleDialogOpen,
#[allow(dead_code)]
+16
View File
@@ -5744,6 +5744,22 @@ impl OpenCADStudio {
Task::none()
}
Message::TableStyleToggleAnnotative => {
use acadrust::objects::ObjectType;
let i = self.active_tab;
let name = self.tablestyle_selected.clone();
self.push_undo_snapshot(i, "TABLESTYLE EDIT");
for obj in self.tabs[i].scene.document.objects.values_mut() {
if let ObjectType::TableStyle(s) = obj {
if s.name == name {
s.annotative = !s.annotative;
}
}
}
self.tabs[i].dirty = true;
Task::none()
}
Message::TableStyleDialogNew => {
use acadrust::objects::ObjectType;
let i = self.active_tab;
+6 -1
View File
@@ -1,7 +1,7 @@
//! Table Style Manager window — fills the entire OS window.
use crate::app::Message;
use iced::widget::{button, column, container, row, scrollable, text, Space};
use iced::widget::{button, checkbox, column, container, row, scrollable, text, Space};
use iced::{Background, Border, Color, Element, Fill, Theme};
const TB: Color = Color {
@@ -222,6 +222,11 @@ pub fn view_window<'a>(
scrollable(
column![
info_row("Name:", s.name.clone()),
checkbox(s.annotative)
.label("Annotative")
.on_toggle(|_| Message::TableStyleToggleAnnotative)
.size(14)
.text_size(11),
info_row("H Margin:", format!("{:.4}", s.horizontal_margin)),
info_row("V Margin:", format!("{:.4}", s.vertical_margin)),
info_row("Title Suppressed:", s.title_suppressed.to_string()),