public override IExplorerNode Creat(object sender, IExplorerItem item_attribute) { var pck = sender as DataPackageCollection; var pck_menu = ContextMenuFactory.Creat(item_attribute); Node node_pck = new Node(pck.Name) { Image = Resources.LayoutDataDrivenPagesChangeToPage16, Tag = pck_menu }; foreach (var pck_child in pck.Children) { VariablesFolderItem atr_pck_child = new VariablesFolderItem(); atr_pck_child.PropertyInfo = new SimplePropertyInfo(pck_child.Name, pck_child.GetType()); var child_menu = ContextMenuFactory.Creat(atr_pck_child) as IPackageContextMemu; child_menu.Package = pck_child; Node node_child = new Node(pck_child.Name) { Image = Resources.FolderWithGISData16, Tag = child_menu }; node_pck.Nodes.Add(node_child); } return(node_pck); }
public override IExplorerNode Creat(object sender, IExplorerItem item_attribute) { var mat_atr = item_attribute as StaticVariableItem; var pck = sender as IPackage; var folder_item = new VariablesFolderItem() { PropertyInfo = item_attribute.PropertyInfo }; var folder_menu = ContextMenuFactory.Creat(folder_item); var value = pck.GetType().GetProperty(item_attribute.PropertyInfo.Name).GetValue(pck); var dc = value as IDataCubeObject; folder_menu.EneableAll(false); folder_menu.Enable(VariablesFolderContextMenu._AT, true); folder_menu.Enable(VariablesFolderContextMenu._OP, false); (folder_menu as IPackageContextMemu).Package = pck; Node node_folder = new Node(item_attribute.PropertyInfo.Name) { Image = Resources.FolderWithGISData16, Tag = folder_menu }; if (dc != null) { folder_item.Variables = new string[dc.Size[0]]; for (int i = 0; i < dc.Size[0]; i++) { StaticVariableItem item = new StaticVariableItem("") { VariableIndex = i, VariableName = dc.Variables[i], //string.Format("{0} {1}{2}", item_attribute.PropertyInfo.Name, mat_atr.Prefix, i + 1), PropertyInfo = item_attribute.PropertyInfo }; folder_item.Variables[i] = item.VariableName; StaticVariableContextMenu elei = new StaticVariableContextMenu() { Package = pck, VariableIndex = i, ExplorerItem = item }; elei.Initialize(); Node ndmat = new Node(item.VariableName) { Image = Resources.LayerRaster_B_16, Tag = elei }; node_folder.Nodes.Add(ndmat); } } else { } return(node_folder); }