wgui: StyleSetRequest

This commit is contained in:
Aleksander
2025-11-26 22:49:50 +01:00
parent 85eab33c94
commit 9696d6730d
6 changed files with 88 additions and 72 deletions

View File

@@ -1,7 +1,7 @@
use std::{cell::RefCell, rc::Rc};
use button::setup_custom_button;
use glam::{vec2, Affine2, Vec2};
use glam::{Affine2, Vec2, vec2};
use label::setup_custom_label;
use wgui::{
assets::AssetPath,
@@ -9,14 +9,14 @@ use wgui::{
event::{
Event as WguiEvent, EventAlterables, EventCallback, EventListenerID, EventListenerKind,
InternalStateChangeEvent, MouseButtonIndex, MouseDownEvent, MouseLeaveEvent,
MouseMotionEvent, MouseUpEvent, MouseWheelEvent,
MouseMotionEvent, MouseUpEvent, MouseWheelEvent, StyleSetRequest,
},
gfx::cmd::WGfxClearMode,
layout::{Layout, LayoutParams, WidgetID},
parser::{CustomAttribsInfoOwned, ParserState},
renderer_vk::context::Context as WguiContext,
taffy,
widget::{label::WidgetLabel, rectangle::WidgetRectangle, EventResult},
widget::{EventResult, label::WidgetLabel, rectangle::WidgetRectangle},
};
use crate::{
@@ -24,7 +24,7 @@ use crate::{
state::AppState,
subsystem::hid::WheelDelta,
windowing::backend::{
ui_transform, FrameMeta, OverlayBackend, OverlayEventData, RenderResources, ShouldRender,
FrameMeta, OverlayBackend, OverlayEventData, RenderResources, ShouldRender, ui_transform,
},
};
@@ -228,14 +228,7 @@ impl<S: 'static> GuiPanel<S> {
display: taffy::Display,
alterables: &mut EventAlterables,
) {
let mut style = self
.layout
.state
.get_widget_style(widget_id)
.unwrap_or(&taffy::Style::DEFAULT)
.clone();
style.display = display;
alterables.set_style(widget_id, style);
alterables.set_style(widget_id, StyleSetRequest::Display(display));
}
}

View File

@@ -1,8 +1,11 @@
use std::{collections::HashMap, rc::Rc};
use wgui::{
components::button::ComponentButton, event::CallbackDataCommon, layout::WidgetID,
parser::Fetchable, taffy,
components::button::ComponentButton,
event::{CallbackDataCommon, StyleSetRequest},
layout::WidgetID,
parser::Fetchable,
taffy,
};
use crate::gui::panel::GuiPanel;
@@ -76,19 +79,15 @@ impl ButtonPaneTabSwitcher {
}
fn set_tab_active(common: &mut CallbackDataCommon, data: &TabData, active: bool) {
let mut style = common
.state
.get_widget_style(data.pane)
.unwrap_or(&taffy::Style::DEFAULT)
.clone();
common.alterables.set_style(
data.pane,
StyleSetRequest::Display(if active {
taffy::Display::Block
} else {
taffy::Display::None
}),
);
style.display = if active {
taffy::Display::Block
} else {
taffy::Display::None
};
common.alterables.set_style(data.pane, style);
if let Some(button) = data.button.as_ref() {
button.set_sticky_state(common, active);
}