public ClockSelectionViewModel(AudioViewCountDownViewModel parent, ClockItem clockItem) { this.parent = parent; this.clockItem = clockItem; }
public MeasurementViewModel(Guid id, MeasurementSettings settings, IMeterReader reader) { MinorReadings = new ConcurrentQueue<Tuple<DateTime, ReadingData>>(); MajorReadings = new ConcurrentQueue<Tuple<DateTime, ReadingData>>(); BarMajorValues = new ObservableCollection<Tuple<DateTime, double>>(); BarMinorValues = new ObservableCollection<Tuple<DateTime, double>>(); LineValues = new ObservableCollection<Tuple<DateTime, double>>(); OctaveValues = new ObservableCollection<double>(); MinorSpan = TimeSpan.FromTicks(settings.MinorInterval.Ticks * 15); MajorSpan = TimeSpan.FromTicks(settings.MajorInterval.Ticks * 15); started = DateTime.Now; popOutWindows = new LinkedList<MetroWindow>(); this.engine = new AudioViewEngine(settings.MinorInterval, settings.MajorInterval, reader); this.settings = settings; this.engine.ConnectionStatusEvent += connected => { if(ConnectionStatus == connected) return; // No need Task.Run(() => { ConnectionStatus = connected; DispatcherHelper.CheckBeginInvokeOnUI(() => { OnPropertyChanged(nameof(IsDisconnected)); }); }); }; if (settings.IsLocal) { // Registering the TCP Server for remote connections tcpServer = new TCPServerListener(settings); this.engine.RegisterListener(tcpServer); // Register the data storange unit dataStorage = new DataStorageMeterListener(id, DateTime.Now, settings); this.engine.RegisterListener(dataStorage); } this.engine.RegisterListener(this); this.engine.EngineStartDelayedEvent += (waitTime) => { MinorClock = new AudioViewCountDownViewModel(false, settings.MinorInterval, settings.MinorDBLimit, settings.MinorClockMainItemId, settings.MinorClockSecondaryItemId); MajorClock = new AudioViewCountDownViewModel(true, settings.MajorInterval, settings.MajorDBLimit, settings.MajorClockMainItemId, settings.MajorClockSecondaryItemId); MinorClock.NextMinor(DateTime.Now + waitTime); MinorClock.NextMajor(DateTime.Now + waitTime); MajorClock.NextMinor(DateTime.Now + waitTime); MajorClock.NextMajor(DateTime.Now + waitTime); }; this.engine.EngineStartedEvent += () => { this.engine.RegisterListener(MinorClock); this.engine.RegisterListener(MajorClock); }; this.engine.Start(); Title = settings.ProjectName; }
public ClockSelectionViewModel(AudioViewCountDownViewModel parent, ClockItem clockItem) { this.parent = parent; this.clockItem = clockItem; }