⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filemenu.java

📁 The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: FileMenu.java * * Copyright (c) 2003 Sun Microsystems and Static Free Software * * Electric(tm) is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * Electric(tm) is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Electric(tm); see the file COPYING.  If not, write to * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, Mass 02111-1307, USA. */package com.sun.electric.tool.user.menus;import static com.sun.electric.tool.user.menus.EMenuItem.SEPARATOR;import com.sun.electric.database.IdMapper;import com.sun.electric.database.Snapshot;import com.sun.electric.database.geometry.PolyBase;import com.sun.electric.database.hierarchy.Cell;import com.sun.electric.database.hierarchy.EDatabase;import com.sun.electric.database.hierarchy.Library;import com.sun.electric.database.hierarchy.View;import com.sun.electric.database.text.Setting;import com.sun.electric.database.text.TextUtils;import com.sun.electric.database.variable.EditWindow_;import com.sun.electric.database.variable.VarContext;import com.sun.electric.technology.Layer;import com.sun.electric.tool.Client;import com.sun.electric.tool.Job;import com.sun.electric.tool.JobException;import com.sun.electric.tool.JobManager;import com.sun.electric.tool.cvspm.CVS;import com.sun.electric.tool.cvspm.Commit;import com.sun.electric.tool.cvspm.Edit;import com.sun.electric.tool.cvspm.Update;import com.sun.electric.tool.io.FileType;import com.sun.electric.tool.io.IOTool;import com.sun.electric.tool.io.input.GDSMap;import com.sun.electric.tool.io.input.Input;import com.sun.electric.tool.io.input.LibraryFiles;import com.sun.electric.tool.io.output.Output;import com.sun.electric.tool.io.output.PostScript;import com.sun.electric.tool.project.AddCellJob;import com.sun.electric.tool.project.AddLibraryJob;import com.sun.electric.tool.project.CancelCheckOutJob;import com.sun.electric.tool.project.CheckInJob;import com.sun.electric.tool.project.CheckOutJob;import com.sun.electric.tool.project.DeleteCellJob;import com.sun.electric.tool.project.HistoryDialog;import com.sun.electric.tool.project.LibraryDialog;import com.sun.electric.tool.project.UpdateJob;import com.sun.electric.tool.simulation.Simulation;import com.sun.electric.tool.user.ActivityLogger;import com.sun.electric.tool.user.CircuitChangeJobs;import com.sun.electric.tool.user.CircuitChanges;import com.sun.electric.tool.user.Clipboard;import com.sun.electric.tool.user.User;import com.sun.electric.tool.user.dialogs.ChangeCurrentLib;import com.sun.electric.tool.user.dialogs.OpenFile;import com.sun.electric.tool.user.dialogs.OptionReconcile;import com.sun.electric.tool.user.dialogs.ProjectSettingsFrame;import com.sun.electric.tool.user.projectSettings.ProjSettings;import com.sun.electric.tool.user.ui.EditWindow;import com.sun.electric.tool.user.ui.ElectricPrinter;import com.sun.electric.tool.user.ui.ErrorLoggerTree;import com.sun.electric.tool.user.ui.TextWindow;import com.sun.electric.tool.user.ui.ToolBar;import com.sun.electric.tool.user.ui.TopLevel;import com.sun.electric.tool.user.ui.WindowContent;import com.sun.electric.tool.user.ui.WindowFrame;import com.sun.electric.tool.user.waveform.WaveformWindow;import java.awt.Component;import java.awt.Dimension;import java.awt.HeadlessException;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionAdapter;import java.awt.geom.Rectangle2D;import java.awt.print.PageFormat;import java.awt.print.PrinterException;import java.awt.print.PrinterJob;import java.io.File;import java.io.Serializable;import java.net.URL;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.prefs.BackingStoreException;import javax.print.PrintService;import javax.print.PrintServiceLookup;import javax.print.attribute.HashPrintRequestAttributeSet;import javax.print.attribute.PrintRequestAttributeSet;import javax.swing.Icon;import javax.swing.JDialog;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.RepaintManager;import javax.swing.SwingUtilities;/** * Class to handle the commands in the "File" pulldown menu. */public class FileMenu {    public static final EMenu openRecentLibs = new EMenu("Open Recent Library", new ArrayList<EMenuItem>());    static EMenu makeMenu() {		/****************************** THE FILE MENU ******************************/		// mnemonic keys available:    D               T  WXYZ        return new EMenu("_File",            new EMenuItem("_New Library...") { public void run() {                newLibraryCommand(); }},			ToolBar.openLibraryCommand, // O            openRecentLibs,		// mnemonic keys available:      F HIJK  NO QR   VW YZ            new EMenu("_Import",                new EMenuItem("_CIF (Caltech Intermediate Format)...") { public void run() {                    importLibraryCommand(FileType.CIF); }},                new EMenuItem("_GDS II (Stream)...") { public void run() {                    importLibraryCommand(FileType.GDS); }},                new EMenuItem("GDS _Map File...") {	public void run() {                    GDSMap.importMapFile(); }},                new EMenuItem("_EDIF (Electronic Design Interchange Format)...") { public void run() {                	importLibraryCommand(FileType.EDIF); }},                new EMenuItem("_LEF (Library Exchange Format)...") { public void run() {                    importLibraryCommand(FileType.LEF); }},                new EMenuItem("_DEF (Design Exchange Format)...") {	public void run() {                    importLibraryCommand(FileType.DEF); }},                new EMenuItem("_DEF (Design Exchange Format) to current cell...") {	public void run() {                	importToCurrentCellCommand(FileType.DEF); }},                new EMenuItem("D_XF (AutoCAD)...") { public void run() {                    importLibraryCommand(FileType.DXF); }},                new EMenuItem("S_UE (Schematic User Environment)...") {	public void run() {                    importLibraryCommand(FileType.SUE); }},                new EMenuItem("_Verilog...") {	public void run() {                    importLibraryCommand(FileType.VERILOG); }},                new EMenuItem("_Applicon 860...") {	public void run() {                    importLibraryCommand(FileType.APPLICON860); }},                IOTool.hasDais() ? new EMenuItem("Dais (_Sun CAD)...") { public void run() {                    importLibraryCommand(FileType.DAIS); }} : null,                IOTool.hasDais() ? new EMenuItem("Dais (_Sun CAD) to current library...") { public void run() {                	importToCurrentCellCommand(FileType.DAIS); }} : null,                SEPARATOR,                new EMenuItem("ELI_B...") {	public void run() {                    importLibraryCommand(FileType.ELIB); }},                new EMenuItem("_Readable Dump...") { public void run() {                    importLibraryCommand(FileType.READABLEDUMP); }},                new EMenuItem("_Text Cell Contents...") { public void run() {                    TextWindow.readTextCell(); }},                new EMenuItem("_Preferences...") { public void run() {                    Job.getUserInterface().importPrefs(); }},                new EMenuItem("Project Settings...") { public void run() {                    ProjSettings.importSettings(); }},                new EMenuItem("XML Error Logger...") { public void run() {                    ErrorLoggerTree.importLogger(); }}            ),            SEPARATOR,            new EMenuItem("_Close Library") { public void run() {                closeLibraryCommand(Library.getCurrent()); }},			ToolBar.saveLibraryCommand, // V            new EMenuItem("Save Library _As...") { public void run() {                if (checkInvariants()) saveAsLibraryCommand(Library.getCurrent()); }},            new EMenuItem("_Save All Libraries", 'S') { public void run() {                if (checkInvariants()) saveAllLibrariesCommand(); }},            new EMenuItem("Save All Libraries in _Format...") { public void run() {                if (checkInvariants()) saveAllLibrariesInFormatCommand(); }},		// mnemonic keys available:    D     J  M   Q   UVWVYZ            new EMenu("_Export",                new EMenuItem("_CIF (Caltech Intermediate Format)...") { public void run() {                    exportCommand(FileType.CIF, false); }},                new EMenuItem("_GDS II (Stream)...") { public void run() {                    exportCommand(FileType.GDS, false); }},                new EMenuItem("ED_IF (Electronic Design Interchange Format)...") { public void run() {                    exportCommand(FileType.EDIF, false); }},                new EMenuItem("LE_F (Library Exchange Format)...") { public void run() {                    exportCommand(FileType.LEF, false); }},                new EMenuItem("_L...") { public void run() {                    exportCommand(FileType.L, false); }},                IOTool.hasSkill() ? new EMenuItem("S_kill (Cadence Commands)...") {	public void run() {                    exportCommand(FileType.SKILL, false); }} : null,                IOTool.hasSkill() ? new EMenuItem("Skill Exports _Only (Cadence Commands)...") { public void run() {                    exportCommand(FileType.SKILLEXPORTSONLY, false); }} : null,                SEPARATOR,                new EMenuItem("_Eagle...") { public void run() {                    exportCommand(FileType.EAGLE, false); }},                new EMenuItem("EC_AD...") {	public void run() {                    exportCommand(FileType.ECAD, false); }},                new EMenuItem("Pad_s...") {	public void run() {                    exportCommand(FileType.PADS, false); }},                SEPARATOR,                new EMenuItem("_Text Cell Contents...") { public void run() {                    TextWindow.writeTextCell(); }},                new EMenuItem("_PostScript...") { public void run() {                    exportCommand(FileType.POSTSCRIPT, false); }},                new EMenuItem("P_NG (Portable Network Graphics)...") { public void run() {                    exportCommand(FileType.PNG, false); }},                new EMenuItem("_HPGL...") { public void run() {                    exportCommand(FileType.HPGL, false); }},                new EMenuItem("D_XF (AutoCAD)...") { public void run() {                    exportCommand(FileType.DXF, false); }},                SEPARATOR,                new EMenuItem("ELI_B (Version 6)...") {	public void run() {                    saveLibraryCommand(Library.getCurrent(), FileType.ELIB, true, false, false); }},                new EMenuItem("_JELIB (Version 8.03)...") { public void run() {	// really since 8.04k                    saveOldJelib(); }},                new EMenuItem("P_references...") { public void run() {                    Job.getUserInterface().exportPrefs(); }},                new EMenuItem("Project Settings...") { public void run() {                    ProjSettings.exportSettings(); }}            ),            SEPARATOR,            new EMenuItem("Change Current _Library...") { public void run() {                ChangeCurrentLib.showDialog(); }},            new EMenuItem("List Li_braries") { public void run() {                CircuitChanges.listLibrariesCommand(); }},            new EMenuItem("Rena_me Library...") { public void run() {                CircuitChanges.renameLibrary(Library.getCurrent()); }},            new EMenuItem("Mar_k All Libraries for Saving") { public void run() {                CircuitChangeJobs.markAllLibrariesForSavingCommand(); }},		// mnemonic keys available: AB DEFGHIJKLMNOPQ STUVWXYZ            new EMenu("C_heck Libraries",                new EMenuItem("_Check") { public void run() {                    CircuitChanges.checkAndRepairCommand(false); }},                new EMenuItem("_Repair") { public void run() {                    CircuitChanges.checkAndRepairCommand(true); }}),            SEPARATOR,        // mnemonic keys available:   C EFG  JK MN PQ ST VWXYZ            new EMenu("P_roject Management",                new EMenuItem("_Update") { public void run() {                    UpdateJob.updateProject(); }},                new EMenuItem("Check _Out This Cell") { public void run() {                    CheckOutJob.checkOutThisCell(); }},                new EMenuItem("Check _In This Cell...") { public void run() {                    CheckInJob.checkInThisCell(); }},                SEPARATOR,                new EMenuItem("Roll_back and Release Check-Out") { public void run() {                    CancelCheckOutJob.cancelCheckOutThisCell(); }},                new EMenuItem("_Add This Cell") { public void run() {                    AddCellJob.addThisCell(); }},                new EMenuItem("_Remove This Cell") { public void run() {                    DeleteCellJob.removeThisCell(); }},                new EMenuItem("Show _History of This Cell...") { public void run() {                    HistoryDialog.examineThisHistory(); }},                SEPARATOR,                new EMenuItem("Get Library From Repository...") { public void run() {                    LibraryDialog.getALibrary(); }},                new EMenuItem("Add Current _Library To Repository") { public void run() {                    AddLibraryJob.addThisLibrary(); }},                new EMenuItem("Ad_d All Libraries To Repository") {	public void run() {                    AddLibraryJob.addAllLibraries(); }}),        // mnemonic keys available: ABCDEFGHIJKLMNOPQRSTUVWXYZ            new EMenu("C_VS",                new EMenuItem("Commit All Open Libraries") { public void run() {                    Commit.commitAllLibraries(); }},                new EMenuItem("Update Open Libraries") { public void run() {                    Update.updateOpenLibraries(Update.UpdateEnum.UPDATE); }},                new EMenuItem("Get Status Open Libraries") { public void run() {                    Update.updateOpenLibraries(Update.UpdateEnum.STATUS); }},                new EMenuItem("List Editors Open Libraries") { public void run() {                    Edit.listEditorsOpenLibraries(); }},                SEPARATOR,                new EMenuItem("Update Project Libraries") { public void run() {                    Update.updateProject(Update.UpdateEnum.UPDATE); }},                new EMenuItem("Get Status Project Libraries") { public void run() {                    Update.updateProject(Update.UpdateEnum.STATUS); }},                new EMenuItem("List Editors Project Libraries") { public void run() {                    Edit.listEditorsProject(); }},                SEPARATOR,                new EMenuItem("Checkout From Repository") { public void run() {                    CVS.checkoutFromRepository(); }})                {                    @Override                    public boolean isEnabled() { return CVS.isEnabled(); }                    @Override                    protected void registerItem() {                        super.registerItem();                        registerUpdatable();                    }                 },            SEPARATOR,            new EMenuItem("Pa_ge Setup...") { public void run() {                pageSetupCommand(); }},            new EMenuItem("_Print...") { public void run() {                printCommand(); }},            SEPARATOR,			ToolBar.preferencesCommand, // R            new EMenuItem("Pro_ject Settings...") { public void run() {                ProjectSettingsFrame.projectSettingsCommand(); }},            SEPARATOR,            !Client.isOSMac() ?	new EMenuItem("_Quit", 'Q') { public void run() {                quitCommand(); }} : null,            new EMenuItem("Force Q_uit (and Save)") { public void run() {                forceQuit(); }});    }    // ------------------------------ File Menu -----------------------------------    public static void newLibraryCommand()    {        String newLibName = JOptionPane.showInputDialog("New Library Name", "");        if (newLibName == null) return;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -