public ListViewPanel CreateDataViewPanel(DataProvider dataProvider, ConfigEntry entry, bool showList = true) { string deviceKey = entry.DeviceKey; string displayName = entry.DisplayName; if (this.panelDict.ContainsKey(deviceKey)) { ListViewPanel panel = this.panelDict[deviceKey]; if (this.currentPanel != panel) { this.currentPanel.Visibility = Visibility.Hidden; } panel.Visibility = Visibility.Visible; this.currentPanel = panel; return panel; } else { // ! ListViewPanel panel = new ListViewPanel(dataProvider, entry); DataListener dataListener = dataProvider.GetDataListener(deviceKey); panel.SetIcon(entry.Icon); panel.AddDataListener(dataListener); if (showList) { panel.ListView = this.ShowListView(panel, dataListener); panel.SearchView = this.ShowListView(panel, dataListener); panel.GraphView = this.ShowGraphView(panel, dataListener); panel.GraphSearchView = this.ShowSearchGraphView(panel, dataListener); panel.ListRecentData(); // 是否显示 控制面板 if (deviceKey == DataProvider.DeviceKey_HvSampler) { panel.ControlPanel = this.ShowControlView(DataProvider.DeviceKey_HvSampler); } else if (deviceKey == DataProvider.DeviceKey_ISampler) { panel.ControlPanel = this.ShowControlView(DataProvider.DeviceKey_ISampler); } else if (deviceKey == DataProvider.DeviceKey_NaI) { panel.SetupContextMenu((ListView)panel.ListView); panel.SetupContextMenu((ListView)panel.SearchView); panel.EnergyPanel = this.ShowEnergyView(DataProvider.DeviceKey_NaI); } } if (this.currentPanel != null) { this.currentPanel.Visibility = Visibility.Hidden; } this.currentPanel = panel; this.panelDict.Add(deviceKey, panel); return panel; } }
/// <summary> /// Load data Provider, and would set the provider into every ListViewPanel instance. /// </summary> private void LoadDataProvider() { if (connectedToDataBase) { this.dataProvider = new DBDataProvider(); } else { this.dataProvider = new VirtualDataProvider(); } }
/// <summary> /// /// </summary> /// <param name="displayName">Display Name</param> /// <param name="interval">In Seconds</param> public ListViewPanel(DataProvider dataProvider, ConfigEntry entry) { InitializeComponent(); this.deviceKey = entry.DeviceKey; this.DisplayName = entry.DisplayName; this.dataProvider = dataProvider; this.refreshDataTimer = new System.Windows.Forms.Timer(); this.refreshDataTimer.Interval = (entry.Interval * 1000); this.refreshDataTimer.Tick += RefreshDataTimerTick; this.refreshDataTimer.Start(); }
/// <summary> /// Load data Provider, and would set the provider into every ListViewPanel instance. /// </summary> private void LoadDataProvider() { if (connectedToDataBase) { DBDataProvider.Instance = new DBDataProvider(); ; this.dataProvider = DBDataProvider.Instance; } else { this.dataProvider = new VirtualDataProvider(); } }