Пример #1
0
 public bool CloseFile(ViewableFile File)
 {
     if (File.File.Children.Count != 0)
     {
         if (!Closing && MessageBox.Show("One or more files are part of this file. These files will be closed aswell.\nDo you still want to close this file?", "File Dependency", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
         {
             return(false);
         }
         while (File.File.Children.Count > 0)
         {
             Closing = true;
             GetViewableFileFromFile(File.File.Children[0]).Dialog.Close();
             Closing = false;
         }
     }
     if (File.File.Parent != null)
     {
         File.File.Parent.Children.Remove(File.File);
     }
     ViewedFiles.Remove(File);
     if (!ClosingDepDisabled)
     {
         foreach (var v in ViewedFiles)
         {
             if (v.Dialog is IUseOtherFiles)
             {
                 ((IUseOtherFiles)v.Dialog).FileClosed(File);
             }
         }
     }
     return(true);
 }
        public void FileOpened(ViewableFile File)
        {
            if (!(File.FileFormat is NSBTX))
            {
                return;
            }
            ViewableFile[] v = EveryFileExplorerUtil.GetOpenFilesOfType(typeof(NSBTX));
            menuItem1.MenuItems.Clear();
            bool curavab = false;

            foreach (var vv in v)
            {
                var m = menuItem1.MenuItems.Add(vv.File.Name);
                if (vv.FileFormat == tex)
                {
                    curavab   = true;
                    m.Checked = true;
                }
            }
            if (!curavab && v.Length != 0)
            {
                menuItem1.MenuItems[0].Checked = true;
                tex = v[0].FileFormat;
            }
            LoadTex();
            if (ModViewer != null)
            {
                ModViewer.Render();
                ModViewer.Render();
            }
        }
 public override void Save()
 {
     File.Data = GetDataForSave();
     if (Parent != null)
     {
         ViewableFile v = EveryFileExplorerUtil.GetViewableFileFromFile(Parent);
         if (v.Dialog is IChildReactive)
         {
             ((IChildReactive)v.Dialog).OnChildSave(EveryFileExplorerUtil.GetViewableFileFromFile(this));
         }
     }
 }
Пример #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int  fileid          = 0;
            bool fileidspecified = (int.TryParse(this.Request.Params["file"], out fileid));

            if (fileidspecified)
            {
                this.file = ViewableFileCollection.GetFile(fileid);
            }
            else
            {
                throw new Exception("FCIF ID not specified");
            }
        }
Пример #5
0
        public bool CreateEmptyFileWithType(Type tt)
        {
            ViewableFile vv = new ViewableFile(new EFEDiskFile(), tt, true);

            ViewedFiles.Add(vv);
            vv.DialogClosing += new ViewableFile.DialogClosingEventHandler(v_DialogClosing);
            vv.ShowDialog(Application.OpenForms[0]);
            foreach (var v in ViewedFiles)
            {
                if (vv != v && v.Dialog is IUseOtherFiles)
                {
                    ((IUseOtherFiles)v.Dialog).FileOpened(vv);
                }
            }
            return(true);
        }
Пример #6
0
        private void menuSaveAs_Click(object sender, EventArgs e)
        {
            String       Filter = "";
            ViewableFile file   = Program.FileManager.GetViewableFileFromWindow(ActiveMdiChild);

            if (file.FileFormat is IWriteable)
            {
                Filter += file.FileFormat.GetSaveDefaultFileFilter();
            }
            if (file.FileFormat is IConvertable)
            {
                if (Filter.Length > 0)
                {
                    Filter += "|";
                }
                Filter += file.FileFormat.GetConversionFileFilters();
            }
            saveFileDialog1.Filter   = Filter;
            saveFileDialog1.Title    = "Save As";
            saveFileDialog1.FileName = file.File.Name;
            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
                saveFileDialog1.FileName.Length > 0)
            {
                if (file.FileFormat is IWriteable && saveFileDialog1.FilterIndex == 1)
                {
                    try
                    {
                        byte[] data = file.FileFormat.Write();
                        if (data != null)
                        {
                            System.IO.File.Create(saveFileDialog1.FileName).Close();
                            System.IO.File.WriteAllBytes(saveFileDialog1.FileName, data);
                        }
                    }
                    catch { }
                }
                else
                {
                    if (!file.FileFormat.Convert(saveFileDialog1.FilterIndex - (file.FileFormat is IWriteable ? 2 : 1), saveFileDialog1.FileName))
                    {
                        MessageBox.Show("An error occured while trying to convert!");
                    }
                }
            }
        }
Пример #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int  fileid          = 0;
            bool fileidspecified = (int.TryParse(this.Request.Params["file"], out fileid));

            if (fileidspecified)
            {
                this.file = ViewableFileCollection.GetFile(fileid);

                this.EditLink.NavigateUrl = string.Format("Editor.aspx?file={0}&form={1}", fileid, this.file.FormId);
                this.PreviousLink.Visible = false;
                this.NextLink.Visible     = false;
            }
            else
            {
                throw new Exception("FCIF ID not specified");
            }
        }
