コード例 #1
0
        public override DataSourceCategoryNode[] MakeDataSourceNode(System.IO.DirectoryInfo dir)
        {
            System.IO.FileInfo[] files = dir.GetFiles(m_strFilter);
            if (null == files || files.Length == 0)
            {
                return(null);
            }
            GeoStar.Kernel.ConnectProperty conn = new GeoStar.Kernel.ConnectProperty();
            conn.Server = dir.FullName;
            GeoStar.Kernel.GeoDatabase gdb = m_Fac.Open(conn);
            if (null == gdb)
            {
                return(null);
            }

            List <DataSourceCategoryNode> vList = new List <DataSourceCategoryNode>();

            foreach (var item in gdb.EnumDataRoomName(GeoStar.Kernel.DataRoomType.eFeatureClassType))
            {
                GeoStar.Kernel.FeatureClass vFeaClass = gdb.OpenDataRoom(GeoStar.Kernel.DataRoomType.eFeatureClassType, item) as GeoStar.Kernel.FeatureClass;
                vList.Add(new GeoStarFeatureClassDataSource(vFeaClass));
            }

            return(vList.ToArray());
        }
コード例 #2
0
 public GeoStarFeatureClassDataSource(GeoStar.Kernel.FeatureClass vFeaClass)
 {
     m_vFeaClass = vFeaClass;
     CreateNode(vFeaClass.Name, vFeaClass.Name, "featureclass");
     Name = vFeaClass.Name;
     Type = GeoStar.Kernel.DataRoomType.eFeatureClassType;
 }
コード例 #3
0
        protected override void OnExpand()
        {
            Dictionary <string, bool> vExist = new Dictionary <string, bool>();

            foreach (var item in m_GDB.EnumDataRoomName(GeoStar.Kernel.DataRoomType.eFeatureClassType))
            {
                GeoStar.Kernel.FeatureClass vFeaClass = m_GDB.OpenDataRoom(GeoStar.Kernel.DataRoomType.eFeatureClassType, item)
                                                        as GeoStar.Kernel.FeatureClass;
                if (null == vFeaClass)
                {
                    continue;
                }
                vExist[item] = true;
                if (!Node.Nodes.ContainsKey(item))
                {
                    CategoryNode vNode = new GeoStarFeatureClassDataSource(vFeaClass);
                    AppendNode(vNode.Node);
                }
            }
            RemoveDeletedNode(vExist);
        }
コード例 #4
0
ファイル: DataSourceTree.cs プロジェクト: lmars-CGISS/CGISS
 public NodeSource(GeoStar.Kernel.FeatureClass feaclass)
 {
     m_FeaClass = feaclass;
 }
コード例 #5
0
 public FeatureClassProperty(GeoStar.Kernel.FeatureLayer vFeaLyr)
 {
     m_Layer        = vFeaLyr;
     m_FeatureClass = vFeaLyr.FeatureClass;
 }