private void ReadDetailed_Executed(object sender, ExecutedRoutedEventArgs e) { TreeNode Node = this.SelectedNode; if (Node == null || !Node.CanReadSensorData) { return; } SensorDataClientRequest Request = Node.StartSensorDataFullReadout(); if (Request == null) { return; } TabItem TabItem = new TabItem(); this.Tabs.Items.Add(TabItem); SensorDataView View = new SensorDataView(Request, Node, false); TabItem.Header = Node.Header; TabItem.Content = View; this.Tabs.SelectedItem = TabItem; }
private void SubscribeToMomentary_Executed(object sender, ExecutedRoutedEventArgs e) { TreeNode Node = this.SelectedNode; if (Node == null || !Node.CanSubscribeToSensorData) { return; } SensorDataClientRequest Request; if (Node.CanReadSensorData) { Request = Node.StartSensorDataMomentaryReadout(); } else { Request = Node.SubscribeSensorDataMomentaryReadout(new FieldSubscriptionRule[0]); } if (Request == null) { return; } TabItem TabItem = MainWindow.NewTab(Node.Header); this.Tabs.Items.Add(TabItem); SensorDataView View = new SensorDataView(Request, Node, true); TabItem.Content = View; this.Tabs.SelectedItem = TabItem; }