summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/client/app/src/ui/model/checkbox.rs
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/client/app/src/ui/model/checkbox.rs')
-rw-r--r--toolkit/crashreporter/client/app/src/ui/model/checkbox.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/toolkit/crashreporter/client/app/src/ui/model/checkbox.rs b/toolkit/crashreporter/client/app/src/ui/model/checkbox.rs
new file mode 100644
index 0000000000..8923e33558
--- /dev/null
+++ b/toolkit/crashreporter/client/app/src/ui/model/checkbox.rs
@@ -0,0 +1,22 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+use crate::data::Property;
+
+/// A checkbox (with optional label).
+#[derive(Default, Debug)]
+pub struct Checkbox {
+ pub checked: Property<bool>,
+ pub label: Option<String>,
+}
+
+impl super::ElementBuilder<Checkbox> {
+ pub fn checked(&mut self, value: impl Into<Property<bool>>) {
+ self.element_type.checked = value.into();
+ }
+
+ pub fn label<S: Into<String>>(&mut self, label: S) {
+ self.element_type.label = Some(label.into());
+ }
+}