use serde::{Deserialize, Serialize};
use super::common::XlsxInnerXml;
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
pub struct DecodeCellAnchor {
#[serde(rename = "@editAs", default)]
pub edit_as: Option<String>,
#[serde(rename = "from", default)]
pub from: Option<DecodeFrom>,
#[serde(rename = "to", default)]
pub to: Option<DecodeTo>,
#[serde(rename = "ext", default)]
pub ext: Option<DecodePositiveSize2D>,
#[serde(rename = "sp", default)]
pub sp: Option<DecodeSp>,
#[serde(rename = "pic", default)]
pub pic: Option<DecodePic>,
#[serde(rename = "graphicFrame", default)]
pub graphic_frame: Option<super::drawing::XlsxGraphicFrame>,
#[serde(rename = "clientData", default)]
pub client_data: Option<DecodeClientData>,
#[serde(rename = "AlternateContent", default)]
pub alternate_content: Vec<XlsxAlternateContent>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
pub struct DecodeCellAnchorPos {
#[serde(rename = "@editAs", default)]
pub edit_as: Option<String>,
#[serde(rename = "from", default)]
pub from: Option<XlsxFrom>,
#[serde(rename = "to", default)]
pub to: Option<XlsxTo>,
#[serde(rename = "pos", default)]
pub pos: Option<XlsxInnerXml>,
#[serde(rename = "ext", default)]
pub ext: Option<XlsxPositiveSize2D>,
#[serde(rename = "sp", default)]
pub sp: Option<XlsxSp>,
#[serde(rename = "grpSp", default)]
pub grp_sp: Option<XlsxInnerXml>,
#[serde(rename = "graphicFrame", default)]
pub graphic_frame: Option<XlsxInnerXml>,
#[serde(rename = "cxnSp", default)]
pub cxn_sp: Option<XlsxInnerXml>,
#[serde(rename = "pic", default)]
pub pic: Option<XlsxInnerXml>,
#[serde(rename = "contentPart", default)]
pub content_part: Option<XlsxInnerXml>,
#[serde(rename = "AlternateContent", default)]
pub alternate_content: Vec<XlsxAlternateContent>,
#[serde(rename = "clientData", default)]
pub client_data: Option<XlsxInnerXml>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "Choice")]
pub struct DecodeChoice {
#[serde(rename = "@a14", default)]
pub xmlns_a14: Option<String>,
#[serde(rename = "@sle15", default)]
pub xmlns_sle15: Option<String>,
#[serde(rename = "@Requires", default)]
pub requires: Option<String>,
#[serde(rename = "graphicFrame", default)]
pub graphic_frame: DecodeGraphicFrame,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "graphicFrame")]
pub struct DecodeGraphicFrame {
#[serde(rename = "@macro", default)]
pub macro_name: String,
#[serde(rename = "nvGraphicFramePr", default)]
pub nv_graphic_frame_pr: DecodeNvGraphicFramePr,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "nvGraphicFramePr")]
pub struct DecodeNvGraphicFramePr {
#[serde(rename = "cNvPr", default)]
pub c_nv_pr: DecodeCNvPr,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "sp")]
pub struct DecodeSp {
#[serde(rename = "@macro", default)]
pub macro_name: Option<String>,
#[serde(rename = "@textlink", default)]
pub text_link: Option<String>,
#[serde(rename = "@fLocksText", default)]
pub f_locks_text: bool,
#[serde(rename = "@fPublished", default)]
pub f_published: Option<bool>,
#[serde(rename = "nvSpPr", default)]
pub nv_sp_pr: Option<DecodeNvSpPr>,
#[serde(rename = "spPr", default)]
pub sp_pr: Option<DecodeSpPr>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "nvSpPr")]
pub struct DecodeNvSpPr {
#[serde(rename = "cNvPr", default)]
pub c_nv_pr: Option<DecodeCNvPr>,
#[serde(rename = "extLst", default)]
pub ext_lst: Option<DecodePositiveSize2D>,
#[serde(rename = "cNvSpPr", default)]
pub c_nv_sp_pr: Option<DecodeCNvSpPr>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "cNvSpPr")]
pub struct DecodeCNvSpPr {
#[serde(rename = "@txBox", default)]
pub tx_box: bool,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "xdr:wsDr")]
pub struct DecodeWsDr {
#[serde(rename = "@xmlns:a", default)]
pub a: String,
#[serde(rename = "@xmlns:xdr", default)]
pub xdr: String,
#[serde(rename = "@xmlns:r", default)]
pub r: String,
#[serde(rename = "AlternateContent", default)]
pub alternate_content: Vec<XlsxInnerXml>,
#[serde(rename = "oneCellAnchor", default)]
pub one_cell_anchor: Vec<DecodeCellAnchor>,
#[serde(rename = "twoCellAnchor", default)]
pub two_cell_anchor: Vec<DecodeCellAnchor>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "cNvPr")]
pub struct DecodeCNvPr {
#[serde(rename = "@id", default)]
pub id: i32,
#[serde(rename = "@name", default)]
pub name: String,
#[serde(rename = "@descr", default)]
pub descr: String,
#[serde(rename = "@title", default)]
pub title: Option<String>,
#[serde(rename = "hlinkClick", default)]
pub hlink_click: Option<DecodeHlinkClick>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "hlinkClick")]
pub struct DecodeHlinkClick {
#[serde(rename = "@id", default)]
pub id: Option<String>,
#[serde(rename = "@invalidUrl", default)]
pub invalid_url: Option<String>,
#[serde(rename = "@action", default)]
pub action: Option<String>,
#[serde(rename = "@tgtFrame", default)]
pub tgt_frame: Option<String>,
#[serde(rename = "@tooltip", default)]
pub tooltip: Option<String>,
#[serde(rename = "@history", default)]
pub history: bool,
#[serde(rename = "@highlightClick", default)]
pub highlight_click: bool,
#[serde(rename = "@endSnd", default)]
pub end_snd: bool,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "picLocks")]
pub struct DecodePicLocks {
#[serde(rename = "@noAdjustHandles", default)]
pub no_adjust_handles: bool,
#[serde(rename = "@noChangeArrowheads", default)]
pub no_change_arrowheads: bool,
#[serde(rename = "@noChangeAspect", default)]
pub no_change_aspect: bool,
#[serde(rename = "@noChangeShapeType", default)]
pub no_change_shape_type: bool,
#[serde(rename = "@noCrop", default)]
pub no_crop: bool,
#[serde(rename = "@noEditPoints", default)]
pub no_edit_points: bool,
#[serde(rename = "@noGrp", default)]
pub no_grp: bool,
#[serde(rename = "@noMove", default)]
pub no_move: bool,
#[serde(rename = "@noResize", default)]
pub no_resize: bool,
#[serde(rename = "@noRot", default)]
pub no_rot: bool,
#[serde(rename = "@noSelect", default)]
pub no_select: bool,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "blip")]
pub struct DecodeBlip {
#[serde(rename = "@embed", default)]
pub embed: String,
#[serde(rename = "@cstate", default)]
pub cstate: Option<String>,
#[serde(rename = "@r", default)]
pub r: String,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "stretch")]
pub struct DecodeStretch {
#[serde(rename = "fillRect", default)]
pub fill_rect: String,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "off")]
pub struct DecodeOff {
#[serde(rename = "@x", default)]
pub x: i64,
#[serde(rename = "@y", default)]
pub y: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "ext")]
pub struct DecodePositiveSize2D {
#[serde(rename = "@cx", default)]
pub cx: i64,
#[serde(rename = "@cy", default)]
pub cy: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "prstGeom")]
pub struct DecodePrstGeom {
#[serde(rename = "@prst", default)]
pub prst: String,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "xfrm")]
pub struct DecodeXfrm {
#[serde(rename = "off", default)]
pub off: DecodeOff,
#[serde(rename = "ext", default)]
pub ext: DecodePositiveSize2D,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "cNvPicPr")]
pub struct DecodeCNvPicPr {
#[serde(rename = "picLocks", default)]
pub pic_locks: DecodePicLocks,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "nvPicPr")]
pub struct DecodeNvPicPr {
#[serde(rename = "cNvPr", default)]
pub c_nv_pr: DecodeCNvPr,
#[serde(rename = "cNvPicPr", default)]
pub c_nv_pic_pr: DecodeCNvPicPr,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "blipFill")]
pub struct DecodeBlipFill {
#[serde(rename = "blip", default)]
pub blip: DecodeBlip,
#[serde(rename = "stretch", default)]
pub stretch: DecodeStretch,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "spPr")]
pub struct DecodeSpPr {
#[serde(rename = "xfrm", default)]
pub xfrm: DecodeXfrm,
#[serde(rename = "prstGeom", default)]
pub prst_geom: DecodePrstGeom,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "pic")]
pub struct DecodePic {
#[serde(rename = "nvPicPr", default)]
pub nv_pic_pr: DecodeNvPicPr,
#[serde(rename = "blipFill", default)]
pub blip_fill: DecodeBlipFill,
#[serde(rename = "spPr", default)]
pub sp_pr: DecodeSpPr,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "from")]
pub struct DecodeFrom {
#[serde(rename = "col", default)]
pub col: i32,
#[serde(rename = "colOff", default)]
pub col_off: i64,
#[serde(rename = "row", default)]
pub row: i32,
#[serde(rename = "rowOff", default)]
pub row_off: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "to")]
pub struct DecodeTo {
#[serde(rename = "col", default)]
pub col: i32,
#[serde(rename = "colOff", default)]
pub col_off: i64,
#[serde(rename = "row", default)]
pub row: i32,
#[serde(rename = "rowOff", default)]
pub row_off: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "clientData")]
pub struct DecodeClientData {
#[serde(rename = "@fLocksWithSheet", default)]
pub f_locks_with_sheet: bool,
#[serde(rename = "@fPrintsWithSheet", default)]
pub f_prints_with_sheet: bool,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "cellImages")]
pub struct DecodeCellImages {
#[serde(rename = "cellImage", default)]
pub cell_image: Vec<DecodeCellImage>,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "cellImage")]
pub struct DecodeCellImage {
#[serde(rename = "pic", default)]
pub pic: DecodePic,
}
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename = "AlternateContent")]
pub struct XlsxAlternateContent {
#[serde(rename = "@xmlns:mc", default)]
pub xmlns_mc: Option<String>,
#[serde(rename = "$value", default)]
pub content: XlsxInnerXml,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "from")]
pub struct XlsxFrom {
#[serde(rename = "col", default)]
pub col: i32,
#[serde(rename = "colOff", default)]
pub col_off: i64,
#[serde(rename = "row", default)]
pub row: i32,
#[serde(rename = "rowOff", default)]
pub row_off: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "to")]
pub struct XlsxTo {
#[serde(rename = "col", default)]
pub col: i32,
#[serde(rename = "colOff", default)]
pub col_off: i64,
#[serde(rename = "row", default)]
pub row: i32,
#[serde(rename = "rowOff", default)]
pub row_off: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "ext")]
pub struct XlsxPositiveSize2D {
#[serde(rename = "@cx", default)]
pub cx: i64,
#[serde(rename = "@cy", default)]
pub cy: i64,
}
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename = "sp")]
pub struct XlsxSp {
#[serde(rename = "@macro", default)]
pub macro_name: Option<String>,
#[serde(rename = "@textlink", default)]
pub text_link: Option<String>,
#[serde(rename = "@fLocksText", default)]
pub f_locks_text: bool,
#[serde(rename = "@fPublished", default)]
pub f_published: Option<bool>,
#[serde(rename = "$value", default)]
pub content: XlsxInnerXml,
}