Exemple #1
0
        private void deleteSelectedBaseMap(object sender, MessageBoxClosedArgs e)
        {
            if (e.Result != MessageBoxResult.OK)
            {
                return;
            }

            BaseMapInfo currentSelectedBaseMap = BaseMapsList.SelectedItem as BaseMapInfo;

            if (currentSelectedBaseMap == null)
            {
                return;
            }

            int currIndex = BaseMaps.IndexOf(currentSelectedBaseMap);

            BaseMaps.Remove(currentSelectedBaseMap);
            if (currIndex > BaseMaps.Count - 1) // if last item is being deleted
            {
                currIndex = BaseMaps.Count - 1;
            }

            if (currIndex > -1) // select the next item in the list
            {
                BaseMapsList.SelectedIndex = currIndex;
            }
        }
Exemple #2
0
        private void onAddNewBaseMapCommand(object parameter)
        {
            if (BaseMaps == null || BaseMapsList == null)
            {
                return;
            }

            BaseMapInfo newBaseMap = null;
            // Clone current selected base map
            BaseMapInfo currentSelectedBaseMap = BaseMapsList.SelectedItem as BaseMapInfo;

            if (currentSelectedBaseMap == null)
            {
                currentSelectedBaseMap = BaseMaps.FirstOrDefault();
            }
            if (currentSelectedBaseMap != null)
            {
                newBaseMap = new BaseMapInfo()
                {
                    BaseMapType    = currentSelectedBaseMap.BaseMapType,
                    DisplayName    = ESRI.ArcGIS.Mapping.Controls.Resources.Strings.NewBasemap,
                    ThumbnailImage = currentSelectedBaseMap.ThumbnailImage,
                    BingMapsAppID  = BingMapsAppID
                };
                if (currentSelectedBaseMap.BaseMapType == BaseMapType.BingMaps ||
                    currentSelectedBaseMap.BaseMapType == BaseMapType.OpenStreetMap)
                {
                    // Keep same name (needed)
                    newBaseMap.Name = currentSelectedBaseMap.Name;
                    newBaseMap.Url  = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer";
                }
                else
                {
                    newBaseMap.Name = Guid.NewGuid().ToString("N"); // needs to be unique for AGS
                    newBaseMap.Url  = currentSelectedBaseMap.Url;
                }
            }
            else
            {
                newBaseMap = new BaseMapInfo()
                {
                    BaseMapType    = BaseMapType.ArcGISServer,
                    Name           = Guid.NewGuid().ToString("N"), // needs to be unique for AGS
                    DisplayName    = ESRI.ArcGIS.Mapping.Controls.Resources.Strings.NewBasemap,
                    ThumbnailImage = "Images/basemaps/agol_imagery.png",
                    Url            = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
                };
            }
            BaseMaps.Add(newBaseMap);
            BaseMapsList.SelectedItem = newBaseMap;
        }
Exemple #3
0
        private void onMoveBaseMapDownCommand(object parameter)
        {
            BaseMapInfo currentSelectedBaseMap = BaseMapsList.SelectedItem as BaseMapInfo;

            if (currentSelectedBaseMap == null)
            {
                return;
            }

            int pos = BaseMaps.IndexOf(currentSelectedBaseMap);

            if (pos < 0 || pos >= BaseMaps.Count)
            {
                return;
            }
            BaseMaps.RemoveAt(pos);
            BaseMaps.Insert(pos + 1, currentSelectedBaseMap);

            // Preserve selection
            BaseMapsList.SelectedIndex = pos + 1;

            refreshMoveCommands();
        }