XCLIP and CLIP: clip boundaries on block references, CLIP routed by the picked object

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
ramox81andClaude Opus 5.5 committed 2026-09-24 19:39:09 +03:00
1 parent c1ecb0edaf
commit 2078fc02f8
10 files changed
+947 -16

No files matched your search

+15
View File
@@ -1559,6 +1559,11 @@ pub enum CmdResult {
/// Attach PDF pages: each page's underlay with its file (as stored) and
/// page; the host creates or reuses the definitions and commits them all
/// in one undo step, then ends the command.
/// XCLIP on block references; ends the command.
XClip {
inserts: Vec<Handle>,
action: crate::modules::insert::xclip::XclipAction,
},
/// Open the PDF Import Settings dialog; the command keeps its prompt.
OpenPdfImportSettings,
/// Import a page of a file (PDFIMPORT File); ends the command.
@@ -2805,6 +2810,16 @@ pub trait CadCommand: Send {
false
}
/// The command takes block references only (XCLIP): the host drops the
/// rest and says how many were ineligible.
fn selection_keeps_block_references(&self) -> bool {
false
}
/// Before each input the host says which block references carry a clip
/// boundary.
fn inject_clipped(&mut self, _clipped: &dyn Fn(Handle) -> bool) {}
/// Called after a selection action completes while `is_selection_gathering` is true.
/// `handles` is the full set of currently selected entities.
/// Return `Relaunch` to fire the pending command, or `NeedPoint` to keep gathering.