Esempio n. 1
0
 public static void AddTableToListBox(IWorkspace pWorkspace, ImageListBoxControl imageListBoxControl1)
 {
     if (pWorkspace != null)
     {
         IconType         iconType        = IconType.Table;
         IEnumDatasetName enumDatasetName = pWorkspace.get_DatasetNames(esriDatasetType.esriDTTable);
         try
         {
             enumDatasetName.Reset();
             IDatasetName datasetName;
             while ((datasetName = enumDatasetName.Next()) != null)
             {
                 ITableName tableName = datasetName as ITableName;
                 if (tableName != null)
                 {
                     ControlAPI.AddItemToListBox(iconType, datasetName.Name, imageListBoxControl1);
                 }
             }
         }
         finally
         {
             if (enumDatasetName != null)
             {
                 Marshal.ReleaseComObject(enumDatasetName);
             }
         }
     }
 }
Esempio n. 2
0
 public static void AddFeatureDatasetToListBox(IWorkspace pWorkspace, ImageListBoxControl imageListBoxControl1, DataType type)
 {
     if (pWorkspace != null)
     {
         List <string>    list            = new List <string>();
         IEnumDatasetName enumDatasetName = pWorkspace.get_DatasetNames(esriDatasetType.esriDTFeatureDataset);
         try
         {
             enumDatasetName.Reset();
             IDatasetName datasetName;
             while ((datasetName = enumDatasetName.Next()) != null)
             {
                 list.Add(datasetName.Name);
             }
         }
         finally
         {
             if (enumDatasetName != null)
             {
                 Marshal.ReleaseComObject(enumDatasetName);
             }
         }
         list.Sort();
         IconType iconType = IconType.FGDBDataset;
         if (type <= DataType.sde)
         {
             if (type != DataType.mdb)
             {
                 if (type == DataType.sde)
                 {
                     iconType = IconType.SDEDataset;
                 }
             }
             else
             {
                 iconType = IconType.PGDBDataset;
             }
         }
         else if (type != DataType.cad)
         {
             if (type == DataType.coverage)
             {
                 iconType = IconType.Coverage;
             }
         }
         else
         {
             iconType = IconType.Cad;
         }
         foreach (string current in list)
         {
             ControlAPI.AddItemToListBox(iconType, current, imageListBoxControl1);
         }
     }
 }
Esempio n. 3
0
        public static void ListE00Files(string sPath, ImageListBoxControl imageListBoxControl1)
        {
            DirectoryInfo directoryInfo = new DirectoryInfo(sPath);

            FileInfo[] files = directoryInfo.GetFiles("*.e00");
            if (files != null && files.Length != 0)
            {
                FileInfo[] array = files;
                for (int i = 0; i < array.Length; i++)
                {
                    FileInfo fileInfo = array[i];
                    if (!fileInfo.FullName.Contains(' '))
                    {
                        ControlAPI.AddItemToListBox(IconType.E00, fileInfo.Name, imageListBoxControl1);
                    }
                }
            }
        }
