|
32 | 32 | using Analogy.CommonControls.Managers;
|
33 | 33 | using Analogy.CommonControls.Plotting;
|
34 | 34 | using DevExpress.LookAndFeel;
|
| 35 | +using DevExpress.XtraCharts; |
35 | 36 |
|
36 | 37 | namespace Analogy.Forms
|
37 | 38 | {
|
@@ -900,7 +901,14 @@ private void CreateOnlineAndOfflineProviders(IAnalogyFactory factory, IAnalogyDa
|
900 | 901 | RibbonPageGroup ribbonPageGroup = new RibbonPageGroup($"Data Provider: {dataSourceFactory.Title}") { AllowTextClipping = false };
|
901 | 902 | ribbonPage.Groups.Add(ribbonPageGroup);
|
902 | 903 |
|
903 |
| - AddFlatRealTimeDataSource(factory, ribbonPage, dataSourceFactory, ribbonPageGroup); |
| 904 | + if (settings.CombineOnlineProviders) |
| 905 | + { |
| 906 | + AddCombinedRealTimeDataSources(ribbonPage, dataSourceFactory); |
| 907 | + } |
| 908 | + else |
| 909 | + { |
| 910 | + AddFlatRealTimeDataSources(ribbonPage, dataSourceFactory); |
| 911 | + } |
904 | 912 | AddSingleDataSources(factory, ribbonPage, dataSourceFactory, ribbonPageGroup);
|
905 | 913 | AddOfflineDataSource(factory, ribbonPage, dataSourceFactory, ribbonPageGroup);
|
906 | 914 | }
|
@@ -1053,7 +1061,7 @@ async void OnXtcLogsOnControlRemoved(object sender, DockPanelEventArgs arg)
|
1053 | 1061 | }
|
1054 | 1062 | }
|
1055 | 1063 |
|
1056 |
| - private void AddFlatRealTimeDataSource(IAnalogyFactory primaryFactory, RibbonPage ribbonPage, IAnalogyDataProvidersFactory dataSourceFactory, RibbonPageGroup group) |
| 1064 | + private void AddFlatRealTimeDataSources(RibbonPage ribbonPage, IAnalogyDataProvidersFactory dataSourceFactory) |
1057 | 1065 | {
|
1058 | 1066 | var realTimes = dataSourceFactory.DataProviders.Where(f => f is IAnalogyRealTimeDataProvider)
|
1059 | 1067 | .Cast<IAnalogyRealTimeDataProvider>().ToList();
|
@@ -1199,16 +1207,20 @@ async Task<bool> AutoOpenRealTime()
|
1199 | 1207 | }
|
1200 | 1208 | }
|
1201 | 1209 |
|
1202 |
| - private void AddRealTimeDataSource(RibbonPage ribbonPage, IAnalogyDataProvidersFactory dataSourceFactory, |
1203 |
| - RibbonPageGroup group) |
| 1210 | + private void AddCombinedRealTimeDataSources(RibbonPage ribbonPage, IAnalogyDataProvidersFactory dataSourceFactory) |
1204 | 1211 | {
|
1205 | 1212 | var realTimes = dataSourceFactory.DataProviders.Where(f => f is IAnalogyRealTimeDataProvider)
|
1206 | 1213 | .Cast<IAnalogyRealTimeDataProvider>().ToList();
|
1207 | 1214 | if (realTimes.Count == 0)
|
1208 | 1215 | {
|
1209 | 1216 | return;
|
1210 | 1217 | }
|
1211 |
| - |
| 1218 | + string title = !string.IsNullOrEmpty(dataSourceFactory.Title) |
| 1219 | + ? dataSourceFactory.Title |
| 1220 | + : "real time Provider"; |
| 1221 | + RibbonPageGroup group = new RibbonPageGroup($"Real Time Providers: {title}"); |
| 1222 | + group.AllowTextClipping = false; |
| 1223 | + ribbonPage.Groups.Insert(0, group); |
1212 | 1224 | if (realTimes.Count == 1)
|
1213 | 1225 | {
|
1214 | 1226 | AddSingleRealTimeDataSource(ribbonPage, realTimes.First(), dataSourceFactory.Title, group);
|
@@ -1574,7 +1586,7 @@ void OnXtcLogsOnControlRemoved(object sender, DockPanelEventArgs arg)
|
1574 | 1586 | if (offlineProviders.Any(i => !string.IsNullOrEmpty(i.FileOpenDialogFilters)))
|
1575 | 1587 | {
|
1576 | 1588 |
|
1577 |
| - if (settings.CombineProviders) |
| 1589 | + if (settings.CombineOfflineProviders) |
1578 | 1590 | {
|
1579 | 1591 | //add Open files entry
|
1580 | 1592 | BarSubItem openFiles = new BarSubItem();
|
|
0 commit comments