Пример #1
0
 private void DeviceLocatorModeChanged(object sender, RPlotDeviceEventArgs e)
 {
     _mainThread.Post(() => {
         LocatorMode = e.Device.LocatorMode;
         LocatorModeChanged?.Invoke(this, EventArgs.Empty);
     });
 }
Пример #2
0
 private void DeviceLocatorModeChanged(object sender, RPlotDeviceEventArgs e)
 {
     _shell.DispatchOnUIThread(() => {
         LocatorMode = e.Device.LocatorMode;
         LocatorModeChanged?.Invoke(this, EventArgs.Empty);
     });
 }
Пример #3
0
        public void EndLocatorMode(LocatorResult result)
        {
            var tcs = _locatorTcs;

            _locatorTcs = null;
            tcs?.SetResult(result);
            _interactiveWorkflow.Shell.DispatchOnUIThread(() => SetLocatorModeUI(false));
            LocatorModeChanged?.Invoke(this, null);
        }
Пример #4
0
        public void EndLocatorMode(LocatorResult result)
        {
            _shell.AssertIsOnMainThread();

            var tcs = _locatorTcs;

            _locatorTcs = null;
            tcs?.SetResult(result);

            LocatorMode = false;
            LocatorModeChanged?.Invoke(this, EventArgs.Empty);

            _device.LocatorMode = LocatorMode;
        }
Пример #5
0
        public async Task <LocatorResult> StartLocatorModeAsync(CancellationToken ct)
        {
            _locatorTcs = new TaskCompletionSource <LocatorResult>();
            ct.Register(EndLocatorMode);

            _interactiveWorkflow.Shell.DispatchOnUIThread(() => {
                SetLocatorModeUI(true);
            });

            LocatorModeChanged?.Invoke(this, null);

            var task = _locatorTcs.Task;

            return(await task);
        }
Пример #6
0
        public async Task <LocatorResult> StartLocatorModeAsync(CancellationToken ct)
        {
            _shell.AssertIsOnMainThread();

            _locatorTcs = new TaskCompletionSource <LocatorResult>();
            ct.Register(EndLocatorMode);

            LocatorMode = true;
            LocatorModeChanged?.Invoke(this, EventArgs.Empty);

            _device.LocatorMode = LocatorMode;

            var task = _locatorTcs.Task;

            return(await task);
        }