Пример #8
0
 public void FileClosed(ViewableFile File)
 {
     if (File.FileFormat is MKDS.KCL && File.FileFormat == KCL)
     {
         KCL = null;
     }
     ViewableFile[] v = EveryFileExplorerUtil.GetOpenFilesOfType(typeof(MKDS.KCL));
     menuItem1.MenuItems.Clear();
     foreach (var vv in v)
     {
         menuItem1.MenuItems.Add(vv.File.Name);
     }
     if (v.Length != 0)
     {
         menuItem1.MenuItems[0].Checked = true;
         KCL = v[0].FileFormat;
     }
     Render();
     Render();
 }
Пример #9
0
        public void FileOpened(ViewableFile File)
        {
            ViewableFile[] v = EveryFileExplorerUtil.GetOpenFilesOfType(typeof(MKDS.KCL));
            menuItem1.MenuItems.Clear();
            bool curavab = false;

            foreach (var vv in v)
            {
                var m = menuItem1.MenuItems.Add(vv.File.Name);
                if (vv.FileFormat == KCL)
                {
                    curavab   = true;
                    m.Checked = true;
                }
            }
            if (!curavab && v.Length != 0)
            {
                menuItem1.MenuItems[0].Checked = true;
                KCL = v[0].FileFormat;
            }
            Render();
            Render();
        }
Пример #10
0
        private void SaveFile(object sender, EventArgs e)
        {
            ViewableFile file = Program.FileManager.GetViewableFileFromWindow(ActiveMdiChild);

            if (!(file.FileFormat is IWriteable))
            {
                MessageBox.Show("This format is not saveable!");
                return;
            }
            if (file.File is EFEDiskFile && ((EFEDiskFile)file.File).Path == null)
            {
                saveFileDialog1.Filter   = file.FileFormat.GetSaveDefaultFileFilter();
                saveFileDialog1.Title    = "Save";
                saveFileDialog1.FileName = file.File.Name;
                if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
                    saveFileDialog1.FileName.Length > 0)
                {
                    ((EFEDiskFile)file.File).Path = saveFileDialog1.FileName;
                    file.File.Name   = System.IO.Path.GetFileName(saveFileDialog1.FileName);
                    file.Dialog.Text = file.File.Name;
                }
                else
                {
                    return;
                }
            }
            try
            {
                byte[] data = file.FileFormat.Write();
                file.File.Data = data;
                file.File.Save();
            }
            catch (Exception ee)
            {
                MessageBox.Show("An error occurred while trying to save:\n" + ee);
            }
        }
 public void FileClosed(ViewableFile File)
 {
     if (File.FileFormat is NSBTX && File.FileFormat == tex)
     {
         tex = null;
     }
     ViewableFile[] v = EveryFileExplorerUtil.GetOpenFilesOfType(typeof(NSBTX));
     menuItem1.MenuItems.Clear();
     foreach (var vv in v)
     {
         menuItem1.MenuItems.Add(vv.File.Name);
     }
     if (v.Length != 0)
     {
         menuItem1.MenuItems[0].Checked = true;
         tex = v[0].FileFormat;
     }
     LoadTex();
     if (ModViewer != null)
     {
         ModViewer.Render();
         ModViewer.Render();
     }
 }
Пример #12
0
 public void OnChildSave(ViewableFile File)
 {
     Archive.FromFileSystem(Root);
     fileBrowser1.UpdateDirectories(Root.GetTreeNodes(), true);
 }
Пример #13
0
        public bool OpenFile(EFEFile File, EFEFile Parent = null)
        {
            foreach (var v in ViewedFiles)
            {
                if (v.File.Equals(File))
                {
                    MessageBox.Show("This file has already been opened!");
                    ((Form1)Application.OpenForms[0]).BringMDIWindowToFront(v.Dialog);
                    return(false);
                }
            }
            Type[] formats = GetPossibleFormats(File);
            if (formats.Length == 0)
            {
                return(false);
            }
            List <Type> Viewables = new List <Type>();

            foreach (Type t in formats)
            {
                if (t.GetInterfaces().Contains(typeof(IViewable)))
                {
                    Viewables.Add(t);
                }
            }
            Type tt;

            if (Viewables.Count == 0)
            {
                return(false);
            }
            else if (Viewables.Count == 1)
            {
                tt = Viewables[0];
            }
            else
            {
                MessageBox.Show("Multiple types match!");
                return(false);
            }

            ViewableFile vv = new ViewableFile(File, tt);

            ViewedFiles.Add(vv);
            vv.DialogClosing += new ViewableFile.DialogClosingEventHandler(v_DialogClosing);
            vv.ShowDialog(Application.OpenForms[0]);
            if (Parent != null)
            {
                File.Parent = Parent;
                Parent.Children.Add(File);
            }

            foreach (var v in ViewedFiles)
            {
                if (vv != v && v.Dialog is IUseOtherFiles)
                {
                    ((IUseOtherFiles)v.Dialog).FileOpened(vv);
                }
            }
            return(true);
        }
Пример #14
0
 bool v_DialogClosing(ViewableFile VFile)
 {
     return(CloseFile(VFile));
 }
Пример #15
0
 private bool LoadFile()
 {
     this.File = ViewableFileCollection.GetFile(this.FileId);
     return(this.File != null);
 }