in below/view/src/core_tabs.rs [51:87]
fn get_rows(&self, state: &CoreState, offset: Option<usize>) -> Vec<(StyledString, String)> {
let model = state.get_model();
model
.cpus
.iter()
.filter(|scm| {
if let Some(f) = &state.filter {
scm.idx.to_string().starts_with(f)
} else {
true
}
})
.chain(std::iter::once(&model.total_cpu))
.map(|scm| {
(
std::iter::once(SingleCpuModelFieldId::Idx)
.chain(
SingleCpuModelFieldId::unit_variant_iter()
.skip(offset.unwrap_or(0) + 1),
)
.fold(StyledString::new(), |mut line, field_id| {
let view_item = ViewItem::from_default(field_id.clone());
let rendered =
if field_id == SingleCpuModelFieldId::Idx && scm.idx == -1 {
view_item.config.render(Some("total".to_owned().into()))
} else {
view_item.render(scm)
};
line.append(rendered);
line.append_plain(" ");
line
}),
"".to_owned(),
)
})
.collect()
}