///|
/// Date-specific AxisInfo. Locator and formatter getters share this object's
/// live selection; copy() creates an independent, correctly rebound pair.
pub struct DateAxisInfo {
priv locator : DateLocator
priv formatter : DateFormatter
priv label : String
priv default_limits : (DateTime, DateTime)
}
///|
pub fn DateAxisInfo::major_locator(self : DateAxisInfo) -> DateLocator {
self.locator
}
///|
pub fn DateAxisInfo::major_formatter(self : DateAxisInfo) -> DateFormatter {
self.formatter.copy()
}
///|
pub fn DateAxisInfo::label(self : DateAxisInfo) -> String {
self.label
}
///|
pub fn DateAxisInfo::default_limits(
self : DateAxisInfo,
) -> (DateTime, DateTime) {
self.default_limits
}
///|
pub fn DateAxisInfo::copy(self : DateAxisInfo) -> DateAxisInfo {
let locator = self.locator.copy()
let formatter = self.formatter.copy()
let formatter = match formatter.mode {
Auto(settings) =>
{ ..formatter, mode: Auto({ ..settings, locator: Some(locator), }), }
_ => formatter
}
{ ..self, locator, formatter, }
}