public override void Run(GraphController ctrl) { var layer = ctrl.ActiveLayer as XYPlotLayer; if (null == layer || ctrl.CurrentPlotNumber < 0 || !(layer.PlotItems[ctrl.CurrentPlotNumber] is DensityImagePlotItem)) { Current.Gui.ErrorMessageBox("Current plot item should be a density image plot!"); return; } var plotItem = (DensityImagePlotItem)layer.PlotItems[ctrl.CurrentPlotNumber]; var legend = new Gdi.Shapes.DensityImageLegend(plotItem, layer, 0.5 * layer.Size, new PointD2D(layer.Size.X / 3, layer.Size.Y / 2), ctrl.Doc.GetPropertyHierarchy()); layer.GraphObjects.Add(legend); }