예제 #1
0
        /// <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());
            }
        }
예제 #2
0
        /// <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());
 }
예제 #4
0
        /// <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);
        }
예제 #5
0
 /// <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;
 }
예제 #7
0
 /// <summary>
 ///		Envía el mensaje de obtener hijos de un nodo
 /// </summary>
 internal OwnerChildModelCollection LoadOwnerChilds(FileModel file, OwnerChildModel parent)
 {
     return(PluginsManager.LoadOwnerChilds(file, parent));
 }