Skip to content

Commit 9e7ec3a

Browse files
Fixed Formatting and Clippy issues
1 parent 887cd82 commit 9e7ec3a

13 files changed

Lines changed: 226 additions & 137 deletions

File tree

.vscode/launch.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,25 @@
128128
"args": [],
129129
"cwd": "${workspaceFolder}"
130130
},
131+
{
132+
"type": "lldb",
133+
"request": "launch",
134+
"name": "Debug example 'menu_test'",
135+
"cargo": {
136+
"args": [
137+
"build",
138+
"--example=menu_test",
139+
"--features=menu",
140+
"--features=quad"
141+
],
142+
"filter": {
143+
"name": "menu_test",
144+
"kind": "example"
145+
}
146+
},
147+
"args": [],
148+
"cwd": "${workspaceFolder}"
149+
},
131150
{
132151
"type": "lldb",
133152
"request": "launch",

Cargo.lock

Lines changed: 12 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ full = [
6464

6565
[dev-dependencies]
6666
iced_aw = { path = "./" }
67-
getrandom = { version = "0.4.1", features = ["wasm_js"] }
67+
getrandom = { version = "0.4.2", features = ["wasm_js"] }
6868
rand = "0.10.0"
6969
env_logger = "0.11.9" # For wrap example
7070
iced_test = "0.14" # for UI testing
@@ -119,6 +119,10 @@ required-features = ["date_picker"]
119119
name = "menu"
120120
required-features = ["menu"]
121121

122+
[[example]]
123+
name = "menu_test"
124+
required-features = ["menu"]
125+
122126
[[example]]
123127
name = "number_input"
124128
required-features = ["number_input"]

examples/context_menu.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,12 @@ impl ContextMenuExample {
7474
.into(),
7575
])
7676
.into()
77-
}).style(|t: &Theme, _: iced_aw::style::Status| iced_aw::context_menu::Style {
78-
background: iced::Background::Color(t.palette().primary)
7977
})
78+
.style(
79+
|t: &Theme, _: iced_aw::style::Status| iced_aw::context_menu::Style {
80+
background: iced::Background::Color(t.palette().primary),
81+
},
82+
)
8083
.into()
8184
}
8285
}

examples/dropdown_pos.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use iced::{
44
widget::{button, column, container, row, scrollable, text},
55
};
66
use iced_aw::{DropDown, drop_down};
7-
use std::str::FromStr;
87

98
fn main() -> iced::Result {
109
iced::application(App::default, App::update, App::view).run()
@@ -18,12 +17,12 @@ enum DropDownItem {
1817
C,
1918
}
2019

21-
impl ToString for DropDownItem {
22-
fn to_string(&self) -> String {
20+
impl std::fmt::Display for DropDownItem {
21+
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2322
match self {
24-
DropDownItem::A => String::from_str("A").unwrap(),
25-
DropDownItem::B => String::from_str("B").unwrap(),
26-
DropDownItem::C => String::from_str("C").unwrap(),
23+
DropDownItem::A => write!(f, "A"),
24+
DropDownItem::B => write!(f, "B"),
25+
DropDownItem::C => write!(f, "C"),
2726
}
2827
}
2928
}

examples/menu_test.rs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
use iced::Length;
2+
use iced_aw::{Menu, MenuBar, menu, menu_items};
3+
use iced_widget::{button, container, text};
4+
5+
#[derive(Default)]
6+
pub struct App;
7+
8+
#[derive(Clone, Copy)]
9+
pub enum Message {
10+
NoOp,
11+
}
12+
13+
pub fn main() -> iced::Result {
14+
iced::application(App::default, App::update, App::view).run()
15+
}
16+
17+
impl App {
18+
pub fn update(&mut self, msg: Message) {
19+
match msg {
20+
Message::NoOp => println!("Hello"),
21+
}
22+
}
23+
24+
pub fn title(&self) -> String {
25+
"hello".into()
26+
}
27+
28+
pub fn view(&self) -> iced::Element<'_, Message> {
29+
let file_menu = Menu::new(menu_items!(
30+
(button("New").on_press(Message::NoOp)),
31+
(button("Open").on_press(Message::NoOp)),
32+
(button("Exit").on_press(Message::NoOp)),
33+
))
34+
.width(Length::Fill);
35+
36+
let edit_menu = Menu::new(menu_items!(
37+
(button("Copy").on_press(Message::NoOp)),
38+
(button("Paste").on_press(Message::NoOp)),
39+
))
40+
.width(Length::Shrink);
41+
42+
let about_menu =
43+
Menu::new(menu_items!((button("About").on_press(Message::NoOp)))).width(Length::Shrink);
44+
45+
let menu_bar = MenuBar::new(menu_items!(
46+
(container(text("File")), file_menu),
47+
(container(text("Edit")), edit_menu),
48+
(container(text("Help")), about_menu),
49+
))
50+
.draw_path(menu::DrawPath::Backdrop);
51+
52+
menu_bar.into()
53+
}
54+
}

src/widget/context_menu.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,10 @@ where
159159
}
160160

