forked from 1b-agent/opencadstudio-upstream
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:
1 parent
07a2a05975
commit
4675a439da
3 files changed
+24
-1
No files matched your search
@@ -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()),
|
||||||
|
|||||||
Reference in new issue
Block a user