macro_rules! impl_properties_dialog {
() => {
#[cfg(not(alloc_frugal))]
pub(crate) const COLOR_PICKER_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("hex_rgba", PropertyValueKind::String, true, true),
PropertySchema::new("show_alpha", PropertyValueKind::Bool, true, true),
PropertySchema::new("preset_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
PropertySchema::new("presets", PropertyValueKind::StringList, true, true),
PropertySchema::new("hue_degrees", PropertyValueKind::UInt, true, true),
];
#[cfg(not(alloc_frugal))]
pub(crate) const MESSAGE_BOX_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::enumerated(
"icon",
true,
true,
&["none", "information", "question", "warning", "critical"],
),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("informative_text", PropertyValueKind::String, true, true),
PropertySchema::new("detailed_text", PropertyValueKind::String, true, true),
PropertySchema::new("check_box", PropertyValueKind::String, true, true),
PropertySchema::new("check_box_checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("default_button", PropertyValueKind::String, true, true),
PropertySchema::new("escape_button", PropertyValueKind::String, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const FILE_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("directory", PropertyValueKind::String, true, true),
PropertySchema::new("selected_file", PropertyValueKind::String, true, true),
PropertySchema::enumerated(
"mode",
true,
true,
&["open_file", "open_files", "save_file", "select_directory"],
),
PropertySchema::new("label_text", PropertyValueKind::String, true, true),
PropertySchema::new("default_suffix", PropertyValueKind::String, true, true),
PropertySchema::new("file_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("can_go_back", PropertyValueKind::Bool, true, false),
PropertySchema::new("can_go_forward", PropertyValueKind::Bool, true, false),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
PropertySchema::enumerated("view_mode", true, true, &["list", "details"]),
PropertySchema::new("sidebar_urls", PropertyValueKind::StringList, true, true),
];
#[cfg(not(alloc_frugal))]
pub(crate) const FONT_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("underline", PropertyValueKind::Bool, true, true),
PropertySchema::new("strikethrough", PropertyValueKind::Bool, true, true),
PropertySchema::new("no_buttons", PropertyValueKind::Bool, true, true),
PropertySchema::new("show_preview", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const INPUT_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("label_text", PropertyValueKind::String, true, true),
PropertySchema::enumerated("mode", true, true, &["text", "integer", "double", "item"]),
PropertySchema::new("text_value", PropertyValueKind::String, true, true),
PropertySchema::new("int_value", PropertyValueKind::Int, true, true),
PropertySchema::new("double_value", PropertyValueKind::Float, true, true),
PropertySchema::new("int_step", PropertyValueKind::Int, true, true),
PropertySchema::new("current_item", PropertyValueKind::UInt, true, true),
PropertySchema::new("dropdown_open", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const PROGRESS_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("label_text", PropertyValueKind::String, true, true),
PropertySchema::new("value", PropertyValueKind::Int, true, true),
PropertySchema::new("minimum", PropertyValueKind::Int, true, true),
PropertySchema::new("maximum", PropertyValueKind::Int, true, true),
PropertySchema::new("auto_reset", PropertyValueKind::Bool, true, true),
PropertySchema::new("show_cancel_button", PropertyValueKind::Bool, true, true),
PropertySchema::new("show_bar", PropertyValueKind::Bool, true, true),
PropertySchema::new("minimum_duration", PropertyValueKind::UInt, true, true),
PropertySchema::new("animated", PropertyValueKind::Bool, true, true),
PropertySchema::new("accent_fill", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const POPUP_WINDOW_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("has_content", PropertyValueKind::Bool, true, false),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("transient_parent", PropertyValueKind::UInt, true, true),
PropertySchema::new("floating_chrome", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
PropertySchema::new("resizable", PropertyValueKind::Bool, true, true),
];
#[cfg(not(alloc_frugal))]
pub(crate) const DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("has_content", PropertyValueKind::Bool, true, false),
PropertySchema::new("result", PropertyValueKind::Int, true, false),
PropertySchema::new("accepted", PropertyValueKind::Bool, true, false),
PropertySchema::new("rejected", PropertyValueKind::Bool, true, false),
PropertySchema::new("closable", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const BOTTOM_SHEET_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("expanded", PropertyValueKind::Bool, true, true),
PropertySchema::new("peek_height", PropertyValueKind::Float, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const WIZARD_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("subtitle", PropertyValueKind::String, true, true),
PropertySchema::new("current_step", PropertyValueKind::UInt, true, false),
PropertySchema::new("step_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("can_go_back", PropertyValueKind::Bool, true, false),
PropertySchema::new("can_go_forward", PropertyValueKind::Bool, true, false),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const CUPERTINO_ALERT_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("message", PropertyValueKind::String, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const TOOLTIP_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::new("shown", PropertyValueKind::Bool, true, true),
PropertySchema::new("wrap", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const POPOVER_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("shown", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("text", PropertyValueKind::String, true, false),
PropertySchema::enumerated(
"behavior",
true,
true,
&["transient", "semi_transient", "permanent"],
),
PropertySchema::enumerated(
"arrow_direction",
true,
true,
&["auto", "up", "down", "left", "right"],
),
PropertySchema::new("placeholder_text", PropertyValueKind::String, true, true),
PropertySchema::new("translucent", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const MODAL_BOTTOM_SHEET_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("sheet_height", PropertyValueKind::UInt, true, true),
PropertySchema::new("animated", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const FIND_REPLACE_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("find_text", PropertyValueKind::String, true, true),
PropertySchema::new("replace_text", PropertyValueKind::String, true, true),
PropertySchema::new("match_case", PropertyValueKind::Bool, true, true),
PropertySchema::new("whole_word", PropertyValueKind::Bool, true, true),
PropertySchema::new("use_regex", PropertyValueKind::Bool, true, true),
PropertySchema::new("highlight_all", PropertyValueKind::Bool, true, true),
PropertySchema::new("wrap_around", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const ALERT_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("message", PropertyValueKind::String, true, true),
PropertySchema::new("button_text", PropertyValueKind::String, true, true),
PropertySchema::new("informative_text", PropertyValueKind::String, true, true),
PropertySchema::new("detailed_text", PropertyValueKind::String, true, true),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("default_button", PropertyValueKind::UInt, true, true),
PropertySchema::new("check_box", PropertyValueKind::String, true, true),
PropertySchema::new("check_box_checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("icon", PropertyValueKind::String, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const CONFIRM_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("message", PropertyValueKind::String, true, true),
PropertySchema::new("accept_text", PropertyValueKind::String, true, true),
PropertySchema::new("reject_text", PropertyValueKind::String, true, true),
PropertySchema::new("informative_text", PropertyValueKind::String, true, true),
PropertySchema::new("detailed_text", PropertyValueKind::String, true, true),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("default_button", PropertyValueKind::UInt, true, true),
PropertySchema::new("check_box", PropertyValueKind::String, true, true),
PropertySchema::new("check_box_checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("icon", PropertyValueKind::String, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
#[cfg(not(alloc_frugal))]
pub(crate) const ABOUT_DIALOG_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("title", PropertyValueKind::String, true, true),
PropertySchema::new("application_name", PropertyValueKind::String, true, true),
PropertySchema::new("version", PropertyValueKind::String, true, true),
PropertySchema::new("message", PropertyValueKind::String, true, true),
PropertySchema::new("informative_text", PropertyValueKind::String, true, true),
PropertySchema::new("detailed_text", PropertyValueKind::String, true, true),
PropertySchema::new("modal", PropertyValueKind::Bool, true, true),
PropertySchema::new("default_button", PropertyValueKind::UInt, true, true),
PropertySchema::new("check_box", PropertyValueKind::String, true, true),
PropertySchema::new("check_box_checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("icon", PropertyValueKind::String, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
};
}