public void CreateNew(object sender, EventArgs args) { BFLIM bflim = CreateNewFromImage(); if (bflim == null) { return; } var form = new GenericEditorForm(false, bflim.OpenForm()); LibraryGUI.CreateMdiWindow(form); bflim.UpdateForm(); }
private void OpenFormDialog(IFileFormat fileFormat) { UserControl form = GetEditorForm(fileFormat); form.Text = (((IFileFormat)fileFormat).FileName); var parentForm = LibraryGUI.Instance.GetActiveForm(); GenericEditorForm editorForm = new GenericEditorForm(true, form); editorForm.FormClosing += (sender, e) => FormClosing(sender, e, fileFormat); if (editorForm.ShowDialog() == DialogResult.OK) { if (fileFormat.CanSave) { Data = fileFormat.Save(); UpdateHexView(); } } }
private void OpenControlDialog(IFileFormat fileFormat) { UserControl form = GetEditorControl(fileFormat); form.Text = (((IFileFormat)fileFormat).FileName); var parentForm = LibraryGUI.GetActiveForm(); GenericEditorForm editorForm = new GenericEditorForm(true, form); editorForm.FormClosing += (sender, e) => FormClosing(sender, e, fileFormat); if (editorForm.ShowDialog() == DialogResult.OK) { if (fileFormat.CanSave) { ArchiveFileInfo.SaveFileFormat(); UpdateEditor(); } } }
public void CreateNew(object sender, EventArgs args) { BFLIM bflim = new BFLIM(); bflim.CanSave = true; bflim.IFileInfo = new IFileInfo(); bflim.header = new Header(); OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = false; ofd.Filter = FileFilters.GTX; if (ofd.ShowDialog() != DialogResult.OK) { return; } FTEX ftex = new FTEX(); ftex.ReplaceTexture(ofd.FileName, TEX_FORMAT.BC3_UNORM_SRGB, 1, 0, bflim.SupportedFormats, false, true, false); if (ftex.texture != null) { bflim.Text = ftex.texture.Name; bflim.image = new Image(); bflim.image.Swizzle = (byte)ftex.texture.Swizzle; bflim.image.BflimFormat = FormatsWiiU.FirstOrDefault(x => x.Value == ftex.Format).Key; bflim.image.Height = (ushort)ftex.texture.Height; bflim.image.Width = (ushort)ftex.texture.Width; bflim.Format = FormatsWiiU[bflim.image.BflimFormat]; bflim.Width = bflim.image.Width; bflim.Height = bflim.image.Height; bflim.ImageData = ftex.texture.Data; var form = new GenericEditorForm(false, bflim.OpenForm()); LibraryGUI.CreateMdiWindow(form); bflim.UpdateForm(); } }
private void OpenFormDialog(IFileFormat fileFormat) { UserControl form = GetEditorForm(fileFormat); form.Text = (((IFileFormat)fileFormat).FileName); var parentForm = LibraryGUI.GetActiveForm(); GenericEditorForm editorForm = new GenericEditorForm(true, form); editorForm.FormClosing += (sender, e) => FormClosing(sender, e, fileFormat); if (editorForm.ShowDialog() == DialogResult.OK) { if (fileFormat.CanSave) { var mem = new System.IO.MemoryStream(); fileFormat.Save(mem); ArchiveFileInfo.FileData = mem.ToArray(); UpdateEditor(); } } }
public void OpenFile(string FileName, bool InActiveEditor = false) { if (File.Exists(FileName)) { SaveRecentFile(FileName); } object file = STFileLoader.OpenFileFormat(FileName); if (file == null) //File might not be supported so return { return; } Type objectType = file.GetType(); bool HasEditorActive = false; foreach (var inter in objectType.GetInterfaces()) { if (inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IEditor <>)) { MethodInfo method = objectType.GetMethod("OpenForm"); MethodInfo methodFill = objectType.GetMethod("FillEditor"); var control = (UserControl)method.Invoke(file, new object[0]); methodFill.Invoke(file, new object[1] { control }); var form = new GenericEditorForm(false, control); TabDupeIndex = 0; form.Text = CheckTabDupes(((IFileFormat)file).FileName); form.MdiParent = this; form.Show(); HasEditorActive = true; } else if (inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IEditorForm <>)) { MethodInfo method = objectType.GetMethod("OpenForm"); var form = (Form)method.Invoke(file, new object[0]); TabDupeIndex = 0; form.Text = CheckTabDupes(((IFileFormat)file).FileName); form.Show(); HasEditorActive = true; } } bool IsTreeNode = file is TreeNode; bool IsArchiveFile = file is IArchiveFile; if (!IsTreeNode && !IsArchiveFile || HasEditorActive) { SetFormatSettings(GetActiveIFileFormat()); return; } //ObjectEditor is for treenode or archive file types. Editors will be on the right side, treenodes on the left SetFormatSettings((IFileFormat)file); //Check for active object editors Form editor = (Form)LibraryGUI.GetActiveForm(); bool useActiveEditor = false; if (editor != null && editor is ObjectEditor) { //If any are active and we want it to be a new tab then create an instance of one if (InActiveEditor || ((ObjectEditor)editor).AddFilesToActiveEditor) { useActiveEditor = true; } } bool IsEditorActive = editor != null; if (!useActiveEditor || !IsEditorActive) { editor = new ObjectEditor(((IFileFormat)file)); editor.MdiParent = this; editor.Text = CheckTabDupes(((IFileFormat)file).FileName); editor.Show(); ((ObjectEditor)editor).SelectFirstNode(); if (file is TreeNodeFile) { ((TreeNodeFile)file).OnAfterAdded(); } } else { if (IsArchiveFile) { ((ObjectEditor)editor).AddIArchiveFile((IFileFormat)file); } else { AddObjectEditorFile(((TreeNode)file), (ObjectEditor)editor, false); } } SetFormatSettings(GetActiveIFileFormat()); }