public ProjectDefinitionListItemViewModel(ProjectDefinitionModel project) { Project = project; base.Text = project.Name; Module = project.Module; Type = project.Type; base.Tag = project; }
/// <summary> /// Ejecuta una acción sobre un plugin /// </summary> internal bool ExecuteAction(ProjectDefinitionModel definition, FileModel file, MenuModel menu) { IPluginSourceEditor plugin = Search(definition.Extension); // Ejecuta la acción con el plugin localizado if (plugin != null) { return(plugin.ExecuteAction(file, menu)); } else { return(false); } }
/// <summary> /// Llama a un plugin para abrir un archivo /// </summary> internal bool OpenFile(ProjectDefinitionModel definition, FileModel file, bool isNew) { IPluginSourceEditor plugin = Search(definition.Extension); // Abre el archivo con el plugin localizado if (plugin != null) { return(plugin.OpenFile(file, isNew)); } else { return(false); } }
/// <summary> /// Inicializa las definiciones del proyecto /// </summary> private void InitProjectDefinitions() { ProjectDefinitionModel definition = new ProjectDefinitionModel("Conexiones Ftp", FtpManagerViewModel.Instance.ViewsController.IconFileProject, FtpManagerViewModel.Instance.ModuleName, ProjectType, ExtensionProject); FileDefinitionModel file; // Añade el archivo de conexión y sus opciones de menú file = definition.FilesDefinition.Add(definition, "Servidor Ftp", FtpManagerViewModel.Instance.ViewsController.IconFileConnectionFtp, ExtensionConnection, false); file.Menus.Add(MenuModel.MenuType.Command, ActionConnect, "_Conectar", FtpManagerViewModel.Instance.ViewsController.IconMenuOpenFtpConnection); // Asigna la definición de proyecto Definition = definition; }
/// <summary> /// Inicializa las definiciones del proyecto /// </summary> private void InitProjectDefinitions() { ProjectDefinitionModel definition = new ProjectDefinitionModel("MotionComics", MotionComicsViewModel.Instance.ViewsController.IconFileProject, MotionComicsViewModel.Instance.ModuleName, ProjectType, ExtensionProject); // Añade los diferentes tipos de archivos de documentación definition.FilesDefinition.Add(definition, "Archivo de cómic", MotionComicsViewModel.Instance.ViewsController.IconFileComic, ExtensionComic, true, MotionComicsViewModel.Instance.ViewsController.GetComicTemplateFileName()); definition.FilesDefinition.Add(definition, "Archivo XML de recursos", MotionComicsViewModel.Instance.ViewsController.IconFileXml, ExtensionXml, true, MotionComicsViewModel.Instance.ViewsController.GetComicTemplateFileName()); // Añade las opciones de menú al archivo de proyecto definition.Menus.Add(MenuModel.MenuType.Command, ActionOpenComic, "A_brir cómic", MotionComicsViewModel.Instance.ViewsController.IconMenuGenerate); // Asigna la definición de proyecto Definition = definition; }
/// <summary> /// Envía el mensaje de ejecución de una opción de menú sobre un archivo /// </summary> public void ExecuteAction(ProjectDefinitionModel definition, FileModel file, MenuModel menu) { PluginsManager.ExecuteAction(definition, file, menu); }
/// <summary> /// Envía el mensaje para abrir un archivo /// </summary> public bool OpenFile(ProjectDefinitionModel definition, FileModel file, bool isNew) { return(PluginsManager.OpenFile(definition, file, isNew)); }