From 33d053d442082547550fc9a54473e05565907f88 Mon Sep 17 00:00:00 2001 From: Akshay Date: Wed, 18 Mar 2020 11:34:41 +0530 Subject: require new super trait, add quit callback --- src/habit.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/habit.rs') diff --git a/src/habit.rs b/src/habit.rs index 3716183..45eeefa 100644 --- a/src/habit.rs +++ b/src/habit.rs @@ -23,7 +23,7 @@ impl fmt::Display for CustomBool { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, - "{}", + "{:^3}", if self.0 { CONFIGURATION.true_chr } else { @@ -53,7 +53,7 @@ pub trait Habit { fn modify(&mut self, date: NaiveDate, event: TrackEvent); } -pub trait HabitWrapper { +pub trait HabitWrapper: erased_serde::Serialize { fn remaining(&self, date: NaiveDate) -> u32; fn total(&self) -> u32; fn modify(&mut self, date: NaiveDate, event: TrackEvent); @@ -63,9 +63,13 @@ pub trait HabitWrapper { fn take_focus(&mut self, _: Direction) -> bool; } +use erased_serde::serialize_trait_object; +serialize_trait_object!(HabitWrapper); + impl HabitWrapper for T where T: Habit + ShadowView, + T: Serialize, T::HabitType: std::fmt::Display, { fn remaining(&self, date: NaiveDate) -> u32 { -- cgit v1.2.3