/// <summary> /// This allows overriding layers to handle any memory cleanup. /// </summary> /// <param name="disposeManagedResources">True if managed resources should be set to null.</param> protected virtual void Dispose(bool disposeManagedResources) { if (_isDisposed) { return; } if (disposeManagedResources) { LayerSelected = null; ZoomToLayer = null; ShowProperties = null; FinishedLoading = null; SelectionChanged = null; base.ContextMenuItems = null; MyExtent = null; base.LegendText = null; _progressHandler = null; _progressMeter = null; _invalidatedRegion = null; _mapFrame = null; _propertyDialogProvider = null; // Since the InnerDataset likely contains unmanaged memory constructs, dispose of it here. if (_dataSet != null) { _dataSet.UnlockDispose(); if (!_dataSet.IsDisposeLocked) { _dataSet.Dispose(); } _dataSet = null; } if (_editCopy != null) { _editCopy.Dispose(); _editCopy = null; } } _isDisposed = true; }
/// <summary> /// This allows overriding layers to handle any memory cleanup. /// </summary> /// <param name="disposeManagedResources">True if managed resources should be set to null.</param> protected virtual void Dispose(bool disposeManagedResources) { if (_isDisposed) { return; } if (disposeManagedResources) { LayerSelected = null; ZoomToLayer = null; ShowProperties = null; FinishedLoading = null; SelectionChanged = null; base.ContextMenuItems = null; MyExtent = null; base.LegendText = null; _progressHandler = null; _progressMeter = null; _invalidatedRegion = null; _mapFrame = null; _propertyDialogProvider = null; } // Since the InnerDataset likely contains unmanaged memory constructs, dispose of it here. if (_dataSet != null) { _dataSet.UnlockDispose(); if (!_dataSet.IsDisposeLocked) { _dataSet.Dispose(); } } if (_editCopy != null) _editCopy.Dispose(); _isDisposed = true; }
private void Configure() { _selectionEnabled = true; base.ContextMenuItems = new List<MenuItem>(); base.ContextMenuItems.Add(new MenuItem("Remove Layer", RemoveLayerClick)); base.ContextMenuItems.Add(new MenuItem("Zoom to Layer", ZoomToLayerClick)); base.ContextMenuItems.Add(new MenuItem("Set Dynamic Visiblity Scale", SetDynamicVisibility)); MenuItem mnuData = new MenuItem("Data"); mnuData.MenuItems.Add(new MenuItem("Export Data", ExportDataClick)); base.ContextMenuItems.Add(mnuData); base.ContextMenuItems.Add(new MenuItem("Properties", ShowPropertiesClick)); base.LegendSymbolMode = SymbolModes.Checkbox; LegendType = LegendTypes.Layer; base.IsExpanded = true; _propertyDialogProvider = new PropertyDialogProvider(); _propertyDialogProvider.ChangesApplied += _propertyDialogProvider_ChangesApplied; }