fixed clippy warnings

This commit is contained in:
Dmitry Stepanov
2026-04-22 23:49:45 +03:00
parent 35656f24cd
commit f3befeef86
39 changed files with 287 additions and 392 deletions
+17 -25
View File
@@ -273,27 +273,23 @@ impl Control for AssetItem {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, .. } => {
if !message.handled() && !ui.keyboard_modifiers().alt {
if let MouseButton::Left | MouseButton::Right = *button {
message.set_handled(true);
ui.send(self.handle(), AssetItemMessage::Select(true));
}
}
WidgetMessage::MouseDown {
button: MouseButton::Left | MouseButton::Right,
..
} if !message.handled() && !ui.keyboard_modifiers().alt => {
message.set_handled(true);
ui.send(self.handle(), AssetItemMessage::Select(true));
}
WidgetMessage::DragOver(dropped) => {
WidgetMessage::DragOver(dropped)
if ui
.try_get_of_type::<AssetItem>(*dropped)
.ok()
.is_some_and(|dropped| dropped.can_be_dropped_to(self))
{
ui.send(
self.text_border,
WidgetMessage::Foreground(
ui.style.property(Self::TEXT_BORDER_DROP_BRUSH),
),
);
}
.is_some_and(|dropped| dropped.can_be_dropped_to(self)) =>
{
ui.send(
self.text_border,
WidgetMessage::Foreground(ui.style.property(Self::TEXT_BORDER_DROP_BRUSH)),
);
}
WidgetMessage::MouseLeave => {
ui.send(
@@ -306,19 +302,15 @@ impl Control for AssetItem {
WidgetMessage::Drop(dropped) => {
self.try_post_move_to_message(ui, *dropped);
}
WidgetMessage::DoubleClick { button, .. } => {
if *button == MouseButton::Left {
self.open();
}
WidgetMessage::DoubleClick { button, .. } if *button == MouseButton::Left => {
self.open();
}
_ => {}
}
} else if let Some(msg) = message.data::<AssetItemMessage>() {
match msg {
AssetItemMessage::Select(select) => {
if message.destination() == self.handle() {
self.set_selected(*select, ui);
}
AssetItemMessage::Select(select) if message.destination() == self.handle() => {
self.set_selected(*select, ui);
}
AssetItemMessage::Icon {
texture,
+3 -4
View File
@@ -606,7 +606,7 @@ impl AssetBrowser {
resources.sort();
// Generate items.
for path in folders.into_iter().chain(resources.into_iter()) {
for path in folders.into_iter().chain(resources) {
let asset_item = self.add_asset(&path, ui, resource_manager, message_sender);
if let Some(item_to_select) = item_to_select.as_ref() {
@@ -691,11 +691,10 @@ impl AssetBrowser {
if let Some(msg) = message.data::<AssetItemMessage>() {
let asset_item = message.destination();
match msg {
AssetItemMessage::Select(true) => {
if ui.has_descendant_or_equal(asset_item, self.content_panel) {
AssetItemMessage::Select(true)
if ui.has_descendant_or_equal(asset_item, self.content_panel) => {
self.on_asset_selected(asset_item, sender.clone(), entry, engine);
}
}
AssetItemMessage::MoveTo {
src_item_path,
dest_dir,
+2 -3
View File
@@ -457,8 +457,8 @@ impl CameraController {
let is_perspective = graph[self.camera].projection().is_perspective();
match button {
MouseButton::Right => {
if is_perspective {
MouseButton::Right
if is_perspective => {
if modifiers.shift {
self.mouse_control_mode = MouseControlMode::Drag {
initial_position: self.position(graph),
@@ -472,7 +472,6 @@ impl CameraController {
self.z_offset = 0.0;
}
}
}
MouseButton::Middle => {
if is_perspective {
self.mouse_control_mode = MouseControlMode::OrbitalRotation;
+4 -6
View File
@@ -3008,22 +3008,21 @@ impl Editor {
self.focused = *focused;
self.try_process_file_system_events();
}
WindowEvent::Moved(new_position) => {
WindowEvent::Moved(new_position)
// Allow the window to go outside the screen bounds by a little. This
// happens when the window is maximized.
if new_position.x > -50 && new_position.y > -50 {
if new_position.x > -50 && new_position.y > -50 => {
self.settings.windows.window_position.x = new_position.x as f32;
self.settings.windows.window_position.y = new_position.y as f32;
}
}
WindowEvent::ScaleFactorChanged { scale_factor, .. } => {
set_ui_scaling(
self.engine.user_interfaces.first(),
*scale_factor as f32,
);
}
WindowEvent::RedrawRequested => {
if self.is_active() {
WindowEvent::RedrawRequested
if self.is_active() => {
let entry = self.scenes.current_scene_entry_mut();
entry
.controller
@@ -3035,7 +3034,6 @@ impl Editor {
.current_scene_controller_mut()
.on_after_render(&mut self.engine);
}
}
_ => (),
}
+4 -6
View File
@@ -373,8 +373,8 @@ impl Control for BlendSpaceField {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { button, .. }
if *button == MouseButton::Left => {
if let Some(pos) =
self.points.iter().position(|p| message.destination() == *p)
{
@@ -387,7 +387,6 @@ impl Control for BlendSpaceField {
ui.capture_mouse(self.handle);
}
}
WidgetMessage::MouseUp { button, pos, .. } => {
if let Some(drag_context) = self.drag_context.take() {
if *button == MouseButton::Left {
@@ -894,10 +893,10 @@ impl BlendSpaceEditor {
if message.destination() == self.field {
if let Some(msg) = message.data::<BlendSpaceFieldMessage>() {
match *msg {
BlendSpaceFieldMessage::SamplingPoint(point) => {
BlendSpaceFieldMessage::SamplingPoint(point)
if is_preview_mode_active
&& message.direction() == MessageDirection::FromWidget
{
=> {
let param = blend_space.sampling_parameter().to_string();
if let Some(Parameter::SamplingPoint(param)) =
machine.parameters_mut().get_mut(&param)
@@ -905,7 +904,6 @@ impl BlendSpaceEditor {
*param = point;
}
}
}
BlendSpaceFieldMessage::MovePoint { index, position } => {
sender.do_command(SetBlendSpacePointPositionCommand {
node_handle: selection.absm_node_handle,
+8 -12
View File
@@ -192,8 +192,8 @@ where
}
} else if let Some(msg) = message.data_for::<AbsmNodeMessage>(self.handle) {
match msg {
AbsmNodeMessage::InputSockets(input_sockets) => {
if input_sockets != &self.base.input_sockets {
AbsmNodeMessage::InputSockets(input_sockets)
if input_sockets != &self.base.input_sockets => {
for &child in ui[self.input_sockets_panel].children() {
ui.send(child, WidgetMessage::Remove);
}
@@ -204,21 +204,18 @@ where
self.base.input_sockets.clone_from(input_sockets);
}
}
AbsmNodeMessage::NormalBrush(color) => {
if &self.normal_brush != color {
AbsmNodeMessage::NormalBrush(color)
if &self.normal_brush != color => {
self.normal_brush = color.clone();
self.update_colors(ui);
}
}
AbsmNodeMessage::SelectedBrush(color) => {
if &self.selected_brush != color {
AbsmNodeMessage::SelectedBrush(color)
if &self.selected_brush != color => {
self.selected_brush = color.clone();
self.update_colors(ui);
}
}
AbsmNodeMessage::Name(name) => {
if &self.name_value != name {
AbsmNodeMessage::Name(name)
if &self.name_value != name => {
self.name_value.clone_from(name);
ui.send(
@@ -229,7 +226,6 @@ where
)),
);
}
}
AbsmNodeMessage::SetActive(active) => {
let (thickness, brush) = if *active {
(
+4 -6
View File
@@ -50,20 +50,18 @@ impl Selectable {
) -> bool {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, .. } => {
WidgetMessage::MouseDown { button, .. }
if (*button == MouseButton::Left || *button == MouseButton::Right)
&& !self.selected
{
=> {
ui.send(self_handle, SelectableMessage::Select(true));
ui.capture_mouse(self_handle);
}
}
WidgetMessage::MouseUp { button, .. } => {
if *button == MouseButton::Left || *button == MouseButton::Right {
WidgetMessage::MouseUp { button, .. }
if (*button == MouseButton::Left || *button == MouseButton::Right) => {
ui.release_mouse_capture();
}
}
_ => {}
}
} else if let Some(SelectableMessage::Select(selected)) = message.data_for(self_handle) {
+4 -6
View File
@@ -80,24 +80,22 @@ impl Control for Socket {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, pos } => {
if *button == MouseButton::Left && message.destination() == self.pin {
WidgetMessage::MouseDown { button, pos }
if *button == MouseButton::Left && message.destination() == self.pin => {
self.click_position = Some(*pos);
ui.capture_mouse(self.handle());
message.set_handled(true);
}
}
WidgetMessage::MouseUp { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseUp { button, .. }
if *button == MouseButton::Left => {
self.click_position = None;
ui.release_mouse_capture();
message.set_handled(true);
}
}
WidgetMessage::MouseMove { pos, .. } => {
if let Some(click_position) = self.click_position {
if click_position.metric_distance(pos) >= 5.0 {
+6 -9
View File
@@ -182,8 +182,8 @@ impl StateGraphViewer {
AbsmCanvasMessage::CommitTransition {
source_node,
dest_node,
} => {
if message.direction() == MessageDirection::FromWidget {
}
if message.direction() == MessageDirection::FromWidget => {
let source = fetch_state_node_model_handle(*source_node, ui);
let dest = fetch_state_node_model_handle(*dest_node, ui);
sender.do_command(AddTransitionCommand::new(
@@ -192,7 +192,6 @@ impl StateGraphViewer {
Transition::new("Transition", source, dest, 1.0, ""),
));
}
}
AbsmCanvasMessage::CommitDrag { entries } => {
let commands = entries
.iter()
@@ -212,8 +211,8 @@ impl StateGraphViewer {
sender.do_command(CommandGroup::from(commands));
}
AbsmCanvasMessage::SelectionChanged(selection) => {
if message.direction() == MessageDirection::FromWidget {
AbsmCanvasMessage::SelectionChanged(selection)
if message.direction() == MessageDirection::FromWidget => {
let selection = Selection::new(AbsmSelection {
absm_node_handle,
layer: Some(layer_index),
@@ -243,12 +242,11 @@ impl StateGraphViewer {
sender.do_command(ChangeSelectionCommand::new(selection));
}
}
}
AbsmCanvasMessage::CommitTransitionToAllNodes {
source_node,
dest_nodes,
} => {
if message.direction() == MessageDirection::FromWidget {
}
if message.direction() == MessageDirection::FromWidget => {
let source = fetch_state_node_model_handle(*source_node, ui);
let commands = dest_nodes
.iter()
@@ -264,7 +262,6 @@ impl StateGraphViewer {
sender.do_command(CommandGroup::from(commands));
}
}
_ => (),
}
}
+2 -3
View File
@@ -306,8 +306,8 @@ impl StateViewer {
sender.do_command(CommandGroup::from(commands));
}
AbsmCanvasMessage::SelectionChanged(selection) => {
if message.direction() == MessageDirection::FromWidget {
AbsmCanvasMessage::SelectionChanged(selection)
if message.direction() == MessageDirection::FromWidget => {
let selection = Selection::new(AbsmSelection {
absm_node_handle,
layer: Some(layer_index),
@@ -331,7 +331,6 @@ impl StateViewer {
sender.do_command(ChangeSelectionCommand::new(selection));
}
}
}
AbsmCanvasMessage::CommitConnection {
source_socket,
dest_socket,
+4 -6
View File
@@ -322,8 +322,8 @@ impl Control for Ruler {
} else if let Some(msg) = message.data::<WidgetMessage>() {
if message.direction() == MessageDirection::FromWidget {
match msg {
WidgetMessage::MouseDown { pos, button } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { pos, button }
if *button == MouseButton::Left => {
ui.capture_mouse(self.handle);
for signal in self.signals.borrow_mut().iter_mut() {
@@ -354,9 +354,8 @@ impl Control for Ruler {
});
}
}
}
WidgetMessage::MouseUp { button, pos } => {
if *button == MouseButton::Left {
WidgetMessage::MouseUp { button, pos }
if *button == MouseButton::Left => {
ui.release_mouse_capture();
if let Some(drag_context) = self.drag_context.take() {
@@ -379,7 +378,6 @@ impl Control for Ruler {
}
}
}
}
WidgetMessage::MouseMove { pos, .. } => {
if let Some(drag_context) = self.drag_context.as_ref() {
match drag_context.entity {
+2 -3
View File
@@ -326,15 +326,14 @@ impl PreviewPanel {
self.mode = Mode::Move;
}
}
WidgetMessage::MouseUp { button, .. } => {
WidgetMessage::MouseUp { button, .. }
if (button == MouseButton::Left || button == MouseButton::Middle)
&& self.mode != Mode::None
&& !message.handled()
{
=> {
engine.user_interfaces.first_mut().release_mouse_capture();
self.mode = Mode::None;
}
}
WidgetMessage::MouseWheel { amount, .. } => {
let step = 0.1;
let k = 1.0 - amount.signum() * step;
+22 -20
View File
@@ -789,15 +789,15 @@ impl SceneViewer {
WidgetMessage::MouseMove { pos, .. } => {
entry.on_mouse_move(pos, screen_bounds, engine, settings);
}
WidgetMessage::KeyUp(key) => {
if entry.on_key_up(key, engine, &settings.key_bindings) {
message.set_handled(true);
}
WidgetMessage::KeyUp(key)
if entry.on_key_up(key, engine, &settings.key_bindings) =>
{
message.set_handled(true);
}
WidgetMessage::KeyDown(key) => {
if entry.on_key_down(key, engine, &settings.key_bindings) {
message.set_handled(true);
}
WidgetMessage::KeyDown(key)
if entry.on_key_down(key, engine, &settings.key_bindings) =>
{
message.set_handled(true);
}
WidgetMessage::MouseEnter => {
entry.on_mouse_enter(screen_bounds, engine, settings);
@@ -816,18 +816,20 @@ impl SceneViewer {
} else if message.destination() == self.scene_gizmo_image {
if let Some(game_scene) = entry.controller.downcast_mut::<GameScene>() {
match *msg {
WidgetMessage::MouseDown { button, pos, .. } => {
if button == MouseButton::Left {
let rel_pos = pos - ui[self.scene_gizmo_image].screen_position();
self.scene_gizmo.drag_context = Some(gizmo::DragContext {
initial_click_pos: rel_pos,
initial_rotation: gizmo::CameraRotation {
pitch: game_scene.camera_controller.pitch(),
yaw: game_scene.camera_controller.yaw(),
},
});
ui.capture_mouse(self.scene_gizmo_image);
}
WidgetMessage::MouseDown {
button: MouseButton::Left,
pos,
..
} => {
let rel_pos = pos - ui[self.scene_gizmo_image].screen_position();
self.scene_gizmo.drag_context = Some(gizmo::DragContext {
initial_click_pos: rel_pos,
initial_rotation: gizmo::CameraRotation {
pitch: game_scene.camera_controller.pitch(),
yaw: game_scene.camera_controller.yaw(),
},
});
ui.capture_mouse(self.scene_gizmo_image);
}
WidgetMessage::MouseUp { pos, button } => {
if button == MouseButton::Left {
+1 -1
View File
@@ -458,7 +458,7 @@ fn create_surfaces(
surfaces.push(surface);
} else {
assert_eq!(data_set.len(), model.materials.len());
for (&material_handle, data) in model.materials.iter().zip(data_set.into_iter()) {
for (&material_handle, data) in model.materials.iter().zip(data_set) {
let mut surface_data = data.base_mesh_builder.build();
surface_data.blend_shapes_container =
make_blend_shapes_container(&surface_data.vertex_buffer, data.blend_shapes);
+4 -6
View File
@@ -105,18 +105,16 @@ impl FbxScene {
nodes,
)?));
}
"Video" => {
if object.get_attrib(2)?.as_string() == "Clip" {
"Video"
if object.get_attrib(2)?.as_string() == "Clip" => {
component_handle = components
.spawn(FbxComponent::Video(FbxVideo::read(*object_handle, nodes)?));
}
}
"NodeAttribute" => {
if object.attrib_count() > 2 && object.get_attrib(2)?.as_string() == "Light" {
"NodeAttribute"
if object.attrib_count() > 2 && object.get_attrib(2)?.as_string() == "Light" => {
component_handle = components
.spawn(FbxComponent::Light(FbxLight::read(*object_handle, nodes)?));
}
}
"AnimationCurve" => {
component_handle = components.spawn(FbxComponent::AnimationCurve(
FbxAnimationCurve::read(*object_handle, nodes)?,
+4 -6
View File
@@ -1062,22 +1062,20 @@ impl NodeTrait for Collider {
}
}
}
ColliderShape::Heightfield(heightfield) => {
if !scene.graph.is_valid_handle(heightfield.geometry_source.0) {
ColliderShape::Heightfield(heightfield)
if !scene.graph.is_valid_handle(heightfield.geometry_source.0) => {
message += &format!(
"Heightfield data source {} handle is invalid!",
heightfield.geometry_source.0
);
}
}
ColliderShape::Polyhedron(polyhedron) => {
if !scene.graph.is_valid_handle(polyhedron.geometry_source.0) {
ColliderShape::Polyhedron(polyhedron)
if !scene.graph.is_valid_handle(polyhedron.geometry_source.0) => {
message += &format!(
"Polyhedron data source {} handle is invalid!",
polyhedron.geometry_source.0
);
}
}
_ => (),
}
+4 -6
View File
@@ -721,22 +721,20 @@ impl NodeTrait for Collider {
}
}
}
ColliderShape::Heightfield(heightfield) => {
if !scene.graph.is_valid_handle(heightfield.geometry_source.0) {
ColliderShape::Heightfield(heightfield)
if !scene.graph.is_valid_handle(heightfield.geometry_source.0) => {
message += &format!(
"Heightfield shape data handle {} is invalid!",
heightfield.geometry_source.0
);
}
}
ColliderShape::TileMap(tile_map) => {
if !scene.graph.is_valid_handle(tile_map.tile_map.0) {
ColliderShape::TileMap(tile_map)
if !scene.graph.is_valid_handle(tile_map.tile_map.0) => {
message += &format!(
"Tile map shape data handle {} is invalid!",
tile_map.tile_map.0
);
}
}
_ => (),
}
+1 -1
View File
@@ -436,7 +436,7 @@ impl SceneLoader {
));
// Wait everything.
let results = join_all(used_resources.into_iter()).await;
let results = join_all(used_resources).await;
for result in results {
if let Err(err) = result {
+3 -6
View File
@@ -272,12 +272,9 @@ pub struct ProgressData {
impl ProgressData {
/// Returns progress percentage in [0; 100] range.
pub fn progress_percent(&self) -> u32 {
let iterations = self.max_iterations.load(atomic::Ordering::SeqCst);
if iterations > 0 {
self.progress.load(atomic::Ordering::SeqCst) * 100 / iterations
} else {
0
}
(self.progress.load(atomic::Ordering::SeqCst) * 100)
.checked_div(self.max_iterations.load(atomic::Ordering::SeqCst))
.unwrap_or(0)
}
/// Returns current stage.
+3 -6
View File
@@ -1043,12 +1043,9 @@ impl ResourceManagerState {
/// only on external resources, or if your game doing some heavy calculations this value
/// can be combined with progress of your tasks.
pub fn loading_progress(&self) -> usize {
let registered = self.count_registered_resources();
if registered > 0 {
self.count_loaded_resources() * 100 / registered
} else {
100
}
(self.count_loaded_resources() * 100)
.checked_div(self.count_registered_resources())
.unwrap_or(100)
}
fn try_get_event(&self) -> Option<Event> {
+4 -6
View File
@@ -225,8 +225,8 @@ fn apply_tag(
font: &FontResource,
) {
match (label, argument) {
("i", None) => {
if font.is_ok() {
("i", None)
if font.is_ok() => {
let font = font.data_ref();
update_font(
runs,
@@ -236,9 +236,8 @@ fn apply_tag(
font.bold_italic.as_ref(),
);
}
}
("b", None) => {
if font.is_ok() {
("b", None)
if font.is_ok() => {
let font = font.data_ref();
update_font(
runs,
@@ -248,7 +247,6 @@ fn apply_tag(
font.bold_italic.as_ref(),
);
}
}
("size" | "s", Some(size)) => {
if let Ok(size) = size.parse() {
runs.push(Run::new(range).with_size(size));
+2 -3
View File
@@ -195,16 +195,15 @@ impl Control for Button {
message.set_handled(true);
self.repeat_timer.replace(None);
}
WidgetMessage::KeyDown(key_code) => {
WidgetMessage::KeyDown(key_code)
if !message.handled()
&& (*key_code == KeyCode::Enter
|| *key_code == KeyCode::NumpadEnter
|| *key_code == KeyCode::Space)
{
=> {
ui.post(self.handle, ButtonMessage::Click);
message.set_handled(true);
}
}
_ => (),
}
}
+6 -9
View File
@@ -203,19 +203,18 @@ impl Control for CheckBox {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, .. } => {
WidgetMessage::MouseDown { button, .. }
if *button == MouseButton::Left
&& (message.destination() == self.handle()
|| self.widget.has_descendant(message.destination(), ui))
{
=> {
ui.capture_mouse(self.handle());
}
}
WidgetMessage::MouseUp { button, .. } => {
WidgetMessage::MouseUp { button, .. }
if *button == MouseButton::Left
&& (message.destination() == self.handle()
|| self.widget.has_descendant(message.destination(), ui))
{
=> {
ui.release_mouse_capture();
if let Some(value) = *self.checked {
@@ -226,14 +225,12 @@ impl Control for CheckBox {
ui.send(self.handle(), CheckBoxMessage::Check(Some(true)));
}
}
}
WidgetMessage::KeyDown(key_code) => {
if !message.handled() && *key_code == KeyCode::Space {
WidgetMessage::KeyDown(key_code)
if !message.handled() && *key_code == KeyCode::Space => {
let checked = self.checked.map(|checked| !checked);
ui.send(self.handle, CheckBoxMessage::Check(checked));
message.set_handled(true);
}
}
_ => (),
}
} else if let Some(&CheckBoxMessage::Check(value)) = message.data_for(self.handle) {
+6 -9
View File
@@ -535,24 +535,22 @@ impl Control for ColorPoint {
if message.direction() == MessageDirection::FromWidget {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { button, .. }
if *button == MouseButton::Left => {
ui.capture_mouse(self.handle);
self.dragging = true;
}
}
WidgetMessage::MouseUp { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseUp { button, .. }
if *button == MouseButton::Left => {
ui.release_mouse_capture();
self.dragging = false;
ui.post(self.handle, ColorPointMessage::Location(self.location));
}
}
WidgetMessage::MouseMove { pos, .. } => {
if self.dragging {
WidgetMessage::MouseMove { pos, .. }
if self.dragging => {
let parent_canvas = ui.node(self.parent);
let cursor_x_local_to_parent =
@@ -564,7 +562,6 @@ impl Control for ColorPoint {
self.invalidate_layout();
}
}
_ => (),
}
}
+52 -53
View File
@@ -309,22 +309,21 @@ impl Control for AlphaBar {
if let Some(msg) = message.data::<WidgetMessage>() {
if message.direction() == MessageDirection::FromWidget {
match *msg {
WidgetMessage::MouseDown { button, .. } => {
if button == MouseButton::Left {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseDown {
button: MouseButton::Left,
..
} => {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseMove { pos, .. } => {
if self.is_picking {
ui.send(self.handle, AlphaBarMessage::Alpha(self.alpha_at(pos)))
}
WidgetMessage::MouseMove { pos, .. } if self.is_picking => {
ui.send(self.handle, AlphaBarMessage::Alpha(self.alpha_at(pos)))
}
WidgetMessage::MouseUp { button, .. } => {
if self.is_picking && button == MouseButton::Left {
self.is_picking = false;
ui.release_mouse_capture();
}
WidgetMessage::MouseUp { button, .. }
if self.is_picking && button == MouseButton::Left =>
{
self.is_picking = false;
ui.release_mouse_capture();
}
_ => (),
}
@@ -470,22 +469,22 @@ impl Control for HueBar {
if let Some(msg) = message.data::<WidgetMessage>() {
if message.direction() == MessageDirection::FromWidget {
match *msg {
WidgetMessage::MouseDown { button, .. } => {
if button == MouseButton::Left {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseDown {
button: MouseButton::Left,
..
} => {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseMove { pos, .. } => {
if self.is_picking {
ui.send(self.handle, HueBarMessage::Hue(self.hue_at(pos)))
}
WidgetMessage::MouseMove { pos, .. } if self.is_picking => {
ui.send(self.handle, HueBarMessage::Hue(self.hue_at(pos)))
}
WidgetMessage::MouseUp { button, .. } => {
if self.is_picking && button == MouseButton::Left {
self.is_picking = false;
ui.release_mouse_capture();
}
WidgetMessage::MouseUp {
button: MouseButton::Left,
..
} if self.is_picking => {
self.is_picking = false;
ui.release_mouse_capture();
}
_ => (),
}
@@ -645,34 +644,34 @@ impl Control for SaturationBrightnessField {
if let Some(msg) = message.data::<WidgetMessage>() {
if message.direction() == MessageDirection::FromWidget {
match *msg {
WidgetMessage::MouseDown { button, .. } => {
if button == MouseButton::Left {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseDown {
button: MouseButton::Left,
..
} => {
self.is_picking = true;
ui.capture_mouse(self.handle);
}
WidgetMessage::MouseMove { pos, .. } => {
if self.is_picking {
ui.send(
self.handle,
SaturationBrightnessFieldMessage::Brightness(
self.brightness_at(pos),
),
);
WidgetMessage::MouseMove { pos, .. } if self.is_picking => {
ui.send(
self.handle,
SaturationBrightnessFieldMessage::Brightness(
self.brightness_at(pos),
),
);
ui.send(
self.handle,
SaturationBrightnessFieldMessage::Saturation(
self.saturation_at(pos),
),
);
}
ui.send(
self.handle,
SaturationBrightnessFieldMessage::Saturation(
self.saturation_at(pos),
),
);
}
WidgetMessage::MouseUp { button, .. } => {
if self.is_picking && button == MouseButton::Left {
self.is_picking = false;
ui.release_mouse_capture();
}
WidgetMessage::MouseUp {
button: MouseButton::Left,
..
} if self.is_picking => {
self.is_picking = false;
ui.release_mouse_capture();
}
_ => (),
}
+10 -15
View File
@@ -560,25 +560,23 @@ impl Control for Tile {
}
}
}
&WidgetMessage::MouseDown { .. } => {
&WidgetMessage::MouseDown { .. }
if !message.handled()
&& message.destination() == self.splitter
&& !has_one_minimized(ui, &self.content)
{
=> {
message.set_handled(true);
self.dragging_splitter = true;
ui.capture_mouse(self.splitter);
}
}
&WidgetMessage::MouseUp { .. } => {
if !message.handled() && message.destination() == self.splitter {
&WidgetMessage::MouseUp { .. }
if !message.handled() && message.destination() == self.splitter => {
message.set_handled(true);
self.dragging_splitter = false;
ui.release_mouse_capture();
}
}
&WidgetMessage::MouseMove { pos, .. } => {
if self.dragging_splitter {
&WidgetMessage::MouseMove { pos, .. }
if self.dragging_splitter => {
let bounds = self.screen_bounds();
match self.content {
TileContent::VerticalTiles {
@@ -596,7 +594,6 @@ impl Control for Tile {
_ => (),
}
}
}
WidgetMessage::Unlink => {
// Check if this tile can be removed: only if it is split and sub-tiles are empty.
match self.content {
@@ -742,15 +739,14 @@ impl Control for Tile {
}
}
WindowMessage::Close => match self.content {
TileContent::MultiWindow { ref windows, .. } => {
if windows.contains(&message.destination().to_variant()) {
TileContent::MultiWindow { ref windows, .. }
if windows.contains(&message.destination().to_variant()) => {
let window = ui
.node(message.destination())
.cast::<Window>()
.expect("must be window");
self.undock(window, ui);
}
}
TileContent::VerticalTiles { tiles, .. }
| TileContent::HorizontalTiles { tiles, .. } => {
let closed_window = message.destination().to_variant();
@@ -882,8 +878,8 @@ impl Control for Tile {
// Drop if it has any drop anchor.
if self.drop_anchor.get().is_some() {
match &self.content {
TileContent::Empty => {
if self.drop_anchor.get() == self.center_anchor {
TileContent::Empty
if self.drop_anchor.get() == self.center_anchor => {
ui.send(
self.handle,
TileMessage::Content(TileContent::Window(
@@ -895,7 +891,6 @@ impl Control for Tile {
WidgetMessage::LinkWith(self.handle),
);
}
}
TileContent::Window(_) | TileContent::MultiWindow { .. } => {
if self.drop_anchor.get() == self.left_anchor {
// Split horizontally, dock to left.
+6 -8
View File
@@ -219,15 +219,14 @@ impl Control for DropdownList {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { .. } => {
if message.destination() == self.handle()
|| self.widget.has_descendant(message.destination(), ui)
{
WidgetMessage::MouseDown { .. }
if (message.destination() == self.handle()
|| self.widget.has_descendant(message.destination(), ui))
=> {
ui.send(self.handle, DropdownListMessage::Open);
}
}
WidgetMessage::KeyDown(key_code) => {
if !message.handled() {
WidgetMessage::KeyDown(key_code)
if !message.handled() => {
if *key_code == KeyCode::ArrowDown {
ui.send(self.handle, DropdownListMessage::Open);
} else if *key_code == KeyCode::ArrowUp {
@@ -235,7 +234,6 @@ impl Control for DropdownList {
}
message.set_handled(true);
}
}
_ => (),
}
} else if let Some(msg) = message.data_for::<DropdownListMessage>(self.handle()) {
+10 -15
View File
@@ -246,7 +246,7 @@ impl Control for HotKeyEditor {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::KeyDown(key) => {
WidgetMessage::KeyDown(key)
if *self.editing
&& !matches!(
*key,
@@ -257,7 +257,7 @@ impl Control for HotKeyEditor {
| KeyCode::AltLeft
| KeyCode::AltRight
)
{
=> {
ui.send(
self.handle,
HotKeyEditorMessage::Value(HotKey::Some {
@@ -268,21 +268,18 @@ impl Control for HotKeyEditor {
message.set_handled(true);
}
}
WidgetMessage::MouseDown { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { button, .. }
if *button == MouseButton::Left => {
if *self.editing {
self.set_editing(false, ui);
} else {
self.set_editing(true, ui);
}
}
}
WidgetMessage::Unfocus => {
if *self.editing {
WidgetMessage::Unfocus
if *self.editing => {
self.set_editing(false, ui);
}
}
_ => (),
}
}
@@ -470,20 +467,18 @@ impl Control for KeyBindingEditor {
message.set_handled(true);
}
WidgetMessage::MouseDown { button, .. } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { button, .. }
if *button == MouseButton::Left => {
if *self.editing {
self.set_editing(false, ui);
} else {
self.set_editing(true, ui);
}
}
}
WidgetMessage::Unfocus => {
if *self.editing {
WidgetMessage::Unfocus
if *self.editing => {
self.set_editing(false, ui);
}
}
_ => (),
}
}
+31 -46
View File
@@ -2287,32 +2287,28 @@ impl UserInterface {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::Focus => {
WidgetMessage::Focus
if self.nodes.is_valid_handle(message.destination())
&& message.direction() == MessageDirection::ToWidget
{
=> {
self.request_focus(message.destination());
}
}
WidgetMessage::Unfocus => {
WidgetMessage::Unfocus
if self.nodes.is_valid_handle(message.destination())
&& message.direction() == MessageDirection::ToWidget
{
=> {
self.request_focus(self.root_canvas);
}
}
WidgetMessage::Topmost => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Topmost
if self.nodes.is_valid_handle(message.destination()) => {
self.make_topmost(message.destination());
}
}
WidgetMessage::Lowermost => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Lowermost
if self.nodes.is_valid_handle(message.destination()) => {
self.make_lowermost(message.destination());
}
}
WidgetMessage::Unlink => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Unlink
if self.nodes.is_valid_handle(message.destination()) => {
self.unlink_node(message.destination());
let node = &self.nodes[message.destination()];
@@ -2322,23 +2318,20 @@ impl UserInterface {
WidgetMessage::DesiredPosition(new_position),
);
}
}
&WidgetMessage::LinkWith(parent) => {
&WidgetMessage::LinkWith(parent)
if self.nodes.is_valid_handle(message.destination())
&& self.nodes.is_valid_handle(parent)
{
=> {
self.link_nodes(message.destination(), parent, false);
}
}
&WidgetMessage::LinkWithReverse(parent) => {
&WidgetMessage::LinkWithReverse(parent)
if self.nodes.is_valid_handle(message.destination())
&& self.nodes.is_valid_handle(parent)
{
=> {
self.link_nodes(message.destination(), parent, true);
}
}
WidgetMessage::ReplaceChildren(children) => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::ReplaceChildren(children)
if self.nodes.is_valid_handle(message.destination()) => {
let old_children = self.node(message.destination()).children().to_vec();
for child in old_children.iter() {
if self.nodes.is_valid_handle(*child) {
@@ -2355,26 +2348,22 @@ impl UserInterface {
}
}
}
}
WidgetMessage::Remove => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Remove
if self.nodes.is_valid_handle(message.destination()) => {
self.remove_node(message.destination());
}
}
WidgetMessage::ContextMenu(context_menu) => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::ContextMenu(context_menu)
if self.nodes.is_valid_handle(message.destination()) => {
let node = self.nodes.borrow_mut(message.destination());
node.set_context_menu(context_menu.clone());
}
}
WidgetMessage::Tooltip(tooltip) => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Tooltip(tooltip)
if self.nodes.is_valid_handle(message.destination()) => {
let node = self.nodes.borrow_mut(message.destination());
node.set_tooltip(tooltip.clone());
}
}
WidgetMessage::Center => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::Center
if self.nodes.is_valid_handle(message.destination()) => {
let node = self.node(message.destination());
let size = node.actual_initial_size();
let parent = node.parent();
@@ -2389,14 +2378,12 @@ impl UserInterface {
WidgetMessage::DesiredPosition((parent_size - size).scale(0.5)),
);
}
}
WidgetMessage::RenderTransform(_) => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::RenderTransform(_)
if self.nodes.is_valid_handle(message.destination()) => {
self.update_visual_transform(message.destination());
}
}
WidgetMessage::AdjustPositionToFit => {
if self.nodes.is_valid_handle(message.destination()) {
WidgetMessage::AdjustPositionToFit
if self.nodes.is_valid_handle(message.destination()) => {
let node = self.node(message.destination());
let mut position = node.actual_local_position();
let size = node.actual_initial_size();
@@ -2425,7 +2412,6 @@ impl UserInterface {
WidgetMessage::DesiredPosition(position),
);
}
}
WidgetMessage::Align {
relative_to,
horizontal_alignment,
@@ -2501,8 +2487,8 @@ impl UserInterface {
}
}
}
WidgetMessage::MouseUp { button, .. } => {
if *button == MouseButton::Right && !message.handled() {
WidgetMessage::MouseUp { button, .. }
if *button == MouseButton::Right && !message.handled() => {
if let Ok(picked) = self.nodes.try_borrow(self.picked_node) {
// Get the context menu from the current node or a parent node
let (context_menu, target) = if picked.context_menu().is_some() {
@@ -2534,7 +2520,6 @@ impl UserInterface {
}
}
}
}
_ => {}
}
}
@@ -3517,7 +3502,7 @@ impl UserInterface {
));
// Wait everything.
join_all(used_resources.into_iter()).await;
join_all(used_resources).await;
ui.resolve();
+6 -9
View File
@@ -560,8 +560,8 @@ impl Control for MenuItem {
}
}
}
WidgetMessage::MouseUp { .. } => {
if !message.handled() {
WidgetMessage::MouseUp { .. }
if !message.handled() => {
if self.items_container.is_empty() || *self.clickable_when_not_empty {
ui.post(self.handle(), MenuItemMessage::Click);
}
@@ -577,7 +577,6 @@ impl Control for MenuItem {
}
message.set_handled(true);
}
}
WidgetMessage::MouseEnter => {
// While parent menu active it is possible to open submenus
// by simple mouse hover.
@@ -595,19 +594,17 @@ impl Control for MenuItem {
ui.send(self.handle(), MenuItemMessage::Open);
}
}
WidgetMessage::MouseLeave => {
if !self.is_opened(ui) {
WidgetMessage::MouseLeave
if !self.is_opened(ui) => {
ui.send(self.handle, MenuItemMessage::Select(false));
}
}
WidgetMessage::KeyDown(key_code) => {
if !message.handled() && *self.is_selected && *key_code == KeyCode::Enter {
WidgetMessage::KeyDown(key_code)
if !message.handled() && *self.is_selected && *key_code == KeyCode::Enter => {
ui.post(self.handle, MenuItemMessage::Click);
let menu = find_menu(self.parent(), ui);
ui.send(menu, MenuMessage::Deactivate);
message.set_handled(true);
}
}
_ => {}
}
} else if let Some(msg) = message.data_for::<MenuItemMessage>(self.handle) {
+2 -3
View File
@@ -422,17 +422,16 @@ impl<T: NumericType> Control for NumericUpDown<T> {
}
} else if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { button, pos, .. } => {
WidgetMessage::MouseDown { button, pos, .. }
// We can activate dragging either by clicking on increase or decrease buttons.
if *button == MouseButton::Left
&& (ui[*self.increase].has_descendant(message.destination(), ui)
|| ui[*self.decrease].has_descendant(message.destination(), ui))
{
=> {
self.drag_context = Some(DragContext::PreDrag {
start_mouse_pos: pos.y,
});
}
}
WidgetMessage::MouseMove { pos, .. } => {
if let Some(drag_context) = self.drag_context.as_ref() {
match drag_context {
+4 -6
View File
@@ -332,22 +332,21 @@ impl Control for ScrollBar {
} else if let Some(msg) = message.data::<WidgetMessage>() {
if message.destination() == *self.indicator {
match msg {
WidgetMessage::MouseDown { pos, .. } => {
if self.indicator.is_some() {
WidgetMessage::MouseDown { pos, .. }
if self.indicator.is_some() => {
let indicator_pos = ui.nodes.borrow(*self.indicator).screen_position();
self.is_dragging = true;
self.offset = indicator_pos - *pos;
ui.capture_mouse(*self.indicator);
message.set_handled(true);
}
}
WidgetMessage::MouseUp { .. } => {
self.is_dragging = false;
ui.release_mouse_capture();
message.set_handled(true);
}
WidgetMessage::MouseMove { pos: mouse_pos, .. } => {
if self.indicator.is_some() {
WidgetMessage::MouseMove { pos: mouse_pos, .. }
if self.indicator.is_some() => {
let indicator_canvas = &ui[*self.indicator_canvas];
let indicator_size =
ui.nodes.borrow(*self.indicator).actual_global_size();
@@ -387,7 +386,6 @@ impl Control for ScrollBar {
message.set_handled(true);
}
}
}
_ => (),
}
}
+2 -3
View File
@@ -273,8 +273,8 @@ impl Control for ScrollViewer {
} else if let Some(msg) = message.data::<ScrollBarMessage>() {
if message.direction() == MessageDirection::FromWidget {
match msg {
ScrollBarMessage::Value(new_value) => {
if !message.handled() {
ScrollBarMessage::Value(new_value)
if !message.handled() => {
if message.destination() == self.v_scroll_bar
&& self.v_scroll_bar.is_some()
{
@@ -291,7 +291,6 @@ impl Control for ScrollViewer {
);
}
}
}
&ScrollBarMessage::MaxValue(_) => {
if message.destination() == self.v_scroll_bar && self.v_scroll_bar.is_some()
{
+8 -12
View File
@@ -1240,8 +1240,8 @@ impl Control for TextBox {
// others are used directly to enter text.
message.set_handled(true);
}
WidgetMessage::Focus => {
if message.direction() == MessageDirection::FromWidget {
WidgetMessage::Focus
if message.direction() == MessageDirection::FromWidget => {
self.reset_blink();
self.has_focus = true;
let end = self.end_position();
@@ -1261,9 +1261,8 @@ impl Control for TextBox {
.extend_from_slice(self.formatted_text.borrow().get_raw_text());
}
}
}
WidgetMessage::Unfocus => {
if message.direction() == MessageDirection::FromWidget {
WidgetMessage::Unfocus
if message.direction() == MessageDirection::FromWidget => {
self.selection_range.set_value_and_mark_modified(None);
self.invalidate_visual();
self.has_focus = false;
@@ -1283,9 +1282,8 @@ impl Control for TextBox {
self.recent.clear();
self.recent.shrink_to(0);
}
}
WidgetMessage::MouseDown { pos, button } => {
if *button == MouseButton::Left {
WidgetMessage::MouseDown { pos, button }
if *button == MouseButton::Left => {
let select = ui.keyboard_modifiers().shift;
if !select {
self.selection_range.set_value_and_mark_modified(None);
@@ -1301,7 +1299,6 @@ impl Control for TextBox {
ui.capture_mouse(self.handle());
}
}
WidgetMessage::DoubleClick {
button: MouseButton::Left,
} => {
@@ -1311,13 +1308,12 @@ impl Control for TextBox {
}
}
}
WidgetMessage::MouseMove { pos, .. } => {
if self.selecting {
WidgetMessage::MouseMove { pos, .. }
if self.selecting => {
if let Some(position) = self.screen_pos_to_text_pos(*pos) {
self.move_caret(position, true);
}
}
}
WidgetMessage::MouseUp { .. } => {
self.selecting = false;
ui.release_mouse_capture();
+6 -9
View File
@@ -130,8 +130,8 @@ impl Control for Thumb {
if let Some(msg) = message.data::<WidgetMessage>() {
match msg {
WidgetMessage::MouseDown { pos, button } => {
if !message.handled() && *button == MouseButton::Left {
WidgetMessage::MouseDown { pos, button }
if !message.handled() && *button == MouseButton::Left => {
ui.capture_mouse(self.handle);
message.set_handled(true);
self.click_pos = *pos;
@@ -142,9 +142,8 @@ impl Control for Thumb {
},
);
}
}
WidgetMessage::MouseUp { button, .. } => {
if ui.captured_node() == self.handle && *button == MouseButton::Left {
WidgetMessage::MouseUp { button, .. }
if ui.captured_node() == self.handle && *button == MouseButton::Left => {
ui.post(
self.handle,
ThumbMessage::DragCompleted {
@@ -154,9 +153,8 @@ impl Control for Thumb {
ui.release_mouse_capture();
}
}
WidgetMessage::MouseMove { pos, state } => {
if ui.captured_node() == self.handle && state.left == ButtonState::Pressed {
WidgetMessage::MouseMove { pos, state }
if ui.captured_node() == self.handle && state.left == ButtonState::Pressed => {
ui.post(
self.handle,
ThumbMessage::DragDelta {
@@ -168,7 +166,6 @@ impl Control for Thumb {
},
);
}
}
_ => (),
}
}
+2 -3
View File
@@ -92,15 +92,14 @@ impl Control for ToggleButton {
WidgetMessage::MouseDown { .. } => {
ui.capture_mouse(self.handle());
}
WidgetMessage::MouseUp { .. } => {
if ui.captured_node() == self.handle() {
WidgetMessage::MouseUp { .. }
if ui.captured_node() == self.handle() => {
let new_state = !self.is_toggled;
ui.send(self.handle(), ToggleButtonMessage::Toggled(new_state));
ui.release_mouse_capture();
}
}
_ => {}
}
}
+2 -3
View File
@@ -465,8 +465,8 @@ impl Control for Tree {
}
}
}
WidgetMessage::DoubleClick { button } => {
if *button == MouseButton::Left {
WidgetMessage::DoubleClick { button }
if *button == MouseButton::Left => {
// Mimic click on expander button to have uniform behavior.
ui.send(
self.expander,
@@ -475,7 +475,6 @@ impl Control for Tree {
message.set_handled(true);
}
}
_ => (),
}
}
+24 -36
View File
@@ -1255,51 +1255,42 @@ impl Widget {
*self.foreground = foreground.clone();
}
WidgetMessage::Name(name) => self.name = ImmutableString::new(name),
&WidgetMessage::Width(width) => {
if *self.width != width {
&WidgetMessage::Width(width)
if *self.width != width => {
self.set_width_notify(width);
}
}
&WidgetMessage::Height(height) => {
if *self.height != height {
&WidgetMessage::Height(height)
if *self.height != height => {
self.set_height_notify(height);
}
}
WidgetMessage::VerticalAlignment(vertical_alignment) => {
if *self.vertical_alignment != *vertical_alignment {
WidgetMessage::VerticalAlignment(vertical_alignment)
if *self.vertical_alignment != *vertical_alignment => {
self.set_vertical_alignment(*vertical_alignment);
}
}
WidgetMessage::HorizontalAlignment(horizontal_alignment) => {
if *self.horizontal_alignment != *horizontal_alignment {
WidgetMessage::HorizontalAlignment(horizontal_alignment)
if *self.horizontal_alignment != *horizontal_alignment => {
self.set_horizontal_alignment(*horizontal_alignment);
}
}
WidgetMessage::MaxSize(max_size) => {
if *self.max_size != *max_size {
WidgetMessage::MaxSize(max_size)
if *self.max_size != *max_size => {
self.set_max_size_notify(*max_size);
}
}
WidgetMessage::MinSize(min_size) => {
if *self.min_size != *min_size {
WidgetMessage::MinSize(min_size)
if *self.min_size != *min_size => {
self.set_min_size_notify(*min_size);
}
}
&WidgetMessage::Row(row) => {
if *self.row != row {
&WidgetMessage::Row(row)
if *self.row != row => {
self.set_row_notify(row);
}
}
&WidgetMessage::Column(column) => {
if *self.column != column {
&WidgetMessage::Column(column)
if *self.column != column => {
self.set_column_notify(column);
}
}
&WidgetMessage::Margin(margin) => {
if *self.margin != margin {
&WidgetMessage::Margin(margin)
if *self.margin != margin => {
self.set_margin_notify(margin);
}
}
WidgetMessage::HitTestVisibility(hit_test_visibility) => {
self.hit_test_visibility
.set_value_and_mark_modified(*hit_test_visibility);
@@ -1307,11 +1298,10 @@ impl Widget {
&WidgetMessage::Visibility(visibility) => {
self.set_visibility(visibility);
}
&WidgetMessage::DesiredPosition(pos) => {
if *self.desired_local_position != pos {
&WidgetMessage::DesiredPosition(pos)
if *self.desired_local_position != pos => {
self.set_desired_local_position_notify(pos);
}
}
&WidgetMessage::Enabled(enabled) => {
self.invalidate_layout();
self.enabled.set_value_and_mark_modified(enabled);
@@ -1319,20 +1309,18 @@ impl Widget {
&WidgetMessage::Cursor(icon) => {
self.cursor.set_value_and_mark_modified(icon);
}
WidgetMessage::LayoutTransform(transform) => {
if &self.layout_transform != transform {
WidgetMessage::LayoutTransform(transform)
if &self.layout_transform != transform => {
self.set_layout_transform(*transform);
}
}
WidgetMessage::RenderTransform(transform) => {
self.set_render_transform(*transform);
}
WidgetMessage::ZIndex(index) => {
if *self.z_index != *index {
WidgetMessage::ZIndex(index)
if *self.z_index != *index => {
self.set_z_index(*index);
self.invalidate_layout();
}
}
WidgetMessage::SortChildren(predicate) => {
self.children
.sort_unstable_by(|a, b| predicate.0(*a, *b, ui));
+2 -3
View File
@@ -539,11 +539,10 @@ impl Control for Window {
}
}
match msg {
WidgetMessage::Unlink => {
if message.destination() == self.handle() {
WidgetMessage::Unlink
if message.destination() == self.handle() => {
self.initial_position = self.screen_position();
}
}
WidgetMessage::KeyDown(key_code)
if self.close_by_esc
&& !self.is_docked(ui)