forked from 1b-agent/opencadstudio-upstream
Rebuild a table's block after an edit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4239174f8c
commit
470d6a6b7f
3 files changed
+15
-2
No files matched your search
Generated
+1
-1
@@ -4206,7 +4206,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opencadcodec"
|
name = "opencadcodec"
|
||||||
version = "0.5.5"
|
version = "0.5.5"
|
||||||
source = "git+https://github.com/ramox81/cadcodec.git?rev=24bdac7#24bdac79787a8196227c43cc840277f302e7e124"
|
source = "git+https://github.com/ramox81/cadcodec.git?rev=87de138#87de1388d5884cb712c24ad407159e45b08df84a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash 0.8.12",
|
"ahash 0.8.12",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|||||||
+1
-1
@@ -95,7 +95,7 @@ iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aa
|
|||||||
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
||||||
|
|
||||||
[patch."https://github.com/HakanSeven12/opencadcodec.git"]
|
[patch."https://github.com/HakanSeven12/opencadcodec.git"]
|
||||||
opencadcodec = { git = "https://github.com/ramox81/cadcodec.git", rev = "24bdac7" }
|
opencadcodec = { git = "https://github.com/ramox81/cadcodec.git", rev = "87de138" }
|
||||||
|
|
||||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||||
getrandom = "0.3"
|
getrandom = "0.3"
|
||||||
|
|||||||
@@ -3624,6 +3624,19 @@ impl Scene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// An edited table lets go of its block; rebuild it from the cells so
|
||||||
|
// the drawing shows and saves the cell texts and grid it now holds.
|
||||||
|
let mut rebuilt_table_block = false;
|
||||||
|
for (handle, kind) in &changes {
|
||||||
|
if !matches!(kind, ChangeKind::Removed)
|
||||||
|
&& matches!(self.document.get_entity(*handle), Some(EntityType::Table(t)) if t.block_record_handle.is_none())
|
||||||
|
{
|
||||||
|
rebuilt_table_block |= self.document.refresh_table_block(*handle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if rebuilt_table_block {
|
||||||
|
self.block_epoch = GEOMETRY_EPOCH.fetch_add(1, Ordering::Relaxed);
|
||||||
|
}
|
||||||
if !changes.is_empty() {
|
if !changes.is_empty() {
|
||||||
self.refresh_dependency_index_for_changes(&changes);
|
self.refresh_dependency_index_for_changes(&changes);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user