macro_rules! impl_properties_advanced {
() => {
#[cfg(not(alloc_frugal))]
pub(crate) const TAB_BAR_PROPERTIES: &[PropertySchema] = &[
PropertySchema::records(
"tabs",
true,
true,
&crate::widget::advanced_widgets::tab_bar::TAB_BAR_TAB_SCHEMA,
),
PropertySchema::new("tab_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("current_index", PropertyValueKind::UInt, true, true),
PropertySchema::new("closable", PropertyValueKind::Bool, true, true),
PropertySchema::new("movable", PropertyValueKind::Bool, true, true),
PropertySchema::new("tab_min_width", PropertyValueKind::UInt, true, true),
PropertySchema::new("tab_max_width", PropertyValueKind::UInt, true, true),
PropertySchema::enumerated("direction", true, true, &["ltr", "rtl"]),
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 CALENDAR_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("selected_date", PropertyValueKind::String, true, true),
PropertySchema::new("minimum_date", PropertyValueKind::String, true, true),
PropertySchema::new("maximum_date", PropertyValueKind::String, true, true),
PropertySchema::enumerated(
"first_day_of_week",
true,
true,
&["mon", "tue", "wed", "thu", "fri", "sat", "sun"],
),
PropertySchema::new("grid_visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("navigation_bar_visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("horizontal_header_visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("vertical_header_visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("date_format", 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),
PropertySchema::new("show_week_numbers", PropertyValueKind::Bool, true, true),
PropertySchema::enumerated("selection_mode", true, true, &["single", "multi", "range"]),
PropertySchema::new("selected_dates", PropertyValueKind::StringList, true, true),
];
#[cfg(not(alloc_frugal))]
pub(crate) const DATE_EDIT_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("date", PropertyValueKind::String, true, true),
PropertySchema::new("minimum_date", PropertyValueKind::String, true, true),
PropertySchema::new("maximum_date", PropertyValueKind::String, true, true),
PropertySchema::new("display_format", PropertyValueKind::String, true, true),
PropertySchema::new("calendar_popup", PropertyValueKind::Bool, true, true),
PropertySchema::enumerated("alignment", true, true, &["left", "centre", "right"]),
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(
"calendar_first_day",
true,
true,
&["mon", "tue", "wed", "thu", "fri", "sat", "sun"],
),
];
#[cfg(not(alloc_frugal))]
pub(crate) const TIME_EDIT_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("time", PropertyValueKind::String, true, true),
PropertySchema::new("minimum_time", PropertyValueKind::String, true, true),
PropertySchema::new("maximum_time", PropertyValueKind::String, true, true),
PropertySchema::new("display_format", PropertyValueKind::String, true, true),
PropertySchema::new("clock_popup", PropertyValueKind::Bool, true, true),
PropertySchema::enumerated("alignment", true, true, &["left", "centre", "right"]),
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("time_format", true, true, &["12h", "24h"]),
];
#[cfg(not(alloc_frugal))]
pub(crate) const RIBBON_BAR_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("tabs", PropertyValueKind::StringList, true, true),
PropertySchema::new("tab_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("current_tab", PropertyValueKind::UInt, true, true),
PropertySchema::new("expanded", PropertyValueKind::Bool, true, true),
PropertySchema::new("minimized", 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("quick_access_items", PropertyValueKind::StringList, true, true),
PropertySchema::new("quick_access_overflow_menu", PropertyValueKind::Bool, true, true),
];
#[cfg(not(alloc_frugal))]
pub(crate) const PIE_MENU_PROPERTIES: &[PropertySchema] = &[
PropertySchema::records(
"items",
true,
true,
&crate::widget::advanced_widgets::pie_menu::PIE_MENU_ITEM_SCHEMA,
),
PropertySchema::new("item_count", PropertyValueKind::UInt, true, false),
PropertySchema::new("radius", PropertyValueKind::Float, true, true),
PropertySchema::new("inner_radius", PropertyValueKind::Float, true, true),
PropertySchema::new("current_index", PropertyValueKind::UInt, 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 DATE_TIME_EDIT_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("datetime", PropertyValueKind::String, true, true),
PropertySchema::new("display_format", PropertyValueKind::String, true, true),
PropertySchema::new("calendar_popup", PropertyValueKind::Bool, true, true),
PropertySchema::enumerated("alignment", true, true, &["left", "centre", "right"]),
PropertySchema::new("minimum", PropertyValueKind::String, false, false),
PropertySchema::new("maximum", PropertyValueKind::String, false, 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(
"calendar_first_day",
true,
true,
&["mon", "tue", "wed", "thu", "fri", "sat", "sun"],
),
];
#[cfg(not(alloc_frugal))]
const KEY_SEQUENCE_EDITOR_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("key_sequence", PropertyValueKind::String, true, true),
PropertySchema::new("recording", PropertyValueKind::Bool, true, true),
PropertySchema::new("can_undo", PropertyValueKind::Bool, true, false),
PropertySchema::new("can_redo", 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),
];
};
}