projects
/
gps-watch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
application: Store pace in the model and show it in its own view.
[gps-watch.git]
/
src
/
application
/
model.rs
diff --git
a/src/application/model.rs
b/src/application/model.rs
index a056af5b1fcf41f1a06b18a5eeab0e2fabc837f5..4dc30c0b5c2ba305ad5ffadec6df03db817deac0 100644
(file)
--- a/
src/application/model.rs
+++ b/
src/application/model.rs
@@
-24,11
+24,13
@@
pub enum Field {
UnixTime(u32),
Distance(u32),
pub enum Field {
UnixTime(u32),
Distance(u32),
+ Pace(u32)
}
pub struct Model {
pub unix_time: u32,
pub distance_cm: u32,
}
pub struct Model {
pub unix_time: u32,
pub distance_cm: u32,
+ pub pace_s: u32,
is_dirty: u32,
}
is_dirty: u32,
}
@@
-38,6
+40,7
@@
impl Model {
Model {
unix_time: 0,
distance_cm: 0,
Model {
unix_time: 0,
distance_cm: 0,
+ pace_s: 0,
is_dirty: 0,
}
}
is_dirty: 0,
}
}
@@
-47,6
+50,12
@@
impl Model {
self.distance_cm = 0;
self.is_dirty |= Model::dirty_mask(Field::Distance(0));
}
self.distance_cm = 0;
self.is_dirty |= Model::dirty_mask(Field::Distance(0));
}
+
+ if self.pace_s != 0 {
+ self.pace_s = 0;
+
+ self.is_dirty |= Model::dirty_mask(Field::Pace(0));
+ }
}
pub fn update(&mut self, data: Field) {
}
pub fn update(&mut self, data: Field) {
@@
-63,6
+72,12
@@
impl Model {
self.is_dirty |= Model::dirty_mask(data);
}
},
self.is_dirty |= Model::dirty_mask(data);
}
},
+ Field::Pace(pace_s) => {
+ if self.pace_s != pace_s {
+ self.pace_s = pace_s;
+ self.is_dirty |= Model::dirty_mask(data);
+ }
+ },
}
}
}
}
@@
-82,6
+97,7
@@
impl Model {
match data {
Field::UnixTime(_) => 1,
Field::Distance(_) => 2,
match data {
Field::UnixTime(_) => 1,
Field::Distance(_) => 2,
+ Field::Pace(_) => 4,
}
}
}
}
}
}