📄 iotool.java
字号:
* Method to set whether to plot the date in PostScript output. * @param pd true to plot the date in PostScript output. */ public static void setPlotDate(boolean pd) { cachePlotDate.setBoolean(pd); } /** * Method to tell whether to plot the date in PostScript output by default. * @return whether to plot the date in PostScript output by default. */ public static boolean isFactoryPlotDate() { return cachePlotDate.getBooleanFactoryValue(); } private static Pref cachePrinterName = null; private static Pref getCachePrinterName() { if (cachePrinterName == null) { cachePrinterName = Pref.makeStringPref("PrinterName", IOTool.tool.prefs, "");// PrintService defPrintService = PrintServiceLookup.lookupDefaultPrintService();// if (defPrintService == null) cachePrinterName = Pref.makeStringPref("PrinterName", IOTool.tool.prefs, ""); else// cachePrinterName = Pref.makeStringPref("PrinterName", IOTool.tool.prefs, defPrintService.getName()); } return cachePrinterName; } /** * Method to tell the default printer name to use. * The default is "". * @return the default printer name to use. */ public static String getPrinterName() { return getCachePrinterName().getString(); } /** * Method to set the default printer name to use. * @param pName the default printer name to use. */ public static void setPrinterName(String pName) { getCachePrinterName().setString(pName); } /****************************** CIF PREFERENCES ******************************/ /** * Method to tell whether CIF Output mimics the display. * To mimic the display, unexpanded cell instances are described as black boxes, * instead of calls to their contents. * The default is "false". * @return true if CIF Output mimics the display. */ public static boolean isCIFOutMimicsDisplay() { return tool.cacheCIFMimicsDisplay.getBoolean(); } /** * Returns Setting to tell whether CIF Output mimics the display. * To mimic the display, unexpanded cell instances are described as black boxes, * instead of calls to their contents. * @return Setting to tell whether CIF Output mimics the display. */ public static Setting getCIFOutMimicsDisplaySetting() { return tool.cacheCIFMimicsDisplay; } /** * Method to tell whether CIF Output merges boxes into complex polygons. * This takes more time but produces a smaller output file. * The default is "false". * @return true if CIF Output merges boxes into complex polygons. */ public static boolean isCIFOutMergesBoxes() { return tool.cacheCIFMergesBoxes.getBoolean(); } /** * Returns Setting to tell whether CIF Output merges boxes into complex polygons. * This takes more time but produces a smaller output file. * @return Setting to tell whether CIF Output merges boxes into complex polygons. */ public static Setting getCIFOutMergesBoxesSetting() { return tool.cacheCIFMergesBoxes; } /** * Method to tell whether CIF Output instantiates the top-level. * When this happens, a CIF "call" to the top cell is emitted. * The default is "true". * @return true if CIF Output merges boxes into complex polygons. */ public static boolean isCIFOutInstantiatesTopLevel() { return tool.cacheCIFInstantiatesTopLevel.getBoolean(); } /** * Returns Setting to tell whether CIF Output merges boxes into complex polygons. * When this happens, a CIF "call" to the top cell is emitted. * @return Setting to tell whether CIF Output merges boxes into complex polygons. */ public static Setting getCIFOutInstantiatesTopLevelSetting() { return tool.cacheCIFInstantiatesTopLevel; } private Setting cacheCIFMimicsDisplay; private Setting cacheCIFMergesBoxes; private Setting cacheCIFInstantiatesTopLevel; private void initCIFProjectSettings() { makeBooleanSetting("CIFMimicsDisplay", "CIF tab", "CIF output mimics display", false); makeBooleanSetting("CIFMergesBoxes", "CIF tab", "CIF output merges boxes", false); makeBooleanSetting("CIFInstantiatesTopLevel", "CIF tab", "CIF output instantiates top level", true); } private static Pref cacheCIFInSquaresWires = Pref.makeBooleanPref("CIFInSquaresWires", IOTool.tool.prefs, true); /** * Method to tell whether CIF input makes wire ends square or round. * The default is "true" (square). * @return true if CIF input makes wire ends square. */ public static boolean isCIFInSquaresWires() { return cacheCIFInSquaresWires.getBoolean(); } /** * Method to set whether CIF input makes wire ends square or round. * @param s true if CIF input makes wire ends square. */ public static void setCIFInSquaresWires(boolean s) { cacheCIFInSquaresWires.setBoolean(s); } /** * Method to tell whether CIF input makes wire ends square or round by default. * The default is "true" (square). * @return true if CIF input makes wire ends square by default. */ public static boolean isFactoryCIFInSquaresWires() { return cacheCIFInSquaresWires.getBooleanFactoryValue(); } /****************************** DEF PREFERENCES ******************************/ private static Pref cacheDEFLogicalPlacement = Pref.makeBooleanPref("DEFLogicalPlacement", IOTool.tool.prefs, true); /** * Method to tell whether DEF Input makes logical placement. * The default is "true" (do the logical placement). * @return true if DEF Input makes logical placement. */ public static boolean isDEFLogicalPlacement() { return cacheDEFLogicalPlacement.getBoolean(); } /** * Method to set whether DEF Input makes logical placement. * @param on true if DEF Input makes logical placement. */ public static void setDEFLogicalPlacement(boolean on) { cacheDEFLogicalPlacement.setBoolean(on); } /** * Method to tell whether DEF Input makes logical placement by default. * The default is "true" (do the logical placement). * @return true if DEF Input makes logical placement by default. */ public static boolean isFactoryDEFLogicalPlacement() { return cacheDEFLogicalPlacement.getBooleanFactoryValue(); } private static Pref cacheDEFPhysicalPlacement = Pref.makeBooleanPref("DEFPhysicalPlacement", IOTool.tool.prefs, true); /** * Method to tell whether DEF Input makes physical placement. * The default is "true" (do the physical placement). * @return true if DEF Input makes physical placement. */ public static boolean isDEFPhysicalPlacement() { return cacheDEFPhysicalPlacement.getBoolean(); } /** * Method to set whether DEF Input makes physical placement. * @param on true if DEF Input makes physical placement. */ public static void setDEFPhysicalPlacement(boolean on) { cacheDEFPhysicalPlacement.setBoolean(on); } /** * Method to tell whether DEF Input makes physical placement by default. * The default is "true" (do the physical placement). * @return true if DEF Input makes physical placement by default. */ public static boolean isFactoryDEFPhysicalPlacement() { return cacheDEFPhysicalPlacement.getBooleanFactoryValue(); } /****************************** GDS PREFERENCES ******************************/ /** * Method to tell whether GDS Output merges boxes into complex polygons. * This takes more time but produces a smaller output file. * The default is "false". * @return true if GDS Output merges boxes into complex polygons. */ public static boolean isGDSOutMergesBoxes() { return tool.cacheGDSMergesBoxes.getBoolean(); } /** * Returns Setting to tell whether GDS Output merges boxes into complex polygons. * This takes more time but produces a smaller output file. * @return Setting to tell if GDS Output merges boxes into complex polygons. */ public static Setting getGDSOutMergesBoxesSetting() { return tool.cacheGDSMergesBoxes; } /** * Method to tell whether GDS Output writes pins at Export locations. * Some systems can use this information to reconstruct export locations. * The default is "false". * @return true if GDS Output writes pins at Export locations. */ public static boolean isGDSOutWritesExportPins() { return tool.cacheGDSWritesExportPins.getBoolean(); } /** * Returns Setting to tell whether GDS Output writes pins at Export locations. * Some systems can use this information to reconstruct export locations. * @return Setting to tell whether GDS Output writes pins at Export locations. */ public static Setting getGDSOutWritesExportPinsSetting() { return tool.cacheGDSWritesExportPins; } /** * Method to tell whether GDS Output makes all text upper-case. * Some systems insist on this. * The default is "false". * @return true if GDS Output makes all text upper-case. */ public static boolean isGDSOutUpperCase() { return tool.cacheGDSOutputUpperCase.getBoolean(); } /** * Returns Setting to tell whether GDS Output makes all text upper-case. * Some systems insist on this. * @return Setting to tell whether GDS Output makes all text upper-case. */ public static Setting getGDSOutUpperCaseSetting() { return tool.cacheGDSOutputUpperCase; } /** * Method to tell the default GDS layer to use for the text of Export pins. * Export pins are annotated with text objects on this layer. * If this is negative, do not write Export pins. * The default is "230". * @return the default GDS layer to use for the text of Export pins. */ public static int getGDSOutDefaultTextLayer() { return tool.cacheGDSDefaultTextLayer.getInt(); } /** * Returns Setting to tell the default GDS layer to use for the text of Export pins. * Export pins are annotated with text objects on this layer. * If this is negative, do not write Export pins. * @return Setting to tell to set the default GDS layer to use for the text of Export pins. */ public static Setting getGDSOutDefaultTextLayerSetting() { return tool.cacheGDSDefaultTextLayer; } /** * Method to get the state of whether the GDS writer converts brackets * to underscores in export names. */ public static boolean getGDSOutputConvertsBracketsInExports() { return tool.cacheGDSOutputConvertsBracketsInExports.getBoolean(); } /** * Returns Setting to tell the state of whether the GDS writer converts brackets * to underscores in export names. * @return Setting to tell the state of whether the GDS writer converts brackets */ public static Setting getGDSOutputConvertsBracketsInExportsSetting() { return tool.cacheGDSOutputConvertsBracketsInExports; } /** * Get the maximum length (number of chars) for Cell names in the GDS output file * @return the number of chars */ public static int getGDSCellNameLenMax() { return tool.cacheGDSCellNameLenMax.getInt(); } /** * Returns Setting to tell the maximum length (number of chars) for Cell names in the GDS output file * @return Setting to tell the maximum length (number of chars) for Cell names in the GDS output file */ public static Setting getGDSCellNameLenMaxSetting() { return tool.cacheGDSCellNameLenMax; } /** * Method to tell the scale to be applied when reading GDS. * The default is 1 (no scaling). * @return the scale to be applied when reading GDS. */ public static double getGDSInputScale() { return tool.cacheGDSInputScale.getDouble(); } /** * Method to set the scale to be applied when reading GDS. * @return the scale to be applied when reading GDS. */ public static Setting getGDSInputScaleSetting() { return tool.cacheGDSInputScale; } private Setting cacheGDSMergesBoxes; private Setting cacheGDSWritesExportPins; private Setting cacheGDSOutputUpperCase; private Setting cacheGDSDefaultTextLayer; private Setting cacheGDSOutputConvertsBracketsInExports; private Setting cacheGDSCellNameLenMax; private Setting cacheGDSInputScale; private void initGDSProjectSettings() { makeBooleanSetting("GDSMergesBoxes", "GDS tab", "GDS output merges boxes", false); makeBooleanSetting("GDSWritesExportPins", "GDS tab", "GDS output writes export pins", false); makeBooleanSetting("GDSOutputUpperCase", "GDS tab", "GDS output all upper-case", false); makeIntSetting("GDSDefaultTextLayer", "GDS tab", "GDS output default text layer", 230); makeBooleanSetting("GDSOutputConvertsBracketsInExports", "GDS tab", "GDS output converts brackets in exports", true); makeIntSetting("GDSCellNameLenMax", "GDS tab", "GDS name length limit", 32); makeDoubleSetting("GDSInputScale", "GDS tab", "GDS input scale", 1.0); } private static Pref cacheGDSInMergesBoxes = Pref.makeBooleanPref("GDSInMergesBoxes", IOTool.tool.prefs, false); /** * Method to tell whether GDS Input merges boxes into complex polygons. * This takes more time but produces a smaller database. * The default is "false". * @return true if GDS Input merges boxes into complex polygons. */ public static boolean isGDSInMergesBoxes() { return cacheGDSInMergesBoxes.getBoolean(); } /** * Method to set whether GDS Input merges boxes into complex polygons. * This takes more time but produces a smaller database. * @param on true if GDS Input merges boxes into complex polygons. */ public static void setGDSInMergesBoxes(boolean on) { cacheGDSInMergesBoxes.setBoolean(on); } /** * Method to tell whether GDS Input merges boxes into complex polygons, by default. * This takes more time but produces a smaller database. * @return true if GDS Input merges boxes into complex polygons, by default. */ public static boolean isFactoryGDSInMergesBoxes() { return cacheGDSInMergesBoxes.getBooleanFactoryValue(); } private static Pref cacheGDSInIncludesText = Pref.makeBooleanPref("GDSInIncludesText", IOTool.tool.prefs, false); /** * Method to tell whether GDS Input ignores text. * Text can clutter the display, so some users don't want to read it. * The default is "false". * @return true if GDS Input ignores text. */ public static boolean isGDSInIncludesText() { return cacheGDSInIncludesText.getBoolean(); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -