Skip to content

Commit 8d88f8b

Browse files
committed
disable picking restriction for menus and context menus
- makes context menus and menus in general more convenient, because you don't need to do an extra click after closing the menu
1 parent 477b73f commit 8d88f8b

16 files changed

Lines changed: 499 additions & 417 deletions

File tree

editor/src/asset/menu.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -308,19 +308,21 @@ impl AssetItemContextMenu {
308308
let rename = item("Rename", ctx);
309309

310310
let menu = ContextMenuBuilder::new(
311-
PopupBuilder::new(WidgetBuilder::new()).with_content(
312-
StackPanelBuilder::new(WidgetBuilder::new().with_children(vec![
313-
open,
314-
duplicate,
315-
copy_path,
316-
copy_file_name,
317-
delete,
318-
show_in_explorer,
319-
dependencies,
320-
rename,
321-
]))
322-
.build(ctx),
323-
),
311+
PopupBuilder::new(WidgetBuilder::new())
312+
.with_content(
313+
StackPanelBuilder::new(WidgetBuilder::new().with_children(vec![
314+
open,
315+
duplicate,
316+
copy_path,
317+
copy_file_name,
318+
delete,
319+
show_in_explorer,
320+
dependencies,
321+
rename,
322+
]))
323+
.build(ctx),
324+
)
325+
.with_restrict_picking(false),
324326
)
325327
.build(ctx);
326328
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/absm/blendspace.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -511,20 +511,22 @@ impl BlendSpaceFieldBuilder {
511511
let add_point;
512512
let remove_point;
513513
let menu = ContextMenuBuilder::new(
514-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
515-
StackPanelBuilder::new(
516-
WidgetBuilder::new()
517-
.with_child({
518-
add_point = create_menu_item("Add Point", vec![], ctx);
519-
add_point
520-
})
521-
.with_child({
522-
remove_point = create_menu_item("Remove Point", vec![], ctx);
523-
remove_point
524-
}),
514+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
515+
.with_content(
516+
StackPanelBuilder::new(
517+
WidgetBuilder::new()
518+
.with_child({
519+
add_point = create_menu_item("Add Point", vec![], ctx);
520+
add_point
521+
})
522+
.with_child({
523+
remove_point = create_menu_item("Remove Point", vec![], ctx);
524+
remove_point
525+
}),
526+
)
527+
.build(ctx),
525528
)
526-
.build(ctx),
527-
),
529+
.with_restrict_picking(false),
528530
)
529531
.build(ctx);
530532
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/absm/state_graph/context.rs

Lines changed: 57 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,21 @@ impl CanvasContextMenu {
6565
let create_state;
6666
let connect_all_nodes;
6767
let menu = ContextMenuBuilder::new(
68-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
69-
StackPanelBuilder::new(WidgetBuilder::new().with_children([
70-
{
71-
create_state = create_menu_item("Create State", vec![], ctx);
72-
create_state
73-
},
74-
{
75-
connect_all_nodes = create_menu_item("Connect all nodes", vec![], ctx);
76-
connect_all_nodes
77-
},
78-
]))
79-
.build(ctx),
80-
),
68+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
69+
.with_content(
70+
StackPanelBuilder::new(WidgetBuilder::new().with_children([
71+
{
72+
create_state = create_menu_item("Create State", vec![], ctx);
73+
create_state
74+
},
75+
{
76+
connect_all_nodes = create_menu_item("Connect all nodes", vec![], ctx);
77+
connect_all_nodes
78+
},
79+
]))
80+
.build(ctx),
81+
)
82+
.with_restrict_picking(false),
8183
)
8284
.build(ctx);
8385
let menu = RcUiNodeHandle::new(menu, ctx.sender());
@@ -168,37 +170,40 @@ impl NodeContextMenu {
168170
let enter_state;
169171
let connect_to_all_nodes;
170172
let menu = ContextMenuBuilder::new(
171-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
172-
StackPanelBuilder::new(
173-
WidgetBuilder::new()
174-
.with_child({
175-
create_transition = create_menu_item("Create Transition", vec![], ctx);
176-
create_transition
177-
})
178-
.with_child({
179-
remove = create_menu_item("Remove", vec![], ctx);
180-
remove
181-
})
182-
.with_child({
183-
set_as_entry_state =
184-
create_menu_item("Set As Entry State", vec![], ctx);
185-
set_as_entry_state
186-
})
187-
.with_child({
188-
enter_state = create_menu_item("Enter State", vec![], ctx);
189-
enter_state
190-
})
191-
.with_child({
192-
connect_to_all_nodes = create_menu_item(
193-
"Create all transition from current state",
194-
vec![],
195-
ctx,
196-
);
197-
connect_to_all_nodes
198-
}),
173+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
174+
.with_content(
175+
StackPanelBuilder::new(
176+
WidgetBuilder::new()
177+
.with_child({
178+
create_transition =
179+
create_menu_item("Create Transition", vec![], ctx);
180+
create_transition
181+
})
182+
.with_child({
183+
remove = create_menu_item("Remove", vec![], ctx);
184+
remove
185+
})
186+
.with_child({
187+
set_as_entry_state =
188+
create_menu_item("Set As Entry State", vec![], ctx);
189+
set_as_entry_state
190+
})
191+
.with_child({
192+
enter_state = create_menu_item("Enter State", vec![], ctx);
193+
enter_state
194+
})
195+
.with_child({
196+
connect_to_all_nodes = create_menu_item(
197+
"Create all transition from current state",
198+
vec![],
199+
ctx,
200+
);
201+
connect_to_all_nodes
202+
}),
203+
)
204+
.build(ctx),
199205
)
200-
.build(ctx),
201-
),
206+
.with_restrict_picking(false),
202207
)
203208
.build(ctx);
204209
let menu = RcUiNodeHandle::new(menu, ctx.sender());
@@ -343,13 +348,15 @@ impl TransitionContextMenu {
343348
pub fn new(ctx: &mut BuildContext) -> Self {
344349
let remove;
345350
let menu = ContextMenuBuilder::new(
346-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
347-
StackPanelBuilder::new(WidgetBuilder::new().with_child({
348-
remove = create_menu_item("Remove Transition", vec![], ctx);
349-
remove
350-
}))
351-
.build(ctx),
352-
),
351+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
352+
.with_content(
353+
StackPanelBuilder::new(WidgetBuilder::new().with_child({
354+
remove = create_menu_item("Remove Transition", vec![], ctx);
355+
remove
356+
}))
357+
.build(ctx),
358+
)
359+
.with_restrict_picking(false),
353360
)
354361
.build(ctx);
355362
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/absm/state_viewer/context.rs

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ impl CanvasContextMenu {
9999
}),
100100
)
101101
.build(ctx),
102-
),
102+
)
103+
.with_restrict_picking(false),
103104
)
104105
.build(ctx);
105106
let menu = RcUiNodeHandle::new(menu, ctx.sender());
@@ -212,20 +213,22 @@ impl NodeContextMenu {
212213
let remove;
213214
let set_as_root;
214215
let menu = ContextMenuBuilder::new(
215-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
216-
StackPanelBuilder::new(
217-
WidgetBuilder::new()
218-
.with_child({
219-
set_as_root = create_menu_item("Set As Root", vec![], ctx);
220-
set_as_root
221-
})
222-
.with_child({
223-
remove = create_menu_item("Remove", vec![], ctx);
224-
remove
225-
}),
216+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
217+
.with_content(
218+
StackPanelBuilder::new(
219+
WidgetBuilder::new()
220+
.with_child({
221+
set_as_root = create_menu_item("Set As Root", vec![], ctx);
222+
set_as_root
223+
})
224+
.with_child({
225+
remove = create_menu_item("Remove", vec![], ctx);
226+
remove
227+
}),
228+
)
229+
.build(ctx),
226230
)
227-
.build(ctx),
228-
),
231+
.with_restrict_picking(false),
229232
)
230233
.build(ctx);
231234
let menu = RcUiNodeHandle::new(menu, ctx.sender());
@@ -305,13 +308,15 @@ impl ConnectionContextMenu {
305308
pub fn new(ctx: &mut BuildContext) -> Self {
306309
let remove;
307310
let menu = ContextMenuBuilder::new(
308-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
309-
StackPanelBuilder::new(WidgetBuilder::new().with_child({
310-
remove = create_menu_item("Remove Connection", vec![], ctx);
311-
remove
312-
}))
313-
.build(ctx),
314-
),
311+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
312+
.with_content(
313+
StackPanelBuilder::new(WidgetBuilder::new().with_child({
314+
remove = create_menu_item("Remove Connection", vec![], ctx);
315+
remove
316+
}))
317+
.build(ctx),
318+
)
319+
.with_restrict_picking(false),
315320
)
316321
.build(ctx);
317322
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/animation/ruler.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,22 @@ impl ContextMenu {
9090
let add_signal;
9191
let remove_signal;
9292
let menu = ContextMenuBuilder::new(
93-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
94-
StackPanelBuilder::new(
95-
WidgetBuilder::new()
96-
.with_child({
97-
add_signal = create_menu_item("Add Signal", vec![], ctx);
98-
add_signal
99-
})
100-
.with_child({
101-
remove_signal = create_menu_item("Remove Signal", vec![], ctx);
102-
remove_signal
103-
}),
93+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
94+
.with_content(
95+
StackPanelBuilder::new(
96+
WidgetBuilder::new()
97+
.with_child({
98+
add_signal = create_menu_item("Add Signal", vec![], ctx);
99+
add_signal
100+
})
101+
.with_child({
102+
remove_signal = create_menu_item("Remove Signal", vec![], ctx);
103+
remove_signal
104+
}),
105+
)
106+
.build(ctx),
104107
)
105-
.build(ctx),
106-
),
108+
.with_restrict_picking(false),
107109
)
108110
.build(ctx);
109111
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/animation/track.rs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -132,28 +132,31 @@ impl TrackContextMenu {
132132
let rebind;
133133
let duplicate;
134134
let menu = ContextMenuBuilder::new(
135-
PopupBuilder::new(WidgetBuilder::new().with_visibility(false)).with_content(
136-
StackPanelBuilder::new(
137-
WidgetBuilder::new()
138-
.with_child({
139-
remove_track = create_menu_item("Remove Selected Tracks", vec![], ctx);
140-
remove_track
141-
})
142-
.with_child({
143-
set_target = create_menu_item("Set Target...", vec![], ctx);
144-
set_target
145-
})
146-
.with_child({
147-
rebind = create_menu_item("Rebind...", vec![], ctx);
148-
rebind
149-
})
150-
.with_child({
151-
duplicate = create_menu_item("Duplicate", vec![], ctx);
152-
duplicate
153-
}),
135+
PopupBuilder::new(WidgetBuilder::new().with_visibility(false))
136+
.with_content(
137+
StackPanelBuilder::new(
138+
WidgetBuilder::new()
139+
.with_child({
140+
remove_track =
141+
create_menu_item("Remove Selected Tracks", vec![], ctx);
142+
remove_track
143+
})
144+
.with_child({
145+
set_target = create_menu_item("Set Target...", vec![], ctx);
146+
set_target
147+
})
148+
.with_child({
149+
rebind = create_menu_item("Rebind...", vec![], ctx);
150+
rebind
151+
})
152+
.with_child({
153+
duplicate = create_menu_item("Duplicate", vec![], ctx);
154+
duplicate
155+
}),
156+
)
157+
.build(ctx),
154158
)
155-
.build(ctx),
156-
),
159+
.with_restrict_picking(false),
157160
)
158161
.build(ctx);
159162
let menu = RcUiNodeHandle::new(menu, ctx.sender());

editor/src/plugins/inspector/editors/texture.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ impl TextureContextMenu {
9292
)
9393
.build(ctx),
9494
)
95+
.with_restrict_picking(false)
9596
.with_owner(owner),
9697
)
9798
.build(ctx);

0 commit comments

Comments
 (0)