Exemple #1
0
        void LoadRecentFile(object sender, EventArgs e)
        {
            if (sender is ToolStripMenuItem == false)
            {
                return;
            }
            ToolStripMenuItem tsmi = sender as ToolStripMenuItem;

            if (tsmi == null || tsmi.Tag is int == false || (int)tsmi.Tag < 0 || (int)tsmi.Tag > m_RecentFiles.Count - 1)
            {
                return;
            }
            string            fileName = m_RecentFiles[(int)tsmi.Tag];
            ISaveableDocument editor   = null;

            switch (m_RecentFileTypes[fileName])
            {
            case FileSelectorFilters.Circuits:
                editor = CreateNewEditorForm();
                break;

            case FileSelectorFilters.Symbols:
                editor = CreateNewSymbolForm();
                break;
            }

            if (editor.LoadDocument(fileName))
            {
                ShowChildForm((DockContent)editor);
                HandleRecentFiles(fileName, m_RecentFileTypes[fileName]);
            }
        }
Exemple #2
0
        public DockContent ExecuteOpenFileDialog()
        {
            try
            {
                FileSelector fileSelector = new FileSelector(FileSelectorFilters.AnyFile | FileSelectorFilters.Circuits | FileSelectorFilters.Symbols);
                if (fileSelector.ExecuteOpenDialog())
                {
                    ISaveableDocument editor = null;
                    switch (fileSelector.UsedFilter)
                    {
                    case FileSelectorFilters.Circuits:
                        editor = CreateNewEditorForm();
                        break;

                    case FileSelectorFilters.Symbols:
                        editor = CreateNewSymbolForm();
                        break;
                    }
                    if (editor.LoadDocument(fileSelector.FileName))
                    {
                        HandleRecentFiles(fileSelector.FileName, fileSelector.UsedFilter);

                        return(editor as DockContent);
                    }
                    else
                    {
                        (editor as Form).Dispose();
                    }
                }
            }
            catch (Exception ex)
            {
                //TODO: Exception Handling
                MessageBox.Show(ex.Message + "\n-----\n" + ex.StackTrace, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
            return(null);
        }