forked from 1b-agent/opencadstudio-upstream
feat(layers): add native state manager
Replace session-only layer snapshots with drawing-backed DWG and DXF states, exposed through the ribbon and LAYERSTATE commands.\n\nCloses #562
This commit is contained in:
1 parent
ad736e20ea
commit
1e624cc6b7
12 files changed
+563
-84
No files matched your search
@@ -735,6 +735,12 @@ pub(super) struct OpenCADStudio {
|
||||
layout_manager_selected: String,
|
||||
layout_manager_rename_buf: String,
|
||||
|
||||
// ── Layer State Manager ───────────────────────────────────────────────
|
||||
layer_state_selected: Option<String>,
|
||||
layer_state_name_buf: String,
|
||||
layer_state_description_buf: String,
|
||||
layer_state_filter: String,
|
||||
|
||||
// ── Annotation-scale Manager ──────────────────────────────────────────
|
||||
scale_manager_selected: String,
|
||||
scale_manager_paper_buf: String,
|
||||
@@ -1317,6 +1323,7 @@ pub enum ModalKind {
|
||||
PluginManager,
|
||||
UpdateNotice,
|
||||
Layers,
|
||||
LayerStateManager,
|
||||
Plot,
|
||||
LayoutManager,
|
||||
Plotstyle,
|
||||
@@ -1671,6 +1678,16 @@ pub enum Message {
|
||||
LayerLineweightSet(LineWeight),
|
||||
LayerTransparencyEdit(usize, String),
|
||||
LayerRenameCommit,
|
||||
// ── Layer State Manager ─────────────────────────────────────────────
|
||||
LayerStateManagerOpen,
|
||||
LayerStateManagerSelect(String),
|
||||
LayerStateManagerNew,
|
||||
LayerStateManagerFilter(String),
|
||||
LayerStateManagerName(String),
|
||||
LayerStateManagerDescription(String),
|
||||
LayerStateManagerSave,
|
||||
LayerStateManagerRestore,
|
||||
LayerStateManagerDelete,
|
||||
CursorMoved(Point),
|
||||
ViewportClick,
|
||||
ViewportMove(Point),
|
||||
@@ -2708,6 +2725,10 @@ impl OpenCADStudio {
|
||||
alias_editor_rows: Vec::new(),
|
||||
// Layout Manager
|
||||
layout_manager_selected: "Model".to_string(),
|
||||
layer_state_selected: None,
|
||||
layer_state_name_buf: String::new(),
|
||||
layer_state_description_buf: String::new(),
|
||||
layer_state_filter: String::new(),
|
||||
scale_manager_selected: String::new(),
|
||||
scale_manager_paper_buf: String::new(),
|
||||
scale_manager_drawing_buf: String::new(),
|
||||
|
||||
Reference in new issue
Block a user