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()); }
public GeoStarFeatureClassDataSource(GeoStar.Kernel.FeatureClass vFeaClass) { m_vFeaClass = vFeaClass; CreateNode(vFeaClass.Name, vFeaClass.Name, "featureclass"); Name = vFeaClass.Name; Type = GeoStar.Kernel.DataRoomType.eFeatureClassType; }
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); }
public NodeSource(GeoStar.Kernel.FeatureClass feaclass) { m_FeaClass = feaclass; }
public FeatureClassProperty(GeoStar.Kernel.FeatureLayer vFeaLyr) { m_Layer = vFeaLyr; m_FeatureClass = vFeaLyr.FeatureClass; }