forked from 1b-agent/opencadstudio-upstream
feat(measure): add radius and angle tools with dynamic measurement overlay
(cherry picked from commit aac44906a3)
This commit is contained in:
1 parent
843cbcd607
commit
3c55e6d7e1
42 files changed
+1624
-53
No files matched your search
@@ -1249,6 +1249,7 @@ impl OpenCADStudio {
|
||||
}
|
||||
|
||||
pub(super) fn on_command_escape(&mut self) -> Task<Message> {
|
||||
self.tabs[self.active_tab].measurement.clear();
|
||||
// Escape answers a pending client getpoint request first: no point.
|
||||
if self.control.get_point.is_some() {
|
||||
self.resolve_get_point(None);
|
||||
|
||||
@@ -4564,6 +4564,7 @@ impl OpenCADStudio {
|
||||
Message::ViewportRightPress => {
|
||||
self.graphic_attributes.open_menu = None;
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].measurement.dismiss_result();
|
||||
self.ribbon.close_dropdown();
|
||||
// Shift+RMB: the one-shot snap override menu at the cursor —
|
||||
// pick a snap for just the next point, then it expires (#337).
|
||||
|
||||
@@ -1236,6 +1236,7 @@ impl OpenCADStudio {
|
||||
return Task::none();
|
||||
}
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].measurement.live_visible = true;
|
||||
if let Some(task) = self.start_drag_move(i, p) {
|
||||
return Task::batch([task, self.on_viewport_move(p)]);
|
||||
}
|
||||
@@ -3162,6 +3163,7 @@ impl OpenCADStudio {
|
||||
|
||||
pub(crate) fn on_viewport_exit(&mut self) -> Task<Message> {
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].measurement.live_visible = false;
|
||||
self.hover_dwell = None;
|
||||
if self.tabs[i]
|
||||
.active_cmd
|
||||
@@ -3658,6 +3660,7 @@ impl OpenCADStudio {
|
||||
|
||||
pub(super) fn on_viewport_left_press(&mut self) -> Task<Message> {
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].measurement.dismiss_result();
|
||||
self.block_palette.pressed = None;
|
||||
if let Some(command) = self.tabs[i].active_cmd.as_mut() {
|
||||
command.set_ctrl(self.ctrl_down);
|
||||
@@ -5916,6 +5919,7 @@ properties={:.1}ms picked={}",
|
||||
|
||||
pub(super) fn on_viewport_middle_press(&mut self) -> Task<Message> {
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].measurement.dismiss_result();
|
||||
self.clear_navigation_hover(i);
|
||||
self.ribbon.close_dropdown();
|
||||
self.tabs[i].scene.remember_current_view();
|
||||
|
||||
Reference in new issue
Block a user