CommonLibrary/UserInterface/DTO/QuickPickOptionsDTO.rs
1//! # QuickPickOptionsDTO
2//!
3//! Defines the Data Transfer Object for the options of a quick pick UI.
4
5use serde::{Deserialize, Serialize};
6
7/// A serializable struct that holds all configuration options for a quick pick
8/// UI.
9#[derive(Serialize, Deserialize, Debug, Clone, Default)]
10#[serde(rename_all = "PascalCase")]
11pub struct QuickPickOptionsDTO {
12 /// An optional title for the quick pick window.
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub Title:Option<String>,
15
16 /// Placeholder text to show in the filter input box when it is empty.
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub PlaceHolder:Option<String>,
19
20 /// If `true`, the user can select more than one item.
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub CanPickMany:Option<bool>,
23
24 /// If `true`, the quick pick will not close when it loses focus.
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub IgnoreFocusOut:Option<bool>,
27}