#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash, ooxmlsdk_derive::SdkEnum)]
pub enum PersistenceValues {
#[sdk(rename = "persistPropertyBag")]
#[default]
PersistPropertyBag,
#[sdk(rename = "persistStream")]
PersistStream,
#[sdk(rename = "persistStreamInit")]
PersistStreamInit,
#[sdk(rename = "persistStorage")]
PersistStorage,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "ax:ocx")]
pub struct ActiveXControlData {
pub xmlns: Vec<crate::common::XmlNamespace>,
pub xml_other_attrs: Vec<crate::common::XmlOtherAttr>,
#[sdk(attr(qname = "ax:classid"))]
pub active_x_control_class_id: crate::simple_type::StringValue,
#[sdk(attr(qname = "ax:license"))]
pub license: Option<crate::simple_type::StringValue>,
#[sdk(attr(qname = "r:id"))]
pub id: Option<crate::simple_type::StringValue>,
#[sdk(attr(qname = "ax:persistence"))]
pub persistence: PersistenceValues,
#[sdk(child(qname = "ax:ocxPr"))]
pub active_x_object_property: Vec<ActiveXObjectProperty>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "ax:ocxPr")]
pub struct ActiveXObjectProperty {
#[sdk(attr(qname = "ax:name"))]
pub name: crate::simple_type::StringValue,
#[sdk(attr(qname = "ax:value"))]
pub value: Option<crate::simple_type::StringValue>,
#[sdk(
choice(
child(variant = SharedComFont, qname = "ax:font"),
child(variant = SharedComPicture, qname = "ax:picture")
)
)]
pub active_x_object_property_choice: Option<ActiveXObjectPropertyChoice>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "ax:font")]
pub struct SharedComFont {
#[sdk(attr(qname = "ax:persistence"))]
pub persistence: Option<PersistenceValues>,
#[sdk(attr(qname = "r:id"))]
pub id: Option<crate::simple_type::StringValue>,
#[sdk(child(qname = "ax:ocxPr"))]
pub active_x_object_property: Vec<ActiveXObjectProperty>,
}
#[derive(Clone, Debug, Default, PartialEq, ooxmlsdk_derive::SdkType)]
#[sdk(qname = "ax:picture")]
pub struct SharedComPicture {
#[sdk(attr(qname = "r:id"))]
pub id: Option<crate::simple_type::StringValue>,
}
#[derive(Clone, Debug, PartialEq)]
pub enum ActiveXObjectPropertyChoice {
SharedComFont(std::boxed::Box<SharedComFont>),
SharedComPicture(std::boxed::Box<SharedComPicture>),
}