Enable tester feature in websocket example

This commit is contained in:
Héctor Ramón Jiménez 2025-06-03 09:54:14 +02:00
parent 1821dc7ff0
commit 9cd1a93e5a
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
5 changed files with 44 additions and 16 deletions

View file

@ -104,10 +104,7 @@ where
state.title(&self.program, window)
}
fn subscription(
&self,
state: &Self::State,
) -> runtime::futures::Subscription<Self::Message> {
fn subscription(&self, state: &Self::State) -> Subscription<Self::Message> {
state.subscription(&self.program)
}
@ -438,9 +435,19 @@ where
}
fn subscription(&self, program: &P) -> Subscription<Event<P>> {
let subscription =
program.subscription(&self.state).map(Event::Program);
debug::subscriptions_tracked(subscription.units());
let subscription = match &self.mode {
Mode::Open { tester } if !tester.is_idle() => {
tester.subscription(program).map(Event::Tester)
}
_ => {
let subscription =
program.subscription(&self.state).map(Event::Program);
debug::subscriptions_tracked(subscription.units());
subscription
}
};
let hotkeys =
futures::keyboard::on_key_press(|key, _modifiers| match key {
@ -473,7 +480,11 @@ where
}
fn scale_factor(&self, program: &P, window: window::Id) -> f64 {
program.scale_factor(self.state(), window)
if let Mode::Open { .. } = &self.mode {
1.0
} else {
program.scale_factor(self.state(), window)
}
}
fn state(&self) -> &P::State {