From 5b057a8d1723bb3898f95ce1e6d4dbe7af65b202 Mon Sep 17 00:00:00 2001 From: Lucas Meurer Date: Mon, 31 Aug 2026 16:51:50 +0200 Subject: [PATCH] Use `ClassName` for `DragValue::CLASS` `has_class` now takes `&str`, so class definitions stay `ClassName` for consistency with the built-in `Button` and `TextEdit` classes. Co-Authored-By: Claude Opus 5 (1M context) --- crates/egui/src/theme/default_style.rs | 3 +-- crates/egui/src/widgets/drag_value.rs | 7 ++++--- crates/egui/src/widgets/text_edit/builder.rs | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/crates/egui/src/theme/default_style.rs b/crates/egui/src/theme/default_style.rs index f6742fd76..63ff3b306 100644 --- a/crates/egui/src/theme/default_style.rs +++ b/crates/egui/src/theme/default_style.rs @@ -147,12 +147,11 @@ impl StyleProvider for DefaultStyle { atom_layout: AtomLayoutStyle { frame: Frame { fill, - stroke, corner_radius: widget_visuals.corner_radius, inner_margin: Margin::symmetric(4, 2), ..Default::default() } - .expand_in_place(widget_visuals.expansion), + .apply_stroke_and_expansion_without_layout_shift(stroke, widget_visuals.expansion), gap: style.spacing.icon_spacing, text_style: text, ..Default::default() diff --git a/crates/egui/src/widgets/drag_value.rs b/crates/egui/src/widgets/drag_value.rs index d84cb02f3..118acb416 100644 --- a/crates/egui/src/widgets/drag_value.rs +++ b/crates/egui/src/widgets/drag_value.rs @@ -1,8 +1,9 @@ use crate::{ Atom, AtomExt as _, AtomKind, Atoms, Button, CursorIcon, Id, IntoAtoms, Key, MINUS_CHAR_STR, Modifiers, NumExt as _, Response, RichText, Sense, TextEdit, TextWrapMode, Ui, Widget, - WidgetInfo, emath, text, - widget_style::{Classes, HasClasses}, + WidgetInfo, + class::{ClassName, Classes, HasClasses}, + emath, text, }; use core::{cmp::Ordering, ops::RangeInclusive}; use emath::Vec2; @@ -72,7 +73,7 @@ impl<'a> DragValue<'a> { const ATOM_ID: &'static str = "drag_item"; /// Present on the [`Button`] and the [`TextEdit`] a drag value is built from. - pub const CLASS: &'static str = "egui::drag_value"; + pub const CLASS: ClassName = ClassName::from_static("egui::drag_value"); pub fn new(value: &'a mut Num) -> Self { let slf = Self::from_get_set(move |v: Option| { diff --git a/crates/egui/src/widgets/text_edit/builder.rs b/crates/egui/src/widgets/text_edit/builder.rs index 5905cce2a..614135726 100644 --- a/crates/egui/src/widgets/text_edit/builder.rs +++ b/crates/egui/src/widgets/text_edit/builder.rs @@ -8,6 +8,7 @@ use crate::{ CursorIcon, Event, EventFilter, FontSelection, Frame, IMEPurpose, Id, IdSalt, ImeEvent, IntoAtoms, IntoSizedResult, Key, KeyboardShortcut, Margin, Modifiers, NumExt as _, Response, Sense, SizedAtomKind, TextBuffer, TextStyle, Ui, Vec2, Widget, WidgetInfo, WidgetWithState, + class::{ClassName, Classes, HasClasses}, epaint, os::OperatingSystem, output::OutputEvent, @@ -17,7 +18,7 @@ use crate::{ self, CCursorRange, text_cursor_state::cursor_rect, visuals::paint_text_selection, }, vec2, - widget_style::{ClassName, Classes, HasClasses, TextEditStyle}, + widget_style::TextEditStyle, }; use super::{TextEditOutput, TextEditState};