#[derive(Copy,Clone,Debug,Eq,PartialEq)]
pub struct Group {
index: u16
}
impl Group {
#[allow(non_upper_case_globals)]
pub const None: Group = Group { index: 0 };
pub(super) fn new(index: u16) -> Group {
Group { index }
}
#[inline(always)]
pub(super) fn index(&self) -> u16 {
self.index
}
}
impl Default for Group {
fn default() -> Self {
Group::None
}
}
#[derive(Default)]
pub(crate) struct GroupInformation {
name: String,
name_chars_count: u16,
items_count: u32,
items_check_count: u32,
collapsed: bool,
}
impl GroupInformation {
pub(super) fn new(name: &str) -> GroupInformation {
GroupInformation {
name: String::from(name),
name_chars_count: name.chars().count() as u16,
items_count: 0,
items_check_count: 0,
collapsed: false,
}
}
#[inline(always)]
pub(super) fn name(&self) -> &str {
&self.name
}
#[inline(always)]
pub(super) fn name_chars_count(&self) -> u16 {
self.name_chars_count
}
#[inline(always)]
pub(super) fn items_count(&self) -> u32 {
self.items_count
}
#[inline(always)]
pub(super) fn set_items_count(&mut self, value: u32) {
self.items_count = value;
}
#[inline(always)]
pub(super) fn increment_items_count(&mut self) {
self.items_count += 1;
}
#[inline(always)]
pub(super) fn items_checked_count(&self) -> u32 {
self.items_check_count
}
#[inline(always)]
pub(super) fn set_items_checked_count(&mut self, value: u32) {
self.items_check_count = value;
}
#[inline(always)]
pub(super) fn is_collapsed(&self) -> bool {
self.collapsed
}
#[inline(always)]
pub(super) fn set_collapsed(&mut self, value: bool) {
self.collapsed = value;
}
}