mirror of
https://github.com/ClementTsang/bottom.git
synced 2026-05-15 03:11:33 +00:00
refactor: small time series graph refactor (#2060)
Just a quick refactor.
This commit is contained in:
@@ -26,3 +26,5 @@ Note that key bindings are generally case-sensitive.
|
||||
| Binding | Action |
|
||||
| ------------ | -------------------------------------------------------------- |
|
||||
| ++"Scroll"++ | Scrolling up or down zooms in or out of the graph respectively |
|
||||
|
||||
<!--TODO: Add screenshots of widgets -->
|
||||
|
||||
@@ -62,6 +62,8 @@ pub struct TimeSeriesData {
|
||||
pub gpu_mem: HashMap<String, Values>,
|
||||
|
||||
/// Temperature data.
|
||||
///
|
||||
/// TODO: Maybe make this use TypedTemperature?
|
||||
pub temperature: HashMap<String, ChunkedData<f32>>,
|
||||
}
|
||||
|
||||
|
||||
@@ -34,21 +34,15 @@ pub struct TimeseriesState {
|
||||
}
|
||||
|
||||
impl TimeseriesState {
|
||||
/// Create a new [`TimeseriesState`] using the given config.
|
||||
pub fn new(config: TimeseriesConfig) -> Self {
|
||||
/// Create a new [`TimeseriesState`] using the given config and `autohide_timer` setting.
|
||||
pub fn new(config: TimeseriesConfig, autohide_timer: Option<Instant>) -> Self {
|
||||
Self {
|
||||
current_display_time: config.default_time_value,
|
||||
config,
|
||||
autohide_timer: None,
|
||||
autohide_timer,
|
||||
}
|
||||
}
|
||||
|
||||
/// Set the autohide timer.
|
||||
pub fn with_autohide_timer(mut self, autohide_timer: Option<Instant>) -> Self {
|
||||
self.autohide_timer = autohide_timer;
|
||||
self
|
||||
}
|
||||
|
||||
/// Get a mutable reference to the autohide timer.
|
||||
pub fn autohide_timer_mut(&mut self) -> &mut Option<Instant> {
|
||||
&mut self.autohide_timer
|
||||
|
||||
@@ -99,7 +99,7 @@ pub struct AutoYAxisTimeGraph {
|
||||
impl AutoYAxisTimeGraph {
|
||||
pub(crate) fn new(config: TimeseriesConfig, autohide_timer: Option<Instant>) -> Self {
|
||||
AutoYAxisTimeGraph {
|
||||
state: TimeseriesState::new(config).with_autohide_timer(autohide_timer),
|
||||
state: TimeseriesState::new(config, autohide_timer),
|
||||
height_cache: GraphHeightCache::default(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ use super::{
|
||||
};
|
||||
|
||||
/// A time series graph that expects data to be in a percentage format,
|
||||
/// from 0.0 to 100.0.
|
||||
/// from 0% to 100%.
|
||||
pub struct PercentTimeGraph {
|
||||
state: TimeseriesState,
|
||||
}
|
||||
@@ -15,7 +15,7 @@ pub struct PercentTimeGraph {
|
||||
impl PercentTimeGraph {
|
||||
pub(crate) fn new(config: TimeseriesConfig, autohide_timer: Option<Instant>) -> Self {
|
||||
PercentTimeGraph {
|
||||
state: TimeseriesState::new(config).with_autohide_timer(autohide_timer),
|
||||
state: TimeseriesState::new(config, autohide_timer),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ pub(crate) struct GeneralConfig {
|
||||
pub(crate) disable_click: Option<bool>,
|
||||
pub(crate) disable_keys: Option<bool>,
|
||||
pub(crate) no_write: Option<bool>,
|
||||
pub(crate) network_legend: Option<String>,
|
||||
pub(crate) network_legend: Option<String>, // TODO: Migrate this to per-widget config
|
||||
pub(crate) memory_legend: Option<String>,
|
||||
pub(crate) process_memory_as_value: Option<bool>,
|
||||
pub(crate) tree: Option<bool>,
|
||||
|
||||
Reference in New Issue
Block a user