/// <summary>This method is called when source DataSet is committed. It may be called /// in thread different from UI</summary> /// <param name="sender">DataSet that was committed</param> /// <param name="args">Information about DataSet changes</param> private void OnDataSetCommittedAsync(object sender, DataSetCommittedEventArgs args) { int activeRequestCount; lock (commits) { commits.Add(args); activeRequestCount = activeRequests.Count; } if (wpfDispatcher.Thread == Thread.CurrentThread) // This event is in UI thread { Sync(); } else if (!syncEnqueued && activeRequestCount == 0) { syncEnqueued = true; wpfDispatcher.BeginInvoke(Priority, new SyncHandler( () => { try { if (!isDisposed) { Sync(); } } finally { syncEnqueued = false; } } )); } }
private void OnDataSetCommitted(DataSetCommittedEventArgs e, OnCommittedHandler handler) { if ((e.Changes.ChangesetSource & ChangesetSource.Remote) == 0) { return; // we're waiting for remote changes } var ds = e.DataSet; if (FetchClimateRequestBuilder.IsProcessingSuccessful(ds) || FetchClimateRequestBuilder.IsProcessingFailed(ds)) { ds.Committed -= handler.Handler; handler.Completed.Set(); } }
private void OnDataSetCommitted(object sender, DataSetCommittedEventArgs e) { int[] start = new int[] { 0, 0, 0, u.Dimensions[3].Length - 1 }; double[, , ,] uData = (double[, , , ])u.GetData(start, null); double[, , ,] vData = (double[, , , ])v.GetData(start, null); double[, , ,] wData = (double[, , , ])w.GetData(start, null); SetData(new FuncData3D <Vector3D>((i, j, k) => { Vector3D result = new Vector3D(uData[i, j, k, 0], vData[i, j, k, 0], wData[i, j, k, 0]); return(result); })); RaiseChanged(); }
private void OnDataSetCommitted(object sender, DataSetCommittedEventArgs args) { base.DeliverEvent(sender, args); }