webbind/opt/rustwide/workdir/src/
HTMLProgressElement.rs1use super::*;
2
3#[derive(Clone, Debug, PartialEq, PartialOrd)]
6#[repr(transparent)]
7pub struct HTMLProgressElement {
8 inner: HTMLElement,
9}
10
11impl FromVal for HTMLProgressElement {
12 fn from_val(v: &Any) -> Self {
13 HTMLProgressElement {
14 inner: HTMLElement::from_val(v),
15 }
16 }
17 fn take_ownership(v: AnyHandle) -> Self {
18 Self::from_val(&Any::take_ownership(v))
19 }
20 fn as_handle(&self) -> AnyHandle {
21 self.inner.as_handle()
22 }
23}
24
25impl core::ops::Deref for HTMLProgressElement {
26 type Target = HTMLElement;
27 fn deref(&self) -> &Self::Target {
28 &self.inner
29 }
30}
31
32impl core::ops::DerefMut for HTMLProgressElement {
33 fn deref_mut(&mut self) -> &mut Self::Target {
34 &mut self.inner
35 }
36}
37
38impl AsRef<Any> for HTMLProgressElement {
39 fn as_ref(&self) -> &Any {
40 &self.inner
41 }
42}
43
44impl AsMut<Any> for HTMLProgressElement {
45 fn as_mut(&mut self) -> &mut Any {
46 &mut self.inner
47 }
48}
49
50impl From<HTMLProgressElement> for Any {
51 fn from(s: HTMLProgressElement) -> Any {
52 let handle = s.inner.as_handle();
53 core::mem::forget(s);
54 Any::take_ownership(handle)
55 }
56}
57
58impl From<&HTMLProgressElement> for Any {
59 fn from(s: &HTMLProgressElement) -> Any {
60 s.inner.clone().into()
61 }
62}
63
64jsbind::utils::impl_dyn_cast!(HTMLProgressElement);
65
66impl HTMLProgressElement {
67 pub fn value(&self) -> f64 {
70 self.inner.get("value").as_::<f64>()
71 }
72
73 pub fn set_value(&mut self, value: f64) {
76 self.inner.set("value", value);
77 }
78}
79impl HTMLProgressElement {
80 pub fn max(&self) -> f64 {
83 self.inner.get("max").as_::<f64>()
84 }
85
86 pub fn set_max(&mut self, value: f64) {
89 self.inner.set("max", value);
90 }
91}
92impl HTMLProgressElement {
93 pub fn position(&self) -> f64 {
96 self.inner.get("position").as_::<f64>()
97 }
98}
99impl HTMLProgressElement {
100 pub fn labels(&self) -> NodeList {
103 self.inner.get("labels").as_::<NodeList>()
104 }
105}
106
107impl HTMLProgressElement {
108 pub fn new() -> HTMLProgressElement {
110 Self {
111 inner: Any::global("HTMLProgressElement")
112 .new(&[])
113 .as_::<HTMLElement>(),
114 }
115 }
116}