text-document-formatting 1.9.1

Undoable text and block formatting use cases for text-document
Documentation
// Generated by Qleany v1.8.0 from feature_dtos.tera

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetTextFormatDto {
    pub position: i64,
    pub anchor: i64,
    pub font_family: Option<String>,
    pub font_point_size: Option<i64>,
    pub font_weight: Option<i64>,
    pub font_bold: Option<bool>,
    pub font_italic: Option<bool>,
    pub font_underline: Option<bool>,
    pub font_overline: Option<bool>,
    pub font_strikeout: Option<bool>,
    pub letter_spacing: Option<i64>,
    pub word_spacing: Option<i64>,
    pub underline_style: Option<UnderlineStyle>,
    pub vertical_alignment: Option<CharVerticalAlignment>,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum UnderlineStyle {
    #[default]
    NoUnderline,
    SingleUnderline,
    DashUnderline,
    DotLine,
    DashDotLine,
    DashDotDotLine,
    WaveUnderline,
    SpellCheckUnderline,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum CharVerticalAlignment {
    #[default]
    Normal,
    SuperScript,
    SubScript,
    Middle,
    Bottom,
    Top,
    Baseline,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct MergeTextFormatDto {
    pub position: i64,
    pub anchor: i64,
    pub font_family: Option<String>,
    pub font_bold: Option<bool>,
    pub font_italic: Option<bool>,
    pub font_underline: Option<bool>,
    pub font_strikeout: Option<bool>,
    pub vertical_alignment: Option<CharVerticalAlignment>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetBlockFormatDto {
    pub position: i64,
    pub anchor: i64,
    pub alignment: Option<Alignment>,
    pub heading_level: Option<i64>,
    pub indent: Option<i64>,
    pub marker: Option<MarkerType>,
    pub line_height: Option<i64>,
    pub non_breakable_lines: Option<bool>,
    pub page_break_before: Option<bool>,
    pub direction: Option<TextDirection>,
    /// Unset the block's stored direction, handing the paragraph back to
    /// the bidi algorithm's first-strong-character detection.
    ///
    /// Every other field here *merges* — `None` means "leave this
    /// property alone" — so there is otherwise no way to express
    /// "remove the direction I set earlier", only "set a different one".
    /// Takes precedence over `direction` when both are given.
    pub clear_direction: bool,
    pub background_color: Option<String>,
    pub is_code_block: Option<bool>,
    pub code_language: Option<String>,
    pub hyphenate: Option<bool>,
    pub language: Option<String>,
    pub top_margin: Option<i64>,
    pub bottom_margin: Option<i64>,
    pub left_margin: Option<i64>,
    pub right_margin: Option<i64>,
    pub text_indent: Option<i64>,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum Alignment {
    #[default]
    Left,
    Right,
    Center,
    Justify,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum MarkerType {
    #[default]
    NoMarker,
    Unchecked,
    Checked,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum TextDirection {
    #[default]
    LeftToRight,
    RightToLeft,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetFrameFormatDto {
    pub position: i64,
    pub anchor: i64,
    pub frame_id: i64,
    pub height: Option<i64>,
    pub width: Option<i64>,
    pub top_margin: Option<i64>,
    pub bottom_margin: Option<i64>,
    pub left_margin: Option<i64>,
    pub right_margin: Option<i64>,
    pub padding: Option<i64>,
    pub border: Option<i64>,
    pub is_blockquote: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetTableFormatDto {
    pub table_id: i64,
    pub border: Option<i64>,
    pub cell_spacing: Option<i64>,
    pub cell_padding: Option<i64>,
    pub width: Option<i64>,
    pub alignment: Option<Alignment>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetTableCellFormatDto {
    pub cell_id: i64,
    pub padding: Option<i64>,
    pub border: Option<i64>,
    pub vertical_alignment: Option<CellVerticalAlignment>,
    pub background_color: Option<String>,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum CellVerticalAlignment {
    #[default]
    Top,
    Middle,
    Bottom,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Serialize, Deserialize)]
pub struct SetListFormatDto {
    pub list_id: i64,
    pub style: Option<ListStyle>,
    pub indent: Option<i64>,
    pub prefix: Option<String>,
    pub suffix: Option<String>,
}

#[derive(Serialize, Deserialize, Default, Clone, Debug, PartialEq, Eq)]
pub enum ListStyle {
    #[default]
    Disc,
    Circle,
    Square,
    Decimal,
    LowerAlpha,
    UpperAlpha,
    LowerRoman,
    UpperRoman,
}