mirror of
https://github.com/emilk/egui.git
synced 2026-09-01 14:20:04 -04:00
Enable more clippy lints (#6853)
* Follows https://github.com/emilk/egui/pull/6848
This commit is contained in:
2
crates/egui/src/cache/cache_trait.rs
vendored
2
crates/egui/src/cache/cache_trait.rs
vendored
@@ -1,5 +1,5 @@
|
||||
/// A cache, storing some value for some length of time.
|
||||
#[allow(clippy::len_without_is_empty)]
|
||||
#[expect(clippy::len_without_is_empty)]
|
||||
pub trait CacheTrait: 'static + Send + Sync {
|
||||
/// Call once per frame to evict cache.
|
||||
fn update(&mut self);
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
use emath::GuiRounding as _;
|
||||
|
||||
use crate::{
|
||||
emath, pos2, Align2, Context, Id, InnerResponse, LayerId, Layout, NumExt, Order, Pos2, Rect,
|
||||
Response, Sense, Ui, UiBuilder, UiKind, UiStackInfo, Vec2, WidgetRect, WidgetWithState,
|
||||
emath, pos2, Align2, Context, Id, InnerResponse, LayerId, Layout, NumExt as _, Order, Pos2,
|
||||
Rect, Response, Sense, Ui, UiBuilder, UiKind, UiStackInfo, Vec2, WidgetRect, WidgetWithState,
|
||||
};
|
||||
|
||||
/// State of an [`Area`] that is persisted between frames.
|
||||
@@ -602,7 +602,7 @@ impl Prepared {
|
||||
self.move_response.id
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)] // intentional to swallow up `content_ui`.
|
||||
#[expect(clippy::needless_pass_by_value)] // intentional to swallow up `content_ui`.
|
||||
pub(crate) fn end(self, ctx: &Context, content_ui: Ui) -> Response {
|
||||
let Self {
|
||||
info: _,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::hash::Hash;
|
||||
|
||||
use crate::{
|
||||
emath, epaint, pos2, remap, remap_clamp, vec2, Context, Id, InnerResponse, NumExt, Rect,
|
||||
emath, epaint, pos2, remap, remap_clamp, vec2, Context, Id, InnerResponse, NumExt as _, Rect,
|
||||
Response, Sense, Stroke, TextStyle, TextWrapMode, Ui, UiBuilder, UiKind, UiStackInfo, Vec2,
|
||||
WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
@@ -2,11 +2,11 @@ use epaint::Shape;
|
||||
|
||||
use crate::{
|
||||
epaint, style::StyleModifier, style::WidgetVisuals, vec2, Align2, Context, Id, InnerResponse,
|
||||
NumExt, Painter, Popup, PopupCloseBehavior, Rect, Response, ScrollArea, Sense, Stroke,
|
||||
NumExt as _, Painter, Popup, PopupCloseBehavior, Rect, Response, ScrollArea, Sense, Stroke,
|
||||
TextStyle, TextWrapMode, Ui, UiBuilder, Vec2, WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
#[allow(unused_imports)] // Documentation
|
||||
#[expect(unused_imports)] // Documentation
|
||||
use crate::style::Spacing;
|
||||
|
||||
/// A function that paints the [`ComboBox`] icon
|
||||
@@ -297,7 +297,7 @@ impl ComboBox {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
#[expect(clippy::too_many_arguments)]
|
||||
fn combo_box_dyn<'c, R>(
|
||||
ui: &mut Ui,
|
||||
button_id: Id,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::style::StyleModifier;
|
||||
use crate::{
|
||||
Button, Color32, Context, Frame, Id, InnerResponse, Layout, Popup, PopupCloseBehavior,
|
||||
Response, Style, Ui, UiBuilder, UiKind, UiStack, UiStackInfo, Widget, WidgetText,
|
||||
Response, Style, Ui, UiBuilder, UiKind, UiStack, UiStackInfo, Widget as _, WidgetText,
|
||||
};
|
||||
use emath::{vec2, Align, RectAlign, Vec2};
|
||||
use epaint::Stroke;
|
||||
@@ -159,6 +159,7 @@ impl MenuState {
|
||||
}
|
||||
|
||||
/// Horizontal menu bar where you can add [`MenuButton`]s.
|
||||
///
|
||||
/// The menu bar goes well in a [`crate::TopBottomPanel::top`],
|
||||
/// but can also be placed in a [`crate::Window`].
|
||||
/// In the latter case you may want to wrap it in [`Frame`].
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
use crate::containers::tooltip::Tooltip;
|
||||
use crate::{
|
||||
Align, Context, Id, LayerId, Layout, Popup, PopupAnchor, PopupCloseBehavior, Pos2, Rect,
|
||||
Response, Ui, Widget, WidgetText,
|
||||
Response, Ui, Widget as _, WidgetText,
|
||||
};
|
||||
use emath::RectAlign;
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -19,7 +19,7 @@ use emath::RectAlign;
|
||||
///
|
||||
/// ```
|
||||
/// # egui::__run_test_ui(|ui| {
|
||||
/// # #[allow(deprecated)]
|
||||
/// # #[expect(deprecated)]
|
||||
/// if ui.ui_contains_pointer() {
|
||||
/// egui::show_tooltip(ui.ctx(), ui.layer_id(), egui::Id::new("my_tooltip"), |ui| {
|
||||
/// ui.label("Helpful text");
|
||||
@@ -177,7 +177,7 @@ pub fn popup_below_widget<R>(
|
||||
/// }
|
||||
/// let below = egui::AboveOrBelow::Below;
|
||||
/// let close_on_click_outside = egui::PopupCloseBehavior::CloseOnClickOutside;
|
||||
/// # #[allow(deprecated)]
|
||||
/// # #[expect(deprecated)]
|
||||
/// egui::popup_above_or_below_widget(ui, popup_id, &response, below, close_on_click_outside, |ui| {
|
||||
/// ui.set_min_width(200.0); // if you want to control the size
|
||||
/// ui.label("Some more info, or things you can select:");
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
use emath::GuiRounding as _;
|
||||
|
||||
use crate::{
|
||||
lerp, vec2, Align, Context, CursorIcon, Frame, Id, InnerResponse, LayerId, Layout, NumExt,
|
||||
lerp, vec2, Align, Context, CursorIcon, Frame, Id, InnerResponse, LayerId, Layout, NumExt as _,
|
||||
Rangef, Rect, Sense, Stroke, Ui, UiBuilder, UiKind, UiStackInfo, Vec2,
|
||||
};
|
||||
|
||||
|
||||
@@ -466,7 +466,7 @@ impl<'a> Popup<'a> {
|
||||
};
|
||||
|
||||
RectAlign::find_best_align(
|
||||
#[allow(clippy::iter_on_empty_collections)]
|
||||
#[expect(clippy::iter_on_empty_collections)]
|
||||
once(self.rect_align).chain(
|
||||
self.alternative_aligns
|
||||
// Need the empty slice so the iters have the same type so we can unwrap_or
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
pos2, vec2, Align2, Color32, Context, CursorIcon, Id, NumExt, Rect, Response, Sense, Shape, Ui,
|
||||
UiBuilder, UiKind, UiStackInfo, Vec2, Vec2b,
|
||||
pos2, vec2, Align2, Color32, Context, CursorIcon, Id, NumExt as _, Rect, Response, Sense,
|
||||
Shape, Ui, UiBuilder, UiKind, UiStackInfo, Vec2, Vec2b,
|
||||
};
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use core::f32;
|
||||
|
||||
use emath::{GuiRounding, Pos2};
|
||||
use emath::{GuiRounding as _, Pos2};
|
||||
|
||||
use crate::{
|
||||
emath::TSTransform, InnerResponse, LayerId, PointerButton, Rangef, Rect, Response, Sense, Ui,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#![allow(clippy::needless_range_loop)]
|
||||
|
||||
use crate::{
|
||||
emath, epaint, lerp, pass_state, pos2, remap, remap_clamp, Context, Id, NumExt, Pos2, Rangef,
|
||||
Rect, Sense, Ui, UiBuilder, UiKind, UiStackInfo, Vec2, Vec2b,
|
||||
emath, epaint, lerp, pass_state, pos2, remap, remap_clamp, Context, Id, NumExt as _, Pos2,
|
||||
Rangef, Rect, Sense, Ui, UiBuilder, UiKind, UiStackInfo, Vec2, Vec2b,
|
||||
};
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
|
||||
@@ -34,9 +34,10 @@ use crate::{
|
||||
viewport::ViewportClass,
|
||||
Align2, CursorIcon, DeferredViewportUiCallback, FontDefinitions, Grid, Id, ImmediateViewport,
|
||||
ImmediateViewportRendererCallback, Key, KeyboardShortcut, Label, LayerId, Memory,
|
||||
ModifierNames, NumExt, Order, Painter, RawInput, Response, RichText, ScrollArea, Sense, Style,
|
||||
TextStyle, TextureHandle, TextureOptions, Ui, ViewportBuilder, ViewportCommand, ViewportId,
|
||||
ViewportIdMap, ViewportIdPair, ViewportIdSet, ViewportOutput, Widget, WidgetRect, WidgetText,
|
||||
ModifierNames, NumExt as _, Order, Painter, RawInput, Response, RichText, ScrollArea, Sense,
|
||||
Style, TextStyle, TextureHandle, TextureOptions, Ui, ViewportBuilder, ViewportCommand,
|
||||
ViewportId, ViewportIdMap, ViewportIdPair, ViewportIdSet, ViewportOutput, Widget as _,
|
||||
WidgetRect, WidgetText,
|
||||
};
|
||||
|
||||
#[cfg(feature = "accesskit")]
|
||||
@@ -314,7 +315,7 @@ impl std::fmt::Display for RepaintCause {
|
||||
|
||||
impl RepaintCause {
|
||||
/// Capture the file and line number of the call site.
|
||||
#[allow(clippy::new_without_default)]
|
||||
#[expect(clippy::new_without_default)]
|
||||
#[track_caller]
|
||||
pub fn new() -> Self {
|
||||
let caller = Location::caller();
|
||||
@@ -327,7 +328,6 @@ impl RepaintCause {
|
||||
|
||||
/// Capture the file and line number of the call site,
|
||||
/// as well as add a reason.
|
||||
#[allow(clippy::new_without_default)]
|
||||
#[track_caller]
|
||||
pub fn new_reason(reason: impl Into<Cow<'static, str>>) -> Self {
|
||||
let caller = Location::caller();
|
||||
@@ -1160,7 +1160,6 @@ impl Context {
|
||||
///
|
||||
/// `allow_focus` should usually be true, unless you call this function multiple times with the
|
||||
/// same widget, then `allow_focus` should only be true once (like in [`Ui::new`] (true) and [`Ui::remember_min_rect`] (false)).
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub(crate) fn create_widget(&self, w: WidgetRect, allow_focus: bool) -> Response {
|
||||
let interested_in_focus = w.enabled
|
||||
&& w.sense.is_focusable()
|
||||
@@ -1189,7 +1188,7 @@ impl Context {
|
||||
self.check_for_id_clash(w.id, w.rect, "widget");
|
||||
}
|
||||
|
||||
#[allow(clippy::let_and_return)]
|
||||
#[allow(clippy::let_and_return, clippy::allow_attributes)]
|
||||
let res = self.get_response(w);
|
||||
|
||||
#[cfg(feature = "accesskit")]
|
||||
@@ -2350,7 +2349,6 @@ impl ContextImpl {
|
||||
// Inform the backend of all textures that have been updated (including font atlas).
|
||||
let textures_delta = self.tex_manager.0.write().take_delta();
|
||||
|
||||
#[cfg_attr(not(feature = "accesskit"), allow(unused_mut))]
|
||||
let mut platform_output: PlatformOutput = std::mem::take(&mut viewport.output);
|
||||
|
||||
#[cfg(feature = "accesskit")]
|
||||
@@ -2651,7 +2649,7 @@ impl Context {
|
||||
/// Is an egui context menu open?
|
||||
///
|
||||
/// This only works with the old, deprecated [`crate::menu`] API.
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
#[deprecated = "Use `is_popup_open` instead"]
|
||||
pub fn is_context_menu_open(&self) -> bool {
|
||||
self.data(|d| {
|
||||
@@ -3205,7 +3203,7 @@ impl Context {
|
||||
}
|
||||
});
|
||||
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
ui.horizontal(|ui| {
|
||||
ui.label(format!(
|
||||
"{} menu bars",
|
||||
@@ -3263,7 +3261,7 @@ impl Context {
|
||||
/// the function is still called, but with no other effect.
|
||||
///
|
||||
/// No locks are held while the given closure is called.
|
||||
#[allow(clippy::unused_self, clippy::let_and_return)]
|
||||
#[allow(clippy::unused_self, clippy::let_and_return, clippy::allow_attributes)]
|
||||
#[inline]
|
||||
pub fn with_accessibility_parent<R>(&self, _id: Id, f: impl FnOnce() -> R) -> R {
|
||||
// TODO(emilk): this isn't thread-safe - another thread can call this function between the push/pop calls
|
||||
@@ -3596,7 +3594,6 @@ impl Context {
|
||||
/// * Set the window attributes (position, size, …) based on [`ImmediateViewport::builder`].
|
||||
/// * Call [`Context::run`] with [`ImmediateViewport::viewport_ui_cb`].
|
||||
/// * Handle the output from [`Context::run`], including rendering
|
||||
#[allow(clippy::unused_self)]
|
||||
pub fn set_immediate_viewport_renderer(
|
||||
callback: impl for<'a> Fn(&Self, ImmediateViewport<'a>) + 'static,
|
||||
) {
|
||||
|
||||
@@ -1233,7 +1233,7 @@ pub struct EventFilter {
|
||||
pub escape: bool,
|
||||
}
|
||||
|
||||
#[allow(clippy::derivable_impls)] // let's be explicit
|
||||
#[expect(clippy::derivable_impls)] // let's be explicit
|
||||
impl Default for EventFilter {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
|
||||
@@ -252,7 +252,7 @@ pub struct OpenUrl {
|
||||
}
|
||||
|
||||
impl OpenUrl {
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn same_tab(url: impl ToString) -> Self {
|
||||
Self {
|
||||
url: url.to_string(),
|
||||
@@ -260,7 +260,7 @@ impl OpenUrl {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn new_tab(url: impl ToString) -> Self {
|
||||
Self {
|
||||
url: url.to_string(),
|
||||
@@ -607,7 +607,7 @@ impl WidgetInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn labeled(typ: WidgetType, enabled: bool, label: impl ToString) -> Self {
|
||||
Self {
|
||||
enabled,
|
||||
@@ -617,7 +617,7 @@ impl WidgetInfo {
|
||||
}
|
||||
|
||||
/// checkboxes, radio-buttons etc
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn selected(typ: WidgetType, enabled: bool, selected: bool, label: impl ToString) -> Self {
|
||||
Self {
|
||||
enabled,
|
||||
@@ -635,7 +635,7 @@ impl WidgetInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn slider(enabled: bool, value: f64, label: impl ToString) -> Self {
|
||||
let label = label.to_string();
|
||||
Self {
|
||||
@@ -646,7 +646,7 @@ impl WidgetInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn text_edit(
|
||||
enabled: bool,
|
||||
prev_text_value: impl ToString,
|
||||
@@ -670,7 +670,7 @@ impl WidgetInfo {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn text_selection_changed(
|
||||
enabled: bool,
|
||||
text_selection: std::ops::RangeInclusive<usize>,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use emath::GuiRounding as _;
|
||||
|
||||
use crate::{
|
||||
vec2, Align2, Color32, Context, Id, InnerResponse, NumExt, Painter, Rect, Region, Style, Ui,
|
||||
UiBuilder, Vec2,
|
||||
vec2, Align2, Color32, Context, Id, InnerResponse, NumExt as _, Painter, Rect, Region, Style,
|
||||
Ui, UiBuilder, Vec2,
|
||||
};
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
@@ -184,7 +184,7 @@ impl GridLayout {
|
||||
Rect::from_min_size(cursor.min, size).round_ui()
|
||||
}
|
||||
|
||||
#[allow(clippy::unused_self)]
|
||||
#[expect(clippy::unused_self)]
|
||||
pub(crate) fn align_size_within_rect(&self, size: Vec2, frame: Rect) -> Rect {
|
||||
// TODO(emilk): allow this alignment to be customized
|
||||
Align2::LEFT_CENTER
|
||||
|
||||
@@ -59,7 +59,7 @@ impl Id {
|
||||
|
||||
/// Generate a new [`Id`] by hashing the parent [`Id`] and the given argument.
|
||||
pub fn with(self, child: impl std::hash::Hash) -> Self {
|
||||
use std::hash::{BuildHasher, Hasher};
|
||||
use std::hash::{BuildHasher as _, Hasher as _};
|
||||
let mut hasher = ahash::RandomState::with_seeds(1, 2, 3, 4).build_hasher();
|
||||
hasher.write_u64(self.0.get());
|
||||
child.hash(&mut hasher);
|
||||
|
||||
@@ -5,7 +5,7 @@ use crate::data::input::{
|
||||
TouchDeviceId, ViewportInfo, NUM_POINTER_BUTTONS,
|
||||
};
|
||||
use crate::{
|
||||
emath::{vec2, NumExt, Pos2, Rect, Vec2},
|
||||
emath::{vec2, NumExt as _, Pos2, Rect, Vec2},
|
||||
util::History,
|
||||
};
|
||||
use std::{
|
||||
@@ -344,7 +344,7 @@ impl InputState {
|
||||
|
||||
let is_zoom = modifiers.ctrl || modifiers.mac_cmd || modifiers.command;
|
||||
|
||||
#[allow(clippy::collapsible_else_if)]
|
||||
#[expect(clippy::collapsible_else_if)]
|
||||
if is_zoom {
|
||||
if is_smooth {
|
||||
smooth_scroll_delta_for_zoom += delta.y;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//! Showing UI:s for egui/epaint types.
|
||||
use crate::{
|
||||
epaint, memory, pos2, remap_clamp, vec2, Color32, CursorIcon, FontFamily, FontId, Label, Mesh,
|
||||
NumExt, Rect, Response, Sense, Shape, Slider, TextStyle, TextWrapMode, Ui, Widget,
|
||||
NumExt as _, Rect, Response, Sense, Shape, Slider, TextStyle, TextWrapMode, Ui, Widget,
|
||||
};
|
||||
|
||||
pub fn font_family_ui(ui: &mut Ui, font_family: &mut FontFamily) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use emath::GuiRounding as _;
|
||||
|
||||
use crate::{
|
||||
emath::{pos2, vec2, Align2, NumExt, Pos2, Rect, Vec2},
|
||||
emath::{pos2, vec2, Align2, NumExt as _, Pos2, Rect, Vec2},
|
||||
Align,
|
||||
};
|
||||
const INFINITY: f32 = f32::INFINITY;
|
||||
|
||||
@@ -64,7 +64,7 @@ use std::{
|
||||
|
||||
use ahash::HashMap;
|
||||
|
||||
use emath::{Float, OrderedFloat};
|
||||
use emath::{Float as _, OrderedFloat};
|
||||
use epaint::{mutex::Mutex, textures::TextureOptions, ColorImage, TextureHandle, TextureId, Vec2};
|
||||
|
||||
use crate::Context;
|
||||
|
||||
@@ -28,7 +28,7 @@ impl DefaultBytesLoader {
|
||||
}
|
||||
|
||||
impl BytesLoader for DefaultBytesLoader {
|
||||
fn id(&self) -> &str {
|
||||
fn id(&self) -> &'static str {
|
||||
generate_loader_id!(DefaultBytesLoader)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::borrow::Cow;
|
||||
|
||||
use super::{
|
||||
BytesLoader, Context, HashMap, ImagePoll, Mutex, SizeHint, SizedTexture, TextureHandle,
|
||||
BytesLoader as _, Context, HashMap, ImagePoll, Mutex, SizeHint, SizedTexture, TextureHandle,
|
||||
TextureLoadResult, TextureLoader, TextureOptions, TexturePoll,
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@ pub struct DefaultTextureLoader {
|
||||
}
|
||||
|
||||
impl TextureLoader for DefaultTextureLoader {
|
||||
fn id(&self) -> &str {
|
||||
fn id(&self) -> &'static str {
|
||||
crate::generate_loader_id!(DefaultTextureLoader)
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ use super::{
|
||||
use crate::{
|
||||
epaint, vec2,
|
||||
widgets::{Button, ImageButton},
|
||||
Align2, Area, Color32, Frame, Key, LayerId, Layout, NumExt, Order, Stroke, Style, TextWrapMode,
|
||||
UiKind, WidgetText,
|
||||
Align2, Area, Color32, Frame, Key, LayerId, Layout, NumExt as _, Order, Stroke, Style,
|
||||
TextWrapMode, UiKind, WidgetText,
|
||||
};
|
||||
use epaint::mutex::RwLock;
|
||||
use std::sync::Arc;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/// An `enum` of common operating systems.
|
||||
#[allow(clippy::upper_case_acronyms)] // `Ios` looks too ugly
|
||||
#[expect(clippy::upper_case_acronyms)] // `Ios` looks too ugly
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||||
pub enum OperatingSystem {
|
||||
/// Unknown OS - could be wasm
|
||||
|
||||
@@ -294,7 +294,7 @@ impl Painter {
|
||||
|
||||
/// ## Debug painting
|
||||
impl Painter {
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn debug_rect(&self, rect: Rect, color: Color32, text: impl ToString) {
|
||||
self.rect(
|
||||
rect,
|
||||
@@ -320,7 +320,7 @@ impl Painter {
|
||||
/// Text with a background.
|
||||
///
|
||||
/// See also [`Context::debug_text`].
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn debug_text(
|
||||
&self,
|
||||
pos: Pos2,
|
||||
@@ -497,7 +497,7 @@ impl Painter {
|
||||
/// [`Self::layout`] or [`Self::layout_no_wrap`].
|
||||
///
|
||||
/// Returns where the text ended up.
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn text(
|
||||
&self,
|
||||
pos: Pos2,
|
||||
|
||||
@@ -3,7 +3,7 @@ use ahash::HashMap;
|
||||
use crate::{id::IdSet, style, Align, Id, IdMap, LayerId, Rangef, Rect, Vec2, WidgetRects};
|
||||
|
||||
#[cfg(debug_assertions)]
|
||||
use crate::{pos2, Align2, Color32, FontId, NumExt, Painter};
|
||||
use crate::{pos2, Align2, Color32, FontId, NumExt as _, Painter};
|
||||
|
||||
/// Reset at the start of each frame.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
|
||||
@@ -747,7 +747,8 @@ impl ScrollStyle {
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// Scroll animation configuration, used when programmatically scrolling somewhere (e.g. with `[crate::Ui::scroll_to_cursor]`)
|
||||
/// Scroll animation configuration, used when programmatically scrolling somewhere (e.g. with `[crate::Ui::scroll_to_cursor]`).
|
||||
///
|
||||
/// The animation duration is calculated based on the distance to be scrolled via `[ScrollAnimation::points_per_second]`
|
||||
/// and can be clamped to a min / max duration via `[ScrollAnimation::duration]`.
|
||||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
@@ -1260,7 +1261,7 @@ pub fn default_text_styles() -> BTreeMap<TextStyle, FontId> {
|
||||
|
||||
impl Default for Style {
|
||||
fn default() -> Self {
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
Self {
|
||||
override_font_id: None,
|
||||
override_text_style: None,
|
||||
@@ -1562,7 +1563,7 @@ use crate::{
|
||||
|
||||
impl Style {
|
||||
pub fn ui(&mut self, ui: &mut crate::Ui) {
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
let Self {
|
||||
override_font_id,
|
||||
override_text_style,
|
||||
|
||||
@@ -616,7 +616,7 @@ impl LabelSelectionState {
|
||||
let old_primary = old_selection.map(|s| s.primary);
|
||||
let new_primary = self.selection.as_ref().map(|s| s.primary);
|
||||
if let Some(new_primary) = new_primary {
|
||||
let primary_changed = old_primary.map_or(true, |old| {
|
||||
let primary_changed = old_primary.is_none_or(|old| {
|
||||
old.widget_id != new_primary.widget_id || old.ccursor != new_primary.ccursor
|
||||
});
|
||||
if primary_changed && new_primary.widget_id == widget_id {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//! Text cursor changes/interaction, without modifying the text.
|
||||
|
||||
use epaint::text::{cursor::CCursor, Galley};
|
||||
use unicode_segmentation::UnicodeSegmentation;
|
||||
use unicode_segmentation::UnicodeSegmentation as _;
|
||||
|
||||
use crate::{epaint, NumExt, Rect, Response, Ui};
|
||||
use crate::{epaint, NumExt as _, Rect, Response, Ui};
|
||||
|
||||
use super::CCursorRange;
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ pub struct Ui {
|
||||
sizing_pass: bool,
|
||||
|
||||
/// Indicates whether this Ui belongs to a Menu.
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
menu_state: Option<Arc<RwLock<crate::menu::MenuState>>>,
|
||||
|
||||
/// The [`UiStack`] for this [`Ui`].
|
||||
@@ -666,7 +666,7 @@ impl Ui {
|
||||
///
|
||||
/// This is determined first by [`Style::wrap_mode`], and then by the layout of this [`Ui`].
|
||||
pub fn wrap_mode(&self) -> TextWrapMode {
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
if let Some(wrap_mode) = self.style.wrap_mode {
|
||||
wrap_mode
|
||||
}
|
||||
@@ -3015,7 +3015,7 @@ impl Ui {
|
||||
self.close_kind(UiKind::Menu);
|
||||
}
|
||||
|
||||
#[allow(deprecated)]
|
||||
#[expect(deprecated)]
|
||||
pub(crate) fn set_menu_state(
|
||||
&mut self,
|
||||
menu_state: Option<Arc<RwLock<crate::menu::MenuState>>>,
|
||||
@@ -3156,7 +3156,7 @@ impl Drop for Ui {
|
||||
/// Show this rectangle to the user if certain debug options are set.
|
||||
#[cfg(debug_assertions)]
|
||||
fn register_rect(ui: &Ui, rect: Rect) {
|
||||
use emath::{Align2, GuiRounding};
|
||||
use emath::{Align2, GuiRounding as _};
|
||||
|
||||
let debug = ui.style().debug;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::{hash::Hash, sync::Arc};
|
||||
|
||||
use crate::close_tag::ClosableTag;
|
||||
#[allow(unused_imports)] // Used for doclinks
|
||||
#[expect(unused_imports)] // Used for doclinks
|
||||
use crate::Ui;
|
||||
use crate::{Id, LayerId, Layout, Rect, Sense, Style, UiStackInfo};
|
||||
|
||||
|
||||
@@ -258,7 +258,7 @@ impl UiStack {
|
||||
// these methods act on the entire stack
|
||||
impl UiStack {
|
||||
/// Return an iterator that walks the stack from this node to the root.
|
||||
#[allow(clippy::iter_without_into_iter)]
|
||||
#[expect(clippy::iter_without_into_iter)]
|
||||
pub fn iter(&self) -> UiStackIterator<'_> {
|
||||
UiStackIterator { next: Some(self) }
|
||||
}
|
||||
|
||||
@@ -467,7 +467,7 @@ impl IdTypeMap {
|
||||
|
||||
/// For tests
|
||||
#[cfg(feature = "persistence")]
|
||||
#[allow(unused)]
|
||||
#[allow(unused, clippy::allow_attributes)]
|
||||
fn get_generation<T: SerializableAny>(&self, id: Id) -> Option<usize> {
|
||||
let element = self.map.get(&hash(TypeId::of::<T>(), id))?;
|
||||
match element {
|
||||
|
||||
@@ -260,7 +260,6 @@ pub type ImmediateViewportRendererCallback = dyn for<'a> Fn(&Context, ImmediateV
|
||||
/// The default values are implementation defined, so you may want to explicitly
|
||||
/// configure the size of the window, and what buttons are shown.
|
||||
#[derive(Clone, Debug, Default, Eq, PartialEq)]
|
||||
#[allow(clippy::option_option)]
|
||||
pub struct ViewportBuilder {
|
||||
/// The title of the viewport.
|
||||
/// `eframe` will use this as the title of the native window.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
widgets, Align, Color32, CornerRadius, FontSelection, Image, NumExt, Rect, Response, Sense,
|
||||
Stroke, TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetType,
|
||||
widgets, Align, Color32, CornerRadius, FontSelection, Image, NumExt as _, Rect, Response,
|
||||
Sense, Stroke, TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
/// Clickable button with text.
|
||||
@@ -46,13 +46,11 @@ impl<'a> Button<'a> {
|
||||
}
|
||||
|
||||
/// Creates a button with an image. The size of the image as displayed is defined by the provided size.
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
pub fn image(image: impl Into<Image<'a>>) -> Self {
|
||||
Self::opt_image_and_text(Some(image.into()), None)
|
||||
}
|
||||
|
||||
/// Creates a button with an image to the left of the text. The size of the image as displayed is defined by the provided size.
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
pub fn image_and_text(image: impl Into<Image<'a>>, text: impl Into<WidgetText>) -> Self {
|
||||
Self::opt_image_and_text(Some(image.into()), Some(text.into()))
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
epaint, pos2, vec2, NumExt, Response, Sense, Shape, TextStyle, Ui, Vec2, Widget, WidgetInfo,
|
||||
WidgetText, WidgetType,
|
||||
epaint, pos2, vec2, NumExt as _, Response, Sense, Shape, TextStyle, Ui, Vec2, Widget,
|
||||
WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
// TODO(emilk): allow checkbox without a text label
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
use crate::util::fixed_cache::FixedCache;
|
||||
use crate::{
|
||||
epaint, lerp, remap_clamp, Area, Context, DragValue, Frame, Id, Key, Order, Painter, Response,
|
||||
Sense, Ui, UiKind, Widget, WidgetInfo, WidgetType,
|
||||
Sense, Ui, UiKind, Widget as _, WidgetInfo, WidgetType,
|
||||
};
|
||||
use epaint::{
|
||||
ecolor::{Color32, Hsva, HsvaGamma, Rgba},
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
use std::{cmp::Ordering, ops::RangeInclusive};
|
||||
|
||||
use crate::{
|
||||
emath, text, Button, CursorIcon, Key, Modifiers, NumExt, Response, RichText, Sense, TextEdit,
|
||||
TextWrapMode, Ui, Widget, WidgetInfo, MINUS_CHAR_STR,
|
||||
emath, text, Button, CursorIcon, Key, Modifiers, NumExt as _, Response, RichText, Sense,
|
||||
TextEdit, TextWrapMode, Ui, Widget, WidgetInfo, MINUS_CHAR_STR,
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -550,7 +550,7 @@ impl Widget for DragValue<'_> {
|
||||
}
|
||||
|
||||
// some clones below are redundant if AccessKit is disabled
|
||||
#[allow(clippy::redundant_clone)]
|
||||
#[expect(clippy::redundant_clone)]
|
||||
let mut response = if is_kb_editing {
|
||||
let mut value_text = ui
|
||||
.data_mut(|data| data.remove_temp::<String>(id))
|
||||
|
||||
@@ -96,7 +96,7 @@ pub struct Hyperlink {
|
||||
}
|
||||
|
||||
impl Hyperlink {
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn new(url: impl ToString) -> Self {
|
||||
let url = url.to_string();
|
||||
Self {
|
||||
@@ -106,7 +106,7 @@ impl Hyperlink {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_value)]
|
||||
#[expect(clippy::needless_pass_by_value)]
|
||||
pub fn from_label_and_url(text: impl Into<WidgetText>, url: impl ToString) -> Self {
|
||||
Self {
|
||||
url: url.to_string(),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::{
|
||||
lerp, vec2, Color32, CornerRadius, NumExt, Pos2, Rect, Response, Rgba, Sense, Shape, Stroke,
|
||||
TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetType,
|
||||
lerp, vec2, Color32, CornerRadius, NumExt as _, Pos2, Rect, Response, Rgba, Sense, Shape,
|
||||
Stroke, TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
enum ProgressBarText {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::{
|
||||
epaint, pos2, vec2, NumExt, Response, Sense, TextStyle, Ui, Vec2, Widget, WidgetInfo,
|
||||
epaint, pos2, vec2, NumExt as _, Response, Sense, TextStyle, Ui, Vec2, Widget, WidgetInfo,
|
||||
WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
use crate::{NumExt, Response, Sense, TextStyle, Ui, Widget, WidgetInfo, WidgetText, WidgetType};
|
||||
use crate::{
|
||||
NumExt as _, Response, Sense, TextStyle, Ui, Widget, WidgetInfo, WidgetText, WidgetType,
|
||||
};
|
||||
|
||||
/// One out of several alternatives, either selected or not.
|
||||
/// Will mark selected items with a different background color.
|
||||
|
||||
@@ -4,8 +4,8 @@ use std::ops::RangeInclusive;
|
||||
|
||||
use crate::{
|
||||
emath, epaint, lerp, pos2, remap, remap_clamp, style, style::HandleShape, vec2, Color32,
|
||||
DragValue, EventFilter, Key, Label, NumExt, Pos2, Rangef, Rect, Response, Sense, TextStyle,
|
||||
TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, MINUS_CHAR_STR,
|
||||
DragValue, EventFilter, Key, Label, NumExt as _, Pos2, Rangef, Rect, Response, Sense,
|
||||
TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, MINUS_CHAR_STR,
|
||||
};
|
||||
|
||||
use super::drag_value::clamp_value_to_range;
|
||||
|
||||
@@ -13,8 +13,8 @@ use crate::{
|
||||
response, text_selection,
|
||||
text_selection::{text_cursor_state::cursor_rect, visuals::paint_text_selection, CCursorRange},
|
||||
vec2, Align, Align2, Color32, Context, CursorIcon, Event, EventFilter, FontSelection, Id,
|
||||
ImeEvent, Key, KeyboardShortcut, Margin, Modifiers, NumExt, Response, Sense, Shape, TextBuffer,
|
||||
TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetWithState,
|
||||
ImeEvent, Key, KeyboardShortcut, Margin, Modifiers, NumExt as _, Response, Sense, Shape,
|
||||
TextBuffer, TextStyle, TextWrapMode, Ui, Vec2, Widget, WidgetInfo, WidgetText, WidgetWithState,
|
||||
};
|
||||
|
||||
use super::{TextEditOutput, TextEditState};
|
||||
@@ -878,7 +878,7 @@ fn mask_if_password(is_password: bool, text: &str) -> String {
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// Check for (keyboard) events to edit the cursor and/or text.
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
#[expect(clippy::too_many_arguments)]
|
||||
fn events(
|
||||
ui: &crate::Ui,
|
||||
state: &mut TextEditState,
|
||||
|
||||
@@ -72,7 +72,7 @@ impl TextEditState {
|
||||
self.undoer.lock().clone()
|
||||
}
|
||||
|
||||
#[allow(clippy::needless_pass_by_ref_mut)] // Intentionally hide interiority of mutability
|
||||
#[expect(clippy::needless_pass_by_ref_mut)] // Intentionally hide interiority of mutability
|
||||
pub fn set_undoer(&mut self, undoer: TextEditUndoer) {
|
||||
*self.undoer.lock() = undoer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user