public override bool InitializeDocument(params object[] args) { if (args.Length < 2) { return(false); } if (!(args[1] is GridPartitioning)) { return(false); } _parentLayerGrid = (GridPartitioning)args[1]; return(base.InitializeDocument(args)); }
public static void ArrangeGrid(this ArrangeLayersDocument arrangement, GridPartitioning grid) { grid.XPartitioning.Clear(); grid.YPartitioning.Clear(); double columnSize = Math.Max(0, 1 - arrangement.LeftMargin - arrangement.RightMargin - (arrangement.NumberOfColumns - 1) * arrangement.ColumnSpacing); double rowSize = Math.Max(0, 1 - arrangement.TopMargin - arrangement.BottomMargin - (arrangement.NumberOfRows - 1) * arrangement.RowSpacing); if (arrangement.NumberOfColumns > 0) { grid.XPartitioning.Add(RADouble.NewRel(arrangement.LeftMargin)); for (int i = arrangement.NumberOfColumns - 1; i >= 0; --i) { grid.XPartitioning.Add(RADouble.NewRel(columnSize / arrangement.NumberOfColumns)); if (i != 0) { grid.XPartitioning.Add(RADouble.NewRel(arrangement.ColumnSpacing)); } } grid.XPartitioning.Add(RADouble.NewRel(arrangement.RightMargin)); } else { grid.XPartitioning.Add(RADouble.NewRel(1)); } if (arrangement.NumberOfRows > 0) { grid.YPartitioning.Add(RADouble.NewRel(arrangement.TopMargin)); for (int i = arrangement.NumberOfRows - 1; i >= 0; --i) { grid.YPartitioning.Add(RADouble.NewRel(rowSize / arrangement.NumberOfRows)); if (i != 0) { grid.YPartitioning.Add(RADouble.NewRel(arrangement.RowSpacing)); } } grid.YPartitioning.Add(RADouble.NewRel(arrangement.BottomMargin)); } else { grid.YPartitioning.Add(RADouble.NewRel(1)); } }
public RectangleD2D GetAbsolute(GridPartitioning partition, PointD2D parentSize) { return(partition.GetTileRectangle(_gridColumn, _gridRow, _gridColumnSpan, _gridRowSpan, parentSize)); }
public static void ArrangeGrid(this ArrangeLayersDocument arrangement, GridPartitioning grid) { grid.XPartitioning.Clear(); grid.YPartitioning.Clear(); double columnSize = Math.Max(0, 1 - arrangement.LeftMargin - arrangement.RightMargin - (arrangement.NumberOfColumns - 1) * arrangement.ColumnSpacing); double rowSize = Math.Max(0, 1 - arrangement.TopMargin - arrangement.BottomMargin - (arrangement.NumberOfRows - 1) * arrangement.RowSpacing); if (arrangement.NumberOfColumns > 0) { grid.XPartitioning.Add(RADouble.NewRel(arrangement.LeftMargin)); for (int i = arrangement.NumberOfColumns - 1; i >= 0; --i) { grid.XPartitioning.Add(RADouble.NewRel(columnSize / arrangement.NumberOfColumns)); if (i != 0) grid.XPartitioning.Add(RADouble.NewRel(arrangement.ColumnSpacing)); } grid.XPartitioning.Add(RADouble.NewRel(arrangement.RightMargin)); } else { grid.XPartitioning.Add(RADouble.NewRel(1)); } if (arrangement.NumberOfRows > 0) { grid.YPartitioning.Add(RADouble.NewRel(arrangement.TopMargin)); for (int i = arrangement.NumberOfRows - 1; i >= 0; --i) { grid.YPartitioning.Add(RADouble.NewRel(rowSize / arrangement.NumberOfRows)); if (i != 0) grid.YPartitioning.Add(RADouble.NewRel(arrangement.RowSpacing)); } grid.YPartitioning.Add(RADouble.NewRel(arrangement.BottomMargin)); } else { grid.YPartitioning.Add(RADouble.NewRel(1)); } }