public MSGraphPane GetOrCreateGraphPane(MSGraphControl graphControl, PaneKey graphPaneKey) { var pane = GetGraphPane(graphControl, graphPaneKey); if (null != pane) { return(pane); } if (GraphPaneKeys.Count == 0) { GraphPaneKeys.Add(graphPaneKey); pane = graphControl.GraphPane; ApplySettingsToGraphPane(pane); return(pane); } int index = GraphPaneKeys.BinarySearch(graphPaneKey); int iInsert = ~index; var graphPane = InsertMsGraphPane(graphControl, iInsert); GraphPaneKeys.Insert(iInsert, graphPaneKey); using (var graphics = graphControl.CreateGraphics()) { graphControl.MasterPane.SetLayout(graphics, PaneLayout.SingleColumn); } return(graphPane); }
public MSGraphPane GetGraphPane(MSGraphControl graphControl, PaneKey graphPaneKey) { if (!AllowSplitPanes) { return(graphControl.GraphPane); } int index = GraphPaneKeys.BinarySearch(graphPaneKey); if (index >= 0) { return((MSGraphPane)graphControl.MasterPane.PaneList[index]); } return(null); }