macro_rules! impl_properties_base {
() => {
pub(crate) const BUTTON_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::new("pressed", PropertyValueKind::Bool, true, true),
PropertySchema::new("default", PropertyValueKind::Bool, true, true),
PropertySchema::new("enabled", PropertyValueKind::Bool, true, true),
PropertySchema::new("tooltip", PropertyValueKind::String, true, true),
PropertySchema::new("visible", PropertyValueKind::Bool, true, true),
PropertySchema::new("geometry", PropertyValueKind::String, false, false),
];
pub(crate) const LABEL_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::enumerated("alignment", true, true, &["left", "centre", "right", "top", "bottom"]),
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),
];
pub(crate) const CHECK_BOX_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::enumerated("state", true, true, &["off", "indeterminate", "on"]),
PropertySchema::new("checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("tristate_enabled", 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),
];
pub(crate) const RADIO_BUTTON_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::new("checked", PropertyValueKind::Bool, true, true),
PropertySchema::new("group_id", 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 TOGGLE_BUTTON_PROPERTIES: &[PropertySchema] = &[
PropertySchema::new("text", PropertyValueKind::String, true, true),
PropertySchema::new("checked", PropertyValueKind::Bool, true, true),
PropertySchema::enumerated("state", true, false, &["off", "indeterminate", "on"]),
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),
];
pub(crate) const LINE_PROPERTIES: &[PropertySchema] = &[PropertySchema::enumerated("orientation", true, true, &["horizontal", "vertical"]),
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),
];
};
}