161161
fn children(&self) -> Vec<Tree> {
162-
let overlay_tree = self.overlay_instance.as_ref().map(Tree::new).unwrap_or_else(Tree::empty);
162+
let overlay_tree = self
163+
.overlay_instance
164+
.as_ref()
165+
.map_or_else(Tree::empty, Tree::new);
163166
vec![Tree::new(&self.underlay), overlay_tree]
164167
}
165168

src/widget/drop_down.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -415,19 +415,20 @@ where
415415

416416
if let Some(on_dismiss) = self.on_dismiss {
417417
match &event {
418-
Event::Keyboard(keyboard::Event::KeyPressed { key, .. }) => {
419-
if key == &keyboard::Key::Named(Named::Escape) {
420-
shell.publish(on_dismiss.clone());
421-
}
418+
Event::Keyboard(keyboard::Event::KeyPressed { key, .. })
419+
if key == &keyboard::Key::Named(Named::Escape) =>
420+
{
421+
shell.publish(on_dismiss.clone());
422422
}
423423

424424
Event::Mouse(mouse::Event::ButtonPressed(
425425
mouse::Button::Left | mouse::Button::Right,
426426
))
427-
| Event::Touch(touch::Event::FingerPressed { .. }) => {
428-
if !cursor.is_over(layout.bounds()) && !cursor.is_over(self.underlay_bounds) {
429-
shell.publish(on_dismiss.clone());
430-
}
427+
| Event::Touch(touch::Event::FingerPressed { .. })
428+
if !cursor.is_over(layout.bounds())
429+
&& !cursor.is_over(self.underlay_bounds) =>
430+
{
431+
shell.publish(on_dismiss.clone());
431432
}
432433

433434
_ => {}

src/widget/menu/menu_bar.rs

Lines changed: 48 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -429,25 +429,25 @@ where
429429
// println!("cursor in bar_bounds: {:?}", cursor.is_over(bar_bounds));
430430

431431
match event {
432-
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => {
433-
if cursor.is_over(bar_bounds) {
434-
global_state.pressed = true;
435-
if global_state.open {
436-
schedule_close_on_click(
437-
global_state,
438-
&self.global_parameters,
439-
slice,
440-
&mut self.roots,
441-
slice_layout.children(),
442-
cursor,
443-
self.close_on_item_click,
444-
self.close_on_background_click,
445-
);
446-
} else {
447-
global_state.schedule(MenuBarTask::OpenOnClick);
448-
}
449-
shell.capture_event();
432+
Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left))
433+
if cursor.is_over(bar_bounds) =>
434+
{
435+
global_state.pressed = true;
436+
if global_state.open {
437+
schedule_close_on_click(
438+
global_state,
439+
&self.global_parameters,
440+
slice,
441+
&mut self.roots,
442+
slice_layout.children(),
443+
cursor,
444+
self.close_on_item_click,
445+
self.close_on_background_click,
446+
);
447+
} else {
448+
global_state.schedule(MenuBarTask::OpenOnClick);
450449
}
450+
shell.capture_event();
451451
}
452452
Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => {
453453
global_state.pressed = false;
@@ -469,42 +469,39 @@ where
469469
}
470470
}
471471
}
472-
Event::Mouse(mouse::Event::CursorMoved { .. }) => {
473-
if global_state.open {
474-
if cursor.is_over(bar_bounds) {
475-
try_open_menu(
476-
&mut self.roots,
477-
bar_menu_state,
478-
item_trees,
479-
slice_layout.children(),
480-
cursor,
481-
shell,
482-
);
483-
shell.capture_event();
484-
} else {
485-
bar.close(item_trees, shell);
486-
}
487-
}
488-
}
489-
Event::Mouse(mouse::Event::WheelScrolled { delta }) => {
490-
if cursor.is_over(bar_bounds) && slice_layout.bounds().width > layout.bounds().width
491-
// check if scrolling is on
492-
{
493-
let scroll_speed = self.global_parameters.scroll_speed;
494-
let delta_x = match delta {
495-
mouse::ScrollDelta::Lines { x, .. } => x * scroll_speed.line,
496-
mouse::ScrollDelta::Pixels { x, .. } => x * scroll_speed.pixel,
497-
};
498-
499-
let min_offset = -(slice_layout.bounds().width - layout.bounds().width);
500-
501-
bar_menu_state.scroll_offset =
502-
(bar_menu_state.scroll_offset + delta_x).clamp(min_offset, 0.0);
503-
shell.invalidate_layout();
504-
shell.request_redraw();
472+
Event::Mouse(mouse::Event::CursorMoved { .. }) if global_state.open => {
473+
if cursor.is_over(bar_bounds) {
474+
try_open_menu(
475+
&mut self.roots,
476+
bar_menu_state,
477+
item_trees,
478+
slice_layout.children(),
479+
cursor,
480+
shell,
481+
);
505482
shell.capture_event();
483+
} else {
484+
bar.close(item_trees, shell);
506485
}
507486
}
487+
Event::Mouse(mouse::Event::WheelScrolled { delta })
488+
if cursor.is_over(bar_bounds)
489+
&& slice_layout.bounds().width > layout.bounds().width =>
490+
{
491+
let scroll_speed = self.global_parameters.scroll_speed;
492+
let delta_x = match delta {
493+
mouse::ScrollDelta::Lines { x, .. } => x * scroll_speed.line,
494+
mouse::ScrollDelta::Pixels { x, .. } => x * scroll_speed.pixel,
495+
};
496+
497+
let min_offset = -(slice_layout.bounds().width - layout.bounds().width);
498+
499+
bar_menu_state.scroll_offset =
500+
(bar_menu_state.scroll_offset + delta_x).clamp(min_offset, 0.0);
501+
shell.invalidate_layout();
502+
shell.request_redraw();
503+
shell.capture_event();
504+
}
508505
Event::Window(window::Event::Resized { .. }) => {
509506
if slice_layout.bounds().width > layout.bounds().width {
510507
let min_offset = -(slice_layout.bounds().width - layout.bounds().width);

src/widget/overlay/context_menu.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,14 @@ where
166166
let mut capture_event = false;
167167

168168
match &event {
169-
Event::Keyboard(keyboard::Event::KeyPressed { key, .. }) => {
170-
if *key == keyboard::Key::Named(keyboard::key::Named::Escape) {
171-
self.state.show = false;
172-
forward_event_to_children = false;
173-
shell.capture_event();
174-
shell.request_redraw();
175-
}
169+
Event::Keyboard(keyboard::Event::KeyPressed { key, .. })
170+
if *key == keyboard::Key::Named(keyboard::key::Named::Escape) =>
171+
{
172+
self.state.show = false;
173+
forward_event_to_children = false;
174+
shell.capture_event();
175+
shell.request_redraw();
176176
}
177-
178177
Event::Mouse(mouse::Event::ButtonPressed(
179178
mouse::Button::Left | mouse::Button::Right,
180179
))

0 commit comments

Comments
 (0)