private bool Unregister()
        {
            //Careful here - events have to be unregistered on the same
            //thread they were registered on...hence the use of the
            //Queued Task
            QueuedTask.Run(() =>
            {
                //One kvp per layer....of which there is only one in the sample
                //out of the box but you can add others and register for events
                foreach (var kvp in _rowevents)
                {
                    RowCreatedEvent.Unsubscribe(kvp.Value[0]);
                    RowChangedEvent.Unsubscribe(kvp.Value[1]);
                    RowDeletedEvent.Unsubscribe(kvp.Value[2]);
                    kvp.Value.Clear();
                }
                _rowevents.Clear();

                //Editing and Edit Completed.
                EditCompletingEvent.Unsubscribe(_editevents[0]);
                EditCompletedEvent.Unsubscribe(_editevents[1]);
                _editevents.Clear();
            });

            return(false);
        }
Example #2
0
 private void UnwireEvents()
 {
     if (_eventToken != null)
     {
         EditCompletedEvent.Unsubscribe(_eventToken);
     }
 }
        private void onProjectClosed(ProjectEventArgs obj)
        {
            //Unsubscribe from events
            EditCompletedEvent.Unsubscribe(onEditCompleted);

            QueuedTask.Run(() =>
            {
                RowCreatedEvent.Unsubscribe(_rowCreateToken);
                RowDeletedEvent.Unsubscribe(_rowDeleteToken);
                RowChangedEvent.Unsubscribe(_rowChangedToken);
            });
        }
        private async void OnMapClosed(MapClosedEventArgs args)
        {
            LayersAddedEvent.Unsubscribe(OnLayersAdded);
            LayersMovedEvent.Unsubscribe(OnLayersMoved);
            LayersRemovedEvent.Unsubscribe(OnLayersRemoved);
            MapMemberPropertiesChangedEvent.Unsubscribe(OnMapMemberPropertiesChanged);
            TOCSelectionChangedEvent.Unsubscribe(OnTocSelectionChanged);
            ActiveToolChangedEvent.Unsubscribe(OnActiveToolChangedEvent);
            EditCompletedEvent.Unsubscribe(OnEditCompleted);
            DrawCompleteEvent.Unsubscribe(OnDrawCompleted);
            DrawStartedEvent.Unsubscribe(OnDrawStarted);

            while (Count >= 1)
            {
                VectorLayer vectorLayer = this[0];
                await RemoveLayer(vectorLayer);
            }
        }
Example #5
0
        protected override Task OnToolDeactivateAsync(bool hasMapViewChanged)
        {
            _msg.VerboseDebug("OnToolDeactivateAsync");

            MapPropertyChangedEvent.Unsubscribe(OnPropertyChanged);
            MapSelectionChangedEvent.Unsubscribe(OnMapSelectionChanged);
            EditCompletedEvent.Unsubscribe(OnEditCompleted);

            try
            {
                HideOptionsPane();

                return(QueuedTask.Run(() => OnToolDeactivateCore(hasMapViewChanged)));
            }
            catch (Exception e)
            {
                HandleError($"Error in tool deactivation ({Caption}): {e.Message}", e, true);
            }

            return(Task.CompletedTask);
        }