Ejemplo n.º 1
0
        private static void AddNewLayers(IEnumerable <LayerPlugin> fileLayerPlugins, bool multiselect)
        {
            if (fileLayerPlugins.Count() > 0)
            {
                StringBuilder filterStringBuilder         = new StringBuilder();
                StringBuilder allFilesFilterStringBuilder = new StringBuilder();

                foreach (var fileLayerPlugin in fileLayerPlugins)
                {
                    string[] array = fileLayerPlugin.ExtensionFilter.Split('|');
                    if (array != null && array.Length >= 2)
                    {
                        allFilesFilterStringBuilder.Append(array[1] + ";");
                    }
                }

                filterStringBuilder.Append("All Supported Formats|" + allFilesFilterStringBuilder.ToString());

                foreach (var fileLayerPlugin in fileLayerPlugins)
                {
                    if (!string.IsNullOrEmpty(fileLayerPlugin.ExtensionFilter))
                    {
                        filterStringBuilder.Append("|" + fileLayerPlugin.ExtensionFilter);
                    }
                }

                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Multiselect = multiselect;
                openFileDialog.Filter      = filterStringBuilder.ToString();
                if (openFileDialog.ShowDialog().GetValueOrDefault())
                {
                    try
                    {
                        AddToDataRepository(openFileDialog.FileNames[0]);
                        DataRepositoryHelper.PlaceFilesOnMap(openFileDialog.FileNames);
                    }
                    catch (Exception ex)
                    {
                        //SendExceptionMessage("Warning", ex.Message);
                        GisEditor.LoggerManager.Log(LoggerLevel.Debug, ex.Message, new ExceptionInfo(ex));
                        MessageBox.Show(ex.Message, "Unable to Open File(s)");
                    }
                }
            }
            else
            {
                System.Windows.Forms.MessageBox.Show(GisEditor.LanguageManager.GetStringResource("LayerPluginManagerNotFoundText")
                                                     , GisEditor.LanguageManager.GetStringResource("LayerPluginManagerNotFoundCaption")
                                                     , System.Windows.Forms.MessageBoxButtons.OK
                                                     , System.Windows.Forms.MessageBoxIcon.Information);
            }
        }
Ejemplo n.º 2
0
        private static void HookEventForMap()
        {
            if (!hookedMaps.Contains(GisEditor.ActiveMap))
            {
                hookedMaps.Add(GisEditor.ActiveMap);

                GisEditor.ActiveMap.Drop += (s, arg) =>
                {
                    var draggedItems = arg.Data.GetData(typeof(DataRepositoryItem[])) as DataRepositoryItem[];
                    if (draggedItems != null)
                    {
                        var selectedFileItems = draggedItems.OfType <FileDataRepositoryItem>().ToList();
                        DataRepositoryHelper.PlaceFilesOnMap(selectedFileItems);
                    }

                    arg.Handled = true;
                };
            }
        }
 protected override void DropOnMapCore(IEnumerable <DataRepositoryItem> dataRepositoryItems)
 {
     DataRepositoryHelper.PlaceFilesOnMap(dataRepositoryItems.OfType <FileDataRepositoryItem>());
 }