/// <summary> /// Carga los hijos de un nodo /// </summary> internal OwnerChildModelCollection LoadOwnerChilds(FileModel file, OwnerChildModel parent) { IPluginSourceEditor plugin = Search(file); // Ejecuta la acción con el plugin localizado if (plugin != null) { return(plugin.LoadOwnerChilds(file, parent)); } else { return(new OwnerChildModelCollection()); } }
/// <summary> /// Convierte un elemento <see cref="BlogEntryViewModel"/> en el icono asociado /// </summary> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string icon = "/BauControls;component/Themes/Images/File.png"; // Dependiendo de si el objeto es un archivo o un nodo propietario if (value is FileModel) { FileModel file = value as FileModel; // Convierte la entrada según el estado en el icono asociado if (file != null) { AbstractDefinitionModel fileDefinition = file.FileDefinition; if (!fileDefinition.Icon.IsEmpty()) { icon = fileDefinition.Icon; } else if (file is SolutionModel) { icon = "/BauControls;component/Themes/Images/Template.png"; } else if (file is ProjectModel) { icon = "/BauControls;component/Themes/Images/Section.png"; } else if (file.IsFolder) { icon = "/BauControls;component/Themes/Images/Folder.png"; } else if (LibCommonHelper.Files.HelperFiles.CheckIsImage(file.FullFileName)) { icon = "/BauControls;component/Themes/Images/Image.png"; } } } else if (value is OwnerChildModel) { OwnerChildModel owner = value as OwnerChildModel; // Obtiene el icono if (owner != null && !owner.Definition.Icon.IsEmpty()) { icon = owner.Definition.Icon; } } // Devuelve la dirección del icono return(icon); }
/// <summary> /// Carga los hijos de un nodo --> En este caso no hace nada, simplemente implementa la interface /// </summary> public OwnerChildModelCollection LoadOwnerChilds(FileModel file, OwnerChildModel parent) { return(new OwnerChildModelCollection()); }
/// <summary> /// Obtiene los nodos correspondientes a las definiciones de objetos propietario /// </summary> private TreeViewItemsViewModelCollection LoadOwnerNodes(BaseNodeViewModel parent, FileModel file, OwnerChildModel owner, OwnerObjectDefinitionModelCollection ownerDefinitions) { TreeViewItemsViewModelCollection nodes = new TreeViewItemsViewModelCollection(); // Obtiene los nodos if (owner != null && owner.ObjectChilds != null && owner.ObjectChilds.Count > 0) { nodes = LoadTreeNodes(parent, file, owner.ObjectChilds); } else { // Normaliza los elementos hijo if (ownerDefinitions == null || ownerDefinitions.Count == 0) { if (file is ProjectModel) { ownerDefinitions = (file as ProjectModel)?.Definition.OwnerChilds; } else { ownerDefinitions = file.FileDefinition.OwnerChilds; } } // Carga los nodos foreach (OwnerObjectDefinitionModel ownerDefinition in ownerDefinitions) { if (ownerDefinition.IsRootNode) { nodes.Add(new OwnerNodeViewModel(file, new OwnerChildModel(file.FullFileName + "_" + ownerDefinition.GlobalId, file, ownerDefinition.Name, ownerDefinition, ownerDefinition.OwnerChilds.Count > 0), parent)); } else { nodes = LoadTreeNodes(parent, file, SourceEditorViewModel.Instance.MessagesController.LoadOwnerChilds(file, owner)); } } } // Devuelve la colección de nodos return(nodes); }
/// <summary> /// Obtiene los nodos correspondientes a las definiciones hija de un objeto propietario /// </summary> internal TreeViewItemsViewModelCollection LoadOwnerNodes(BaseNodeViewModel parent, FileModel file, OwnerChildModel ownerChild) { return(LoadOwnerNodes(parent, file, ownerChild, ownerChild.Definition.OwnerChilds)); }
public OwnerNodeViewModel(FileModel file, OwnerChildModel ownerChild, BaseNodeViewModel parent, bool hasChilds = true) : base(file.FullFileName + "_" + ownerChild.GlobalId, ownerChild.Text, parent, hasChilds) { File = file; OwnerChild = ownerChild; }
/// <summary> /// Envía el mensaje de obtener hijos de un nodo /// </summary> internal OwnerChildModelCollection LoadOwnerChilds(FileModel file, OwnerChildModel parent) { return(PluginsManager.LoadOwnerChilds(file, parent)); }