summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/client/app/src/ui/model/textbox.rs
blob: 08cd9ca1bcfa69aca314e637ddf8b3768e8b4c64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* 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 text box.
#[derive(Debug, Default)]
pub struct TextBox {
    pub placeholder: Option<String>,
    pub content: Property<String>,
    pub editable: bool,
}

impl super::ElementBuilder<TextBox> {
    pub fn placeholder(&mut self, text: impl Into<String>) {
        self.element_type.placeholder = Some(text.into());
    }

    pub fn content(&mut self, value: impl Into<Property<String>>) {
        self.element_type.content = value.into();
    }

    pub fn editable(&mut self, value: bool) {
        self.element_type.editable = value;
    }
}