Skip to content

Commit

Permalink
Code refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
yuankunzhang committed Jul 13, 2023
1 parent eb8b928 commit 8fbe28a
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 37 deletions.
6 changes: 3 additions & 3 deletions charming/src/component/grid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use serde::Serialize;

use crate::{
datatype::CompositeValue,
element::{Color, PaddingProperty, TextStyle, TooltipTrigger},
element::{Color, Padding, TextStyle, TooltipTrigger},
};

#[derive(Serialize)]
Expand Down Expand Up @@ -43,7 +43,7 @@ pub struct GridTooltip {

/// The floating layer of tooltip space around content.
#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

/// Text style of tooltip's floating layer.
#[serde(skip_serializing_if = "Option::is_none")]
Expand Down Expand Up @@ -111,7 +111,7 @@ impl GridTooltip {
self
}

pub fn padding<P: Into<PaddingProperty>>(mut self, padding: P) -> Self {
pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {
self.padding = Some(padding.into());
self
}
Expand Down
6 changes: 3 additions & 3 deletions charming/src/component/legend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use serde::Serialize;

use crate::{
datatype::CompositeValue,
element::{Color, Icon, ItemStyle, LabelAlign, LineStyle, Orient, PaddingProperty, TextStyle},
element::{Color, Icon, ItemStyle, LabelAlign, LineStyle, Orient, Padding, TextStyle},
};

#[derive(Serialize)]
Expand Down Expand Up @@ -125,7 +125,7 @@ pub struct Legend {

/// Legend padding.
#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

/// The gap between each legend.
#[serde(skip_serializing_if = "Option::is_none")]
Expand Down Expand Up @@ -263,7 +263,7 @@ impl Legend {
self
}

pub fn padding<P: Into<PaddingProperty>>(mut self, padding: P) -> Self {
pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {
self.padding = Some(padding.into());
self
}
Expand Down
7 changes: 3 additions & 4 deletions charming/src/component/radar_coordinate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ use serde::Serialize;
use crate::{
datatype::CompositeValue,
element::{
AxisLabel, AxisLine, AxisTick, Color, Formatter, PaddingProperty, Shape, SplitArea,
SplitLine,
AxisLabel, AxisLine, AxisTick, Color, Formatter, Padding, Shape, SplitArea, SplitLine,
},
};

Expand Down Expand Up @@ -57,7 +56,7 @@ pub struct RadarAxisName {
border_radius: Option<CompositeValue>,

#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

#[serde(skip_serializing_if = "Option::is_none")]
shadow_color: Option<Color>,
Expand Down Expand Up @@ -211,7 +210,7 @@ impl RadarAxisName {
self
}

pub fn padding<C: Into<PaddingProperty>>(mut self, padding: C) -> Self {
pub fn padding<C: Into<Padding>>(mut self, padding: C) -> Self {
self.padding = Some(padding.into());
self
}
Expand Down
6 changes: 3 additions & 3 deletions charming/src/component/title.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use serde::Serialize;

use crate::{
datatype::CompositeValue,
element::{Color, LinkTarget, PaddingProperty, TextAlign, TextStyle, TextVerticalAlign},
element::{Color, LinkTarget, Padding, TextAlign, TextStyle, TextVerticalAlign},
};

/// Title component, including main title and subtitle.
Expand Down Expand Up @@ -59,7 +59,7 @@ pub struct Title {

/// Title padding, the unit is px.
#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

/// The gap between the main title and the sub title, the unit is px.
#[serde(skip_serializing_if = "Option::is_none")]
Expand Down Expand Up @@ -214,7 +214,7 @@ impl Title {
self
}

pub fn padding<P: Into<PaddingProperty>>(mut self, padding: P) -> Self {
pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {
self.padding = Some(padding.into());
self
}
Expand Down
6 changes: 3 additions & 3 deletions charming/src/component/tooltip.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use serde::Serialize;

use crate::element::{AxisPointer, Color, Formatter, PaddingProperty, TooltipTrigger};
use crate::element::{AxisPointer, Color, Formatter, Padding, TooltipTrigger};

#[derive(Serialize)]
#[serde(rename_all = "snake_case")]
Expand Down Expand Up @@ -31,7 +31,7 @@ pub struct Tooltip {
position: Option<String>,

#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

#[serde(skip_serializing_if = "Option::is_none")]
background_color: Option<Color>,
Expand Down Expand Up @@ -83,7 +83,7 @@ impl Tooltip {
self
}

pub fn padding<P: Into<PaddingProperty>>(mut self, padding: P) -> Self {
pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {
self.padding = Some(padding.into());
self
}
Expand Down
4 changes: 2 additions & 2 deletions charming/src/element/coordinate_tooltip.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use serde::Serialize;

use crate::datatype::CompositeValue;

use super::{Color, Formatter, PaddingProperty, TextStyle, TooltipTrigger};
use super::{Color, Formatter, Padding, TextStyle, TooltipTrigger};

#[derive(Serialize)]
#[serde(rename_all = "camelCase")]
Expand All @@ -29,7 +29,7 @@ pub struct CoordinateTooltip {
border_color: Option<Color>,

#[serde(skip_serializing_if = "Option::is_none")]
padding: Option<PaddingProperty>,
padding: Option<Padding>,

#[serde(skip_serializing_if = "Option::is_none")]
text_style: Option<TextStyle>,
Expand Down
4 changes: 2 additions & 2 deletions charming/src/element/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ pub mod minor_split_line;
pub mod minor_tick;
pub mod name_location;
pub mod orient;
pub mod padding_property;
pub mod padding;
pub mod parallel_layout;
pub mod pointer;
pub mod scale_limit;
Expand Down Expand Up @@ -77,7 +77,7 @@ pub use minor_split_line::*;
pub use minor_tick::*;
pub use name_location::*;
pub use orient::*;
pub use padding_property::*;
pub use padding::*;
pub use parallel_layout::*;
pub use pointer::*;
pub use scale_limit::*;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use serde::{ser::SerializeSeq, Serialize};

/// Padding space around content.
pub enum PaddingProperty {
pub enum Padding {
/// Set padding of all sides.
Single(f64),
/// Set top and bottom padding to the first value, and left and right
Expand All @@ -11,17 +11,17 @@ pub enum PaddingProperty {
Quadruple(f64, f64, f64, f64),
}

impl Serialize for PaddingProperty {
impl Serialize for Padding {
fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
match self {
PaddingProperty::Single(padding) => serializer.serialize_f64(*padding),
PaddingProperty::Double(top_bottom, left_right) => {
Padding::Single(padding) => serializer.serialize_f64(*padding),
Padding::Double(top_bottom, left_right) => {
let mut s = serializer.serialize_seq(Some(2))?;
s.serialize_element(top_bottom)?;
s.serialize_element(left_right)?;
s.end()
}
PaddingProperty::Quadruple(top, right, bottom, left) => {
Padding::Quadruple(top, right, bottom, left) => {
let mut s = serializer.serialize_seq(Some(4))?;
s.serialize_element(top)?;
s.serialize_element(right)?;
Expand All @@ -33,39 +33,39 @@ impl Serialize for PaddingProperty {
}
}

impl From<f64> for PaddingProperty {
impl From<f64> for Padding {
fn from(padding: f64) -> Self {
PaddingProperty::Single(padding)
Padding::Single(padding)
}
}

impl From<i64> for PaddingProperty {
impl From<i64> for Padding {
fn from(padding: i64) -> Self {
PaddingProperty::Single(padding as f64)
Padding::Single(padding as f64)
}
}

impl From<(f64, f64)> for PaddingProperty {
impl From<(f64, f64)> for Padding {
fn from(padding: (f64, f64)) -> Self {
PaddingProperty::Double(padding.0, padding.1)
Padding::Double(padding.0, padding.1)
}
}

impl From<(i64, i64)> for PaddingProperty {
impl From<(i64, i64)> for Padding {
fn from(padding: (i64, i64)) -> Self {
PaddingProperty::Double(padding.0 as f64, padding.1 as f64)
Padding::Double(padding.0 as f64, padding.1 as f64)
}
}

impl From<(f64, f64, f64, f64)> for PaddingProperty {
impl From<(f64, f64, f64, f64)> for Padding {
fn from(padding: (f64, f64, f64, f64)) -> Self {
PaddingProperty::Quadruple(padding.0, padding.1, padding.2, padding.3)
Padding::Quadruple(padding.0, padding.1, padding.2, padding.3)
}
}

impl From<(i64, i64, i64, i64)> for PaddingProperty {
impl From<(i64, i64, i64, i64)> for Padding {
fn from(padding: (i64, i64, i64, i64)) -> Self {
PaddingProperty::Quadruple(
Padding::Quadruple(
padding.0 as f64,
padding.1 as f64,
padding.2 as f64,
Expand Down

0 comments on commit 8fbe28a

Please sign in to comment.