private void draw_cell(CategoryCell cell_item, BL.Container n_row_col) { var n_cell = n_row_col.AddContainer(BL.Direction.LeftToRight, CellWidth, CellHeight); n_cell.ChildSpacing = CellVerticalSeparation/2; var cell_data = new RenderItem(); cell_data.CategoryCell = cell_item; cell_data.ShapeText = cell_item.Item.Text; cell_data.Cells = cellformat; n_cell.Data = cell_data; if (cell_item.Item.Items != null) { foreach (var sub_cat_items in cell_item.Item.Items) { var subn_cell = n_cell.AddBox(CellWidth, CellHeight); var subcell_data = new RenderItem(); subcell_data.CategoryCell = null; subcell_data.ShapeText = sub_cat_items.Text; subcell_data.Cells = subcellformat; subn_cell.Data = subcell_data; } n_cell.AddBox(0.25, 0.25); } }
private void AddMajorRow(List<string> ycats, int row, BL.Container root, List<string> xcats, int cols) { var n_row = root.AddContainer(BL.Direction.LeftToRight); n_row.ChildSpacing = CellHorizontalSeparation; // -- add indent n_row.AddBox(Indent, 0.25); foreach (int col in Enumerable.Range(0, cols)) { var n_cell = n_row.AddContainer(BL.Direction.LeftToRight); // --- n_cell.Direction = BL.Direction.LeftToRight; n_cell.ChildSpacing = CellVerticalSeparation; var items_for_cells = this.Items.Where(i => i.XCategory == xcats[col] && i.YCategory == ycats[row]); foreach (var cell_item in items_for_cells) { draw_cell(cell_item, n_cell); } } var n_row_label = root.AddBox(0.25, CategoryHeight); var info = new RenderItem(); info.CategoryCell = null; info.ShapeText = ycats[row]; info.Cells = ycatformat; info.Underline = true; n_row_label.Data = info; }
private void add_title(BL.Container root) { var n_title = root.AddBox(2.0, 0.5); var node_data = new RenderItem(); node_data.CategoryCell = null; node_data.ShapeText = this.Title; node_data.Cells = titleformat; n_title.Data = node_data; }
private void AddXCatLabels(List<string> xcats, int cols, BL.Container root) { var n_row = root.AddContainer(BL.Direction.LeftToRight); n_row.ChildSpacing = CellHorizontalSeparation; // Add indent n_row.AddBox(Indent, 0.25); // Add XCategory labels foreach (int col in Enumerable.Range(0, cols)) { var n_label = n_row.AddBox(CellWidth, 0.5); var info = new RenderItem(); info.CategoryCell = null; info.ShapeText = xcats[col]; info.Cells = xcatformat; n_label.Data = info; } }