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 <noreply@anthropic.com>
This commit is contained in:
parent
07a2a05975
commit
4675a439da
3 changed files with 24 additions and 1 deletions
|
|
@ -898,6 +898,8 @@ pub enum Message {
|
||||||
TableStyleDialogSelect(String),
|
TableStyleDialogSelect(String),
|
||||||
TableStyleDialogNew,
|
TableStyleDialogNew,
|
||||||
TableStyleDialogDelete,
|
TableStyleDialogDelete,
|
||||||
|
/// Toggle the Annotative flag on the selected table style.
|
||||||
|
TableStyleToggleAnnotative,
|
||||||
// ── MLineStyle Dialog ─────────────────────────────────────────────────
|
// ── MLineStyle Dialog ─────────────────────────────────────────────────
|
||||||
MlStyleDialogOpen,
|
MlStyleDialogOpen,
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
|
|
||||||
|
|
@ -5744,6 +5744,22 @@ impl OpenCADStudio {
|
||||||
Task::none()
|
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 => {
|
Message::TableStyleDialogNew => {
|
||||||
use acadrust::objects::ObjectType;
|
use acadrust::objects::ObjectType;
|
||||||
let i = self.active_tab;
|
let i = self.active_tab;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
//! Table Style Manager window — fills the entire OS window.
|
//! Table Style Manager window — fills the entire OS window.
|
||||||
|
|
||||||
use crate::app::Message;
|
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};
|
use iced::{Background, Border, Color, Element, Fill, Theme};
|
||||||
|
|
||||||
const TB: Color = Color {
|
const TB: Color = Color {
|
||||||
|
|
@ -222,6 +222,11 @@ pub fn view_window<'a>(
|
||||||
scrollable(
|
scrollable(
|
||||||
column![
|
column![
|
||||||
info_row("Name:", s.name.clone()),
|
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("H Margin:", format!("{:.4}", s.horizontal_margin)),
|
||||||
info_row("V Margin:", format!("{:.4}", s.vertical_margin)),
|
info_row("V Margin:", format!("{:.4}", s.vertical_margin)),
|
||||||
info_row("Title Suppressed:", s.title_suppressed.to_string()),
|
info_row("Title Suppressed:", s.title_suppressed.to_string()),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue