use std::str::FromStr;
use super::super::super::EnumTrait;
#[derive(Clone, Debug, Default)]
pub enum ConnectValues {
Custom,
#[default]
None,
Rectangle,
Segments,
}
impl EnumTrait for ConnectValues {
fn value_string(&self) -> &str {
match &self {
Self::Custom => "custom",
Self::None => "none",
Self::Rectangle => "rect",
Self::Segments => "segments",
}
}
}
impl FromStr for ConnectValues {
type Err = ();
fn from_str(input: &str) -> Result<Self, Self::Err> {
match input {
"custom" => Ok(Self::Custom),
"none" => Ok(Self::None),
"rect" => Ok(Self::Rectangle),
"segments" => Ok(Self::Segments),
_ => Err(()),
}
}
}