public DrawGrid() { var colinfo = new RowColumnInfo_Steady_BindableProp(this, NumberOfColumnsProperty, ColumnWidthProperty); var rowinfo = new RowColumnInfo_Steady_BindableProp(this, NumberOfRowsProperty, RowHeightProperty); var padding4 = new ValuePerCell_Steady <Padding?> (new Padding(4, 4, 4, 4)); var fill_blue = new ValuePerCell_Steady <CrossGraphics.Color> (CrossGraphics.Colors.Blue); var fill_white = new ValuePerCell_Steady <CrossGraphics.Color> (CrossGraphics.Colors.White); // TODO used to have radius 8 Func <IDrawCell <IGraphics>, IDrawCell <IGraphics> > f = (IDrawCell <IGraphics> inner) => new DrawCell_Fill( fill_blue, new DrawCell_Chain_Padding( padding4, new DrawCell_Fill( fill_white, new DrawCell_Chain_Padding( padding4, inner ) ) ) ); var dec_oval = f(new DrawCell_Oval(CrossGraphics.Colors.Red)); var dec_arc = f(new DrawCell_Oval(CrossGraphics.Colors.Green)); // TODO was pie wedge var dec_roundedrect = f(new DrawCell_RoundedRect(CrossGraphics.Colors.Yellow)); var map = new DisplayTypeMap(); map.Add(0, dec_oval); map.Add(1, dec_arc); map.Add(2, dec_roundedrect); IGetCellDisplayType getter = new myGetCellDisplayType(); //getter = new OneDisplayTypeForEachColumn (getter); var dec_switch = new DrawCell_Chain_DisplayTypes(getter, map); var dec_cache = new DrawCell_Chain_Cache(dec_switch, colinfo, rowinfo); var sel = new Selection(); var dec_selection = new DrawCell_FillRectIfSelected(sel, new CrossGraphics.Color(0, 255, 0, 120)); var dh_layers = new DrawVisible_Layers(new IDrawVisible <IGraphics>[] { new DrawVisible_Adapter_DrawCell <IGraphics>(dec_cache), new DrawVisible_Adapter_DrawCell <IGraphics>(dec_selection) }); Main = new MainPanel( colinfo, rowinfo, dh_layers ); Notify_DemoToggleSelections.Listen(Main, sel); }
public DrawCell_Chain_DisplayTypes(IGetCellDisplayType typeget, DisplayTypeMap map) : base(typeget, map) { }