}
#[derive(Copy, Clone, Debug, Default, Deserialize, PartialEq, Eq)]
-#[serde(rename_all = "camelCase")]
pub enum RowLabelPosition {
+ #[serde(rename = "nested")]
Nested,
#[default]
+ #[serde(rename = "inCorner")]
Corner,
}
pub fn output_body(&self, layer_indexes: &[usize], printing: bool) -> Table {
let column_enumeration = self.enumerate_axis(Axis3::X, layer_indexes, self.look.omit_empty);
- for column in column_enumeration.iter() {
- println!("column {column:?}");
- }
let row_enumeration = self.enumerate_axis(Axis3::Y, layer_indexes, self.look.omit_empty);
- for row in row_enumeration.iter() {
- println!("row {row:?}");
- }
let data = Coord2::new(column_enumeration.len(), row_enumeration.len());
let stub = Coord2::new(
self.axes[Axis3::Y].label_depth,
Some(c)
}
-/// Fills row or column headings into T.
+/// Fills row or column headings into `table`.
///
/// This function uses terminology and variable names for column headings, but
/// it also applies to row headings because it uses variables for the
fn new(table: Arc<Table>, device: &dyn Device, min_width: usize, look: &Look) -> Self {
use Axis2::*;
+ println!("{table:#?}");
let n = table.n.clone();
// Figure out rule widths.
let rules = EnumMap::from_fn(|axis| {
- (0..n[axis])
+ (0..=n[axis])
.map(|z| measure_rule(&*device, &*table, axis, z))
.collect::<Vec<_>>()
});
spanned: &mut [usize],
rules: &[usize],
) {
+ println!("{unspanned:?}");
+ println!("{spanned:?}");
+ println!("{rules:?}");
let n = unspanned.len();
- debug_assert!(n >= 2);
+ debug_assert!(n >= 1);
debug_assert_eq!(spanned.len(), n);
debug_assert_eq!(rules.len(), n + 1);