Esempio n. 4
0
        public static void AddFeatureClassToListBox(IEnumDatasetName pEnumDatasetName, ImageListBoxControl imageListBoxControl1, DataType dataType, esriGeometryType geometryType)
        {
            if (pEnumDatasetName != null)
            {
                IconType value  = IconType.PGDBAnnotation;
                IconType value2 = IconType.PGDBPoint;
                IconType value3 = IconType.PGDBLine;
                IconType value4 = IconType.PGDBPolygon;
                if (dataType <= DataType.gdb)
                {
                    if (dataType != DataType.shp)
                    {
                        if (dataType == DataType.gdb)
                        {
                            value  = IconType.FGDBAnnotation;
                            value2 = IconType.FGDBPoint;
                            value3 = IconType.FGDBLine;
                            value4 = IconType.FGDBPolygon;
                        }
                    }
                    else
                    {
                        value2 = IconType.ShpPoint;
                        value3 = IconType.ShpLine;
                        value4 = IconType.ShpPolygon;
                    }
                }
                else if (dataType != DataType.sde)
                {
                    if (dataType != DataType.cad)
                    {
                        if (dataType == DataType.coverage)
                        {
                            value  = IconType.CovAnnotation;
                            value2 = IconType.CovPoint;
                            value3 = IconType.CovArc;
                            value4 = IconType.CovPolygon;
                        }
                    }
                    else
                    {
                        value  = IconType.CadAnnotation;
                        value2 = IconType.CadPoint;
                        value3 = IconType.CadLine;
                        value4 = IconType.CadPolygon;
                    }
                }
                else
                {
                    value  = IconType.SDEAnnotation;
                    value2 = IconType.SDEPoint;
                    value3 = IconType.SDELine;
                    value4 = IconType.SDEPolygon;
                }
                SortedDictionary <string, IconType> sortedDictionary = new SortedDictionary <string, IconType>();
                try
                {
                    pEnumDatasetName.Reset();
                    IDatasetName datasetName;
                    while ((datasetName = pEnumDatasetName.Next()) != null)
                    {
                        IFeatureClassName featureClassName = datasetName as IFeatureClassName;
                        if (featureClassName != null)
                        {
                            if (geometryType == esriGeometryType.esriGeometryAny || geometryType == featureClassName.ShapeType)
                            {
                                if (featureClassName.FeatureType == esriFeatureType.esriFTAnnotation || featureClassName.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                                {
                                    sortedDictionary.Add(datasetName.Name, value);
                                }
                                else if (featureClassName.FeatureType == esriFeatureType.esriFTSimple)
                                {
                                    switch (featureClassName.ShapeType)
                                    {
                                    case esriGeometryType.esriGeometryPoint:
                                    case esriGeometryType.esriGeometryMultipoint:
                                        sortedDictionary.Add(datasetName.Name, value2);
                                        break;

                                    case esriGeometryType.esriGeometryPolyline:
                                        sortedDictionary.Add(datasetName.Name, value3);
                                        break;

                                    case esriGeometryType.esriGeometryPolygon:
                                        sortedDictionary.Add(datasetName.Name, value4);
                                        break;

                                    case esriGeometryType.esriGeometryMultiPatch:
                                        sortedDictionary.Add(datasetName.Name, IconType.CadMultiPatch);
                                        break;
                                    }
                                }
                            }
                        }
                    }
                }
                finally
                {
                    if (pEnumDatasetName != null)
                    {
                        Marshal.ReleaseComObject(pEnumDatasetName);
                    }
                }
                foreach (KeyValuePair <string, IconType> current in sortedDictionary)
                {
                    ControlAPI.AddItemToListBox(current.Value, current.Key, imageListBoxControl1);
                }
            }
        }
Esempio n. 5
0
 public static void OpenFolder(string sPath, ImageListBoxControl imageListBoxControl1, DataType type, List <WorkspaceInfo> pWorkspaceList, esriGeometryType geometryType)
 {
     imageListBoxControl1.BeginUpdate();
     imageListBoxControl1.Items.Clear();
     if (!Directory.Exists(sPath))
     {
         XtraMessageBox.Show("路径不存在!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
     }
     else
     {
         DirectoryInfo   directoryInfo = new DirectoryInfo(sPath);
         DirectoryInfo[] directories   = directoryInfo.GetDirectories();
         SortedDictionary <string, IconType> sortedDictionary = new SortedDictionary <string, IconType>();
         List <string> list = null;
         if (type == DataType.all || (type & DataType.raster) == DataType.raster)
         {
             list = ControlAPI.GetRasterNames(sPath, pWorkspaceList);
         }
         DirectoryInfo[] array = directories;
         for (int i = 0; i < array.Length; i++)
         {
             DirectoryInfo directoryInfo2 = array[i];
             if ((directoryInfo2.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
             {
                 if (directoryInfo2.Name.EndsWith(".gdb", StringComparison.CurrentCultureIgnoreCase))
                 {
                     if (type == DataType.all || (type & DataType.gdb) == DataType.gdb)
                     {
                         sortedDictionary.Add(directoryInfo2.Name, IconType.FGDB);
                     }
                 }
                 else if (list == null || !list.Contains(directoryInfo2.Name))
                 {
                     ControlAPI.AddItemToListBox(IconType.Folder, directoryInfo2.Name, imageListBoxControl1);
                 }
             }
         }
         if (type == DataType.all || (type & DataType.mdb) == DataType.mdb)
         {
             FileInfo[] files  = directoryInfo.GetFiles("*.mdb");
             FileInfo[] array2 = files;
             for (int i = 0; i < array2.Length; i++)
             {
                 FileInfo fileInfo = array2[i];
                 sortedDictionary.Add(fileInfo.Name, IconType.PGDB);
             }
         }
         foreach (KeyValuePair <string, IconType> current in sortedDictionary)
         {
             ControlAPI.AddItemToListBox(current.Value, current.Key, imageListBoxControl1);
         }
         if (list != null && list.Count > 0)
         {
             foreach (string current2 in list)
             {
                 ControlAPI.AddItemToListBox(IconType.RasterDataset, current2, imageListBoxControl1);
             }
         }
         if (type == DataType.all || (type & DataType.shp) == DataType.shp)
         {
             ControlAPI.ListShpFiles(sPath, imageListBoxControl1, pWorkspaceList, geometryType);
         }
         if (type == DataType.all || (type & DataType.cad) == DataType.cad)
         {
             ControlAPI.OpenGeodatabase(sPath, imageListBoxControl1, DataType.cad, pWorkspaceList, geometryType, true, false);
         }
         imageListBoxControl1.EndUpdate();
     }
 }