forked from 1b-agent/opencadstudio-upstream
Sheet sets: fields evaluated when a sheet opens; VIEW WINDOW
- A drawing's sheet set fields are refreshed when it opens with sets loaded. - VIEW WINDOW <name> <x1,y1> <x2,y2> saves the plan view of a window. - opencadcodec: block-attribute fields use their block reference's layout. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
74df837d6c
commit
03e3632efd
27 files changed
+68
-14
No files matched your search
Generated
+1
-1
@@ -4206,7 +4206,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "opencadcodec"
|
||||
version = "0.5.5"
|
||||
source = "git+https://github.com/ramox81/cadcodec.git?rev=1ace49e#1ace49ea940cd4e1337befac1004e57a7d36015b"
|
||||
source = "git+https://github.com/ramox81/cadcodec.git?rev=5f4653a#5f4653ada2008eb0db5917abb0cb68f489edecc0"
|
||||
dependencies = [
|
||||
"ahash 0.8.12",
|
||||
"anyhow",
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ block2 = "0.5"
|
||||
objc2-foundation = { version = "0.2", features = ["NSArray", "NSURL", "NSString", "NSObject", "NSNotification", "NSThread", "NSEnumerator"] }
|
||||
|
||||
[patch."https://github.com/HakanSeven12/opencadcodec.git"]
|
||||
opencadcodec = { git = "https://github.com/ramox81/cadcodec.git", rev = "1ace49e" }
|
||||
opencadcodec = { git = "https://github.com/ramox81/cadcodec.git", rev = "5f4653a" }
|
||||
|
||||
[patch.crates-io]
|
||||
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
||||
|
||||
@@ -3273,6 +3273,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = الاستخدام: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = الاستخدام: VIEW RESTORE <name>
|
||||
.usage-view-save-name = الاستخدام: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = الاستخدام: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = الاستخدام: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = الاستخدام: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Употреба: VIEW LIST | VIEW SAVE <име> | VIEW RESTORE <име> | VIEW DELETE <име>
|
||||
.usage-view-restore-name = Употреба: VIEW RESTORE <име>
|
||||
.usage-view-save-name = Употреба: VIEW SAVE <име>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Употреба: __ocs_fmt_0__ FONT <стил> <файл_шрифт>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Употреба: __ocs_fmt_0__ LIST | NEW <име> | FONT <стил> <файл> | WIDTH <стил> <фактор> | OBLIQUE <стил> <ъгъл>
|
||||
.usage-prefix-new-name = Употреба: __ocs_fmt_0__ NEW <име>
|
||||
|
||||
@@ -3258,6 +3258,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Používání: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Použití: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Použití: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Použití: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Používání: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Použití: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Verwendung: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Verwendung: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Verwendung: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Verwendung: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Verwendung: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Verwendung: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Χρήση: VIEW LIST | VIEW SAVE <όνομα> | VIEW RESTORE <όνομα> | VIEW DELETE <όνομα>
|
||||
.usage-view-restore-name = Χρήση: VIEW RESTORE <όνομα>
|
||||
.usage-view-save-name = Χρήση: VIEW SAVE <όνομα>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Χρήση: __ocs_fmt_0__ FONT <στυλ> <αρχείο_γραμματοσειράς>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Χρήση: __ocs_fmt_0__ LIST | NEW <όνομα> | FONT <στυλ> <αρχείο> | WIDTH <στυλ> <συντελεστής> | OBLIQUE <στυλ> <γωνία>
|
||||
.usage-prefix-new-name = Χρήση: __ocs_fmt_0__ NEW <όνομα>
|
||||
|
||||
@@ -3262,6 +3262,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Usage: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Usage: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Usage: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Usage: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Usage: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Usage: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Uso: VIEW LIST | VIEW SAVE <nombre> | VIEW RESTORE <nombre> | VIEW DELETE <nombre>
|
||||
.usage-view-restore-name = Uso: VIEW RESTORE <nombre>
|
||||
.usage-view-save-name = Uso: VIEW SAVE <nombre>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Uso: __ocs_fmt_0__ FONT <estilo> <archivo_fuente>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Uso: __ocs_fmt_0__ LIST | NEW <nombre> | FONT <estilo> <archivo> | WIDTH <estilo> <factor> | OBLIQUE <estilo> <ángulo>
|
||||
.usage-prefix-new-name = Uso: __ocs_fmt_0__ NEW <nombre>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Käyttö: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Käyttö: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Käyttö: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Käyttö: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Käyttö: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Käyttö: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Utilisation : VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Utilisation : VIEW RESTORE <name>
|
||||
.usage-view-save-name = Utilisation : VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Utilisation : __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Utilisation : __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Utilisation : __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3249,6 +3249,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = उपयोग: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = उपयोग: VIEW RESTORE <name>
|
||||
.usage-view-save-name = उपयोग: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = उपयोग: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = उपयोग: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = उपयोग: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Használat: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Használat: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Használat: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Használat: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Használat: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Használat: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Utilizzo: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Utilizzo: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Utilizzo: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Utilizzo: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Utilizzo: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Utilizzo: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3251,6 +3251,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = 使用法: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = 使用法: VIEW RESTORE <name>
|
||||
.usage-view-save-name = 使用法: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = 使用法: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = 使用法: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = 使用法: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = 사용법: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = 사용법: VIEW RESTORE <name>
|
||||
.usage-view-save-name = 사용법: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = 사용법: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = 사용법: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = 사용법: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Gebruik: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Gebruik: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Gebruik: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Gebruik: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Gebruik: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Gebruik: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Zastosowanie: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Zastosowanie: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Zastosowanie: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Zastosowanie: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Zastosowanie: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Zastosowanie: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3261,6 +3261,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Uso: VIEW LIST | VIEW SAVE <nome> | VIEW RESTORE <nome> | VIEW DELETE <nome>
|
||||
.usage-view-restore-name = Uso: VIEW RESTORE <nome>
|
||||
.usage-view-save-name = Uso: VIEW SAVE <nome>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Uso: __ocs_fmt_0__ FONT <estilo> <arquivo_fonte>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Uso: __ocs_fmt_0__ LIST | NEW <nome> | FONT <estilo> <arquivo> | WIDTH <estilo> <fator> | OBLIQUE <estilo> <ângulo>
|
||||
.usage-prefix-new-name = Uso: __ocs_fmt_0__ NEW <nome>
|
||||
|
||||
@@ -3262,6 +3262,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Использование: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Использование: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Использование: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Использование: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Использование: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Использование: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3241,6 +3241,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = Kullanım: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = Kullanım: VIEW RESTORE <name>
|
||||
.usage-view-save-name = Kullanım: VIEW SAVE <name>
|
||||
.usage-view-window = Kullanım: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = Kullanım: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = Kullanım: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = Kullanım: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3248,6 +3248,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = 用法: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = 用法: VIEW RESTORE <name>
|
||||
.usage-view-save-name = 用法: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = 用法: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = 用法: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = 用法: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -3260,6 +3260,7 @@ layers =
|
||||
.usage-view-list-view-save-name-view-restore-na = 用法: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>
|
||||
.usage-view-restore-name = 用法: VIEW RESTORE <name>
|
||||
.usage-view-save-name = 用法: VIEW SAVE <name>
|
||||
.usage-view-window = Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>
|
||||
.usage-prefix-font-style-font-file = 用法: __ocs_fmt_0__ FONT <style> <font_file>
|
||||
.usage-prefix-list-new-name-font-style-file-wid = 用法: __ocs_fmt_0__ LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>
|
||||
.usage-prefix-new-name = 用法: __ocs_fmt_0__ NEW <name>
|
||||
|
||||
@@ -784,6 +784,8 @@ impl OpenCADStudio {
|
||||
if tokens[0].eq_ignore_ascii_case("BACKGROUND")
|
||||
|| tokens[0].eq_ignore_ascii_case("COLORSCHEME")
|
||||
|| tokens[0].eq_ignore_ascii_case("XREF")
|
||||
// `VIEW WINDOW <name> <x1,y1> <x2,y2>` takes its arguments in one line.
|
||||
|| tokens[0].eq_ignore_ascii_case("VIEW")
|
||||
{
|
||||
return self.dispatch_command(cmd);
|
||||
}
|
||||
|
||||
@@ -808,6 +808,29 @@ impl OpenCADStudio {
|
||||
.push_output(crate::tf!("View '{}' saved.", name).as_ref());
|
||||
}
|
||||
}
|
||||
"WINDOW" | "W" => {
|
||||
// A plan view of the window between two corners.
|
||||
let args: Vec<&str> = parts.get(2).map(|s| s.split_whitespace().collect()).unwrap_or_default();
|
||||
let corner = |s: &str| {
|
||||
let mut c = s.split(',');
|
||||
Some((c.next()?.trim().parse::<f64>().ok()?, c.next()?.trim().parse::<f64>().ok()?))
|
||||
};
|
||||
match (args.first(), args.get(1).and_then(|s| corner(s)), args.get(2).and_then(|s| corner(s))) {
|
||||
(Some(name), Some(a), Some(b)) if a.0 != b.0 && a.1 != b.1 => {
|
||||
use codec::types::Vector3;
|
||||
let mut view = self.tabs[i].scene.current_as_named_view(name);
|
||||
view.target = Vector3 { x: (a.0 + b.0) / 2.0, y: (a.1 + b.1) / 2.0, z: 0.0 };
|
||||
view.direction = Vector3 { x: 0.0, y: 0.0, z: 1.0 };
|
||||
view.width = (b.0 - a.0).abs();
|
||||
view.height = (b.1 - a.1).abs();
|
||||
self.tabs[i].scene.document.views.add_or_replace(view);
|
||||
self.command_line.push_output(crate::tf!("View '{}' saved.", name).as_ref());
|
||||
}
|
||||
_ => self
|
||||
.command_line
|
||||
.push_error(crate::t!("Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>").as_ref()),
|
||||
}
|
||||
}
|
||||
"DELETE" | "DEL" | "D" => {
|
||||
let name = parts.get(2).map(|s| s.trim()).unwrap_or("").to_string();
|
||||
if name.is_empty() {
|
||||
|
||||
@@ -475,18 +475,7 @@ impl OpenCADStudio {
|
||||
self.sheet_set.status.clear();
|
||||
}
|
||||
for tab in &mut self.tabs {
|
||||
// The fields keep the new values, as when the reference updates them.
|
||||
crate::entities::field::refresh_sheet_set_fields(&mut tab.scene.document);
|
||||
let changes: Vec<_> = tab
|
||||
.scene
|
||||
.document
|
||||
.entities()
|
||||
.filter(|e| crate::entities::field::hosts_field(&tab.scene.document, e))
|
||||
.map(|e| (e.common().handle, crate::scene::ChangeKind::Modified))
|
||||
.collect();
|
||||
if !changes.is_empty() {
|
||||
tab.scene.bump_entities(&changes);
|
||||
}
|
||||
refresh_sheet_fields(&mut tab.scene);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1148,6 +1137,10 @@ impl OpenCADStudio {
|
||||
/// and locate the sheet set the drawing names (SSLOCATE / SSMAUTOOPEN).
|
||||
pub(in crate::app) fn sheet_set_after_open(&mut self, i: usize) -> Task<Message> {
|
||||
let mut task = Task::none();
|
||||
// A sheet's fields show its current values once it is open.
|
||||
if !self.sheet_set.sets.is_empty() {
|
||||
refresh_sheet_fields(&mut self.tabs[i].scene);
|
||||
}
|
||||
let path = self.tabs[i].current_path.as_ref().map(|p| p.to_string_lossy().to_string());
|
||||
if let (Some(path), Some((want, layout))) = (path.as_ref(), self.sheet_set_pending_layout.as_ref()) {
|
||||
if ss::path_key(path) == *want {
|
||||
@@ -2515,3 +2508,17 @@ fn write_properties(db: &mut SheetSetDatabase, p: &Properties) {
|
||||
}
|
||||
}
|
||||
|
||||
/// Store fresh values for a drawing's sheet set fields (the fields keep them,
|
||||
/// as when the reference updates them) and redraw their hosts.
|
||||
fn refresh_sheet_fields(scene: &mut crate::scene::Scene) {
|
||||
crate::entities::field::refresh_sheet_set_fields(&mut scene.document);
|
||||
let changes: Vec<_> = scene
|
||||
.document
|
||||
.entities()
|
||||
.filter(|e| crate::entities::field::hosts_field(&scene.document, e))
|
||||
.map(|e| (e.common().handle, crate::scene::ChangeKind::Modified))
|
||||
.collect();
|
||||
if !changes.is_empty() {
|
||||
scene.bump_entities(&changes);
|
||||
}
|
||||
}
|
||||
@@ -3469,6 +3469,7 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
|
||||
"Usage: VIEW LIST | VIEW SAVE <name> | VIEW RESTORE <name> | VIEW DELETE <name>" => Some(("layers", "usage-view-list-view-save-name-view-restore-na")),
|
||||
"Usage: VIEW RESTORE <name>" => Some(("layers", "usage-view-restore-name")),
|
||||
"Usage: VIEW SAVE <name>" => Some(("layers", "usage-view-save-name")),
|
||||
"Usage: VIEW WINDOW <name> <x1,y1> <x2,y2>" => Some(("layers", "usage-view-window")),
|
||||
"Usage: XDATA LIST | SET <app> <value> | CLEAR [app]" => Some(("view", "usage-xdata-list-set-app-value-clear-app")),
|
||||
"Usage: {prefix} FONT <style> <font_file>" => Some(("layers", "usage-prefix-font-style-font-file")),
|
||||
"Usage: {prefix} LIST | NEW <name> | FONT <style> <file> | WIDTH <style> <factor> | OBLIQUE <style> <angle>" => Some(("layers", "usage-prefix-list-new-name-font-style-file-wid")),
|
||||
|
||||
Reference in new issue
Block a user