/// <summary>The run template.</summary> public void RunTemplate() { TemplateModel templateModel = _services.Resolve <TemplateModel>(); TemplateResult templateResult = null; txtErrors.Clear(); try { string[] lines = AllText.Replace("\r", string.Empty).Split('\n'); string text; Dictionary <string, object> items = new Dictionary <string, object>(); items[TemplateModel.Extension] = templateModel.InferExtensionFromFilename(FileName, items); text = templateModel.PreProcessTemplate(lines, GetValue, items); templateResult = templateModel.ProcessTemplate(text, items); } catch (TemplateException exp) { _hostWindow.DisplaySimpleMessageBox(this, exp.Message, "Template Error"); // todo - try to get the line number and move cursor?... txtErrors.Text = exp.Message; } if (templateResult != null) { // display in new window IFileEditorResolver resolver = _services.Resolve <IFileEditorResolver>(); IEditor editor = _services.Resolve <IEditor>(resolver.ResolveEditorNameByExtension(templateResult.Extension)); editor.AllText = templateResult.Text; editor.SetSyntax(templateResult.SyntaxName); _hostWindow.DisplayDockedForm(editor as DockContent); } }
/// <summary> /// Registers the editor of type <typeparamref name = "TEditor" /> using the <see cref = "FileEditorDescriptor.EditorKeyName" />. /// </summary> /// <typeparam name = "TEditor">The editor type (e.g. "BasicXmlEditor").</typeparam> /// <param name = "fileEditorDescriptor">The file extension descriiptor for this type.</param> public void RegisterEditor<TEditor>(FileEditorDescriptor fileEditorDescriptor) where TEditor : IEditor { RegisterComponent<IEditor, TEditor>(fileEditorDescriptor.EditorKeyName); // push the ext reg into the resolver.... IFileEditorResolver resolver = Resolve<IFileEditorResolver>(); resolver.Register(fileEditorDescriptor); }
/// <summary>The tool strip menu item edit_ click.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> private void toolStripMenuItemEdit_Click(object sender, EventArgs e) { if (_selectedFile != null) { IFileEditorResolver resolver = _services.Resolve <IFileEditorResolver>(); var editor = resolver.ResolveEditorInstance(_selectedFile.FullName); editor.FileName = _selectedFile.FullName; editor.LoadFile(); _services.HostWindow.DisplayDockedForm(editor as DockContent); } }
/// <summary>The run template.</summary> /// <param name="fi">The fi.</param> private void RunTemplate(FileInfo fi) { TemplateResult templateResult = _model.ProcessTemplateFile(fi.FullName, GetValue); // display in new window IFileEditorResolver resolver = _services.Resolve <IFileEditorResolver>(); IEditor editor = _services.Resolve <IEditor>(resolver.ResolveEditorNameByExtension(templateResult.Extension)); editor.AllText = templateResult.Text; editor.SetSyntax(templateResult.SyntaxName); _services.HostWindow.DisplayDockedForm(editor as DockContent); }
/// <summary>The window drag drop.</summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> private void WindowDragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop); IFileEditorResolver resolver = _services.Resolve <IFileEditorResolver>(); foreach (string filename in filePaths) { // todo: check for file exist file in open windows; IEditor editor = resolver.ResolveEditorInstance(filename); editor.FileName = filename; editor.LoadFile(); DisplayDockedForm(editor as DockContent); } } }
/// <summary>Execute the command.</summary> public override void Execute() { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer); openFileDialog.Filter = Settings.DefaultFileFilter; openFileDialog.CheckFileExists = true; if (openFileDialog.ShowDialog(HostWindow.Instance) == DialogResult.OK) { // todo: check for file exist file in open windows; IFileEditorResolver resolver = Services.Resolve <IFileEditorResolver>(); var fileName = openFileDialog.FileName; IEditor editor = resolver.ResolveEditorInstance(fileName); editor.FileName = fileName; editor.LoadFile(); HostWindow.DisplayDockedForm(editor as DockContent); Services.Resolve <IMostRecentFilesService>().Register(fileName); } }
/// <summary>Initializes a new instance of the <see cref="NewFileForm"/> class.</summary> /// <param name="fileEditorResolver">The file editor resolver.</param> public NewFileForm(IFileEditorResolver fileEditorResolver) { InitializeComponent(); _fileEditorResolver = fileEditorResolver; }
/// <summary>Initializes a new instance of the <see cref="NewFileForm"/> class.</summary> /// <param name="fileEditorResolver">The file editor resolver.</param> public NewFileForm(IFileEditorResolver fileEditorResolver) { InitializeComponent(); _fileEditorResolver = fileEditorResolver; }