Skip to content

Commit c4c5379

Browse files
committed
Toggle handles checkbox in sync with anchors checkbox
1 parent d48cfde commit c4c5379

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

editor/src/messages/portfolio/document/document_message_handler.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,9 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
11611161
}
11621162
responses.add(BroadcastEvent::ToolAbort);
11631163
responses.add(OverlaysMessage::Draw);
1164+
1165+
// TODO: Updating the widgets is only needed for anchors and handles, find a better way to do this
1166+
responses.add(PortfolioMessage::UpdateDocumentWidgets);
11641167
}
11651168
DocumentMessage::SetRangeSelectionLayer { new_layer } => {
11661169
self.layer_range_selection_reference = new_layer;
@@ -2063,6 +2066,8 @@ impl DocumentMessageHandler {
20632066
let mut snapping_state = self.snapping_state.clone();
20642067
let mut snapping_state2 = self.snapping_state.clone();
20652068

2069+
debug!("overlays_visibility_settings: {:?}", self.overlays_visibility_settings);
2070+
20662071
let mut widgets = vec![
20672072
IconButton::new("PlaybackToStart", 24)
20682073
.tooltip("Restart Animation")
@@ -2246,6 +2251,7 @@ impl DocumentMessageHandler {
22462251
LayoutGroup::Row {
22472252
widgets: vec![
22482253
CheckboxInput::new(self.overlays_visibility_settings.handles)
2254+
.disabled(!self.overlays_visibility_settings.anchors)
22492255
.tooltip("Enable or disable the handles overlay")
22502256
.on_update(|optional_input: &CheckboxInput| {
22512257
DocumentMessage::SetOverlaysVisibility {
@@ -2255,7 +2261,7 @@ impl DocumentMessageHandler {
22552261
.into()
22562262
})
22572263
.widget_holder(),
2258-
TextLabel::new("Handles".to_string()).widget_holder(),
2264+
TextLabel::new("Handles".to_string()).disabled(!self.overlays_visibility_settings.anchors).widget_holder(),
22592265
],
22602266
},
22612267
])
@@ -2403,6 +2409,7 @@ impl DocumentMessageHandler {
24032409
layout: Layout::WidgetLayout(document_bar_layout),
24042410
layout_target: LayoutTarget::DocumentBar,
24052411
});
2412+
responses.add(NodeGraphMessage::ForceRunDocumentGraph);
24062413
}
24072414

24082415
pub fn update_layers_panel_control_bar_widgets(&self, responses: &mut VecDeque<Message>) {

editor/src/messages/tool/common_functionality/shape_editor.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,10 @@ impl ShapeState {
502502
let selected_anchor_points: Vec<ManipulatorPointId> = state
503503
.selected_points
504504
.iter()
505-
.filter(|selected_point| if let ManipulatorPointId::Anchor(_) = selected_point { true } else { false })
505+
.filter(|selected_point| match selected_point {
506+
ManipulatorPointId::Anchor(_) => true,
507+
_ => false,
508+
})
506509
.cloned()
507510
.collect();
508511

0 commit comments

Comments
 (0)