diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index 47e0c829..4920ee9b 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -3351,12 +3351,12 @@
13
0
- 2020-12-06 00:00:00.000 CET
+ 2020-12-20 00:00:00.000 CET
NEW_FEATURE
- Added 'Check Trace Proximity' functionality under File -> Analyze menu that checks if there are any traces or pads that are too close to each other
+ Added 'Check Trace Proximity' functionality under File -> Analyze menu that checks if there are any conductive surfaces (e.g. traces or pads) that are too close to each other
NEW_FEATURE
@@ -3372,7 +3372,7 @@
NEW_FEATURE
- Analyze fonts in the background to identify ones that are causing slowness when editing 'Label' components and skip font preview for them to optimize performance
+ Fix for 'Label' editor dialog slowness and freezing on some machines. Analyze fonts in the background to identify ones that are causing slowness when editing 'Label' components and skip font preview for them to optimize performance
IMPROVEMENT
diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar
index 5a07cd64..a464823a 100644
Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ
diff --git a/diylc/diylc-library/src/org/diylc/components/passive/AxialAirCoreInductor.java b/diylc/diylc-library/src/org/diylc/components/passive/AxialAirCoreInductor.java
new file mode 100644
index 00000000..6359d34a
--- /dev/null
+++ b/diylc/diylc-library/src/org/diylc/components/passive/AxialAirCoreInductor.java
@@ -0,0 +1,69 @@
+///*
+// *
+// * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
+// *
+// * This file is part of DIYLC.
+// *
+// * DIYLC 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.
+// *
+// * DIYLC 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 DIYLC. If not, see
+// * .
+// *
+// */
+//package org.diylc.components.passive;
+//
+//import java.awt.Color;
+//import java.awt.Graphics2D;
+//import java.awt.Shape;
+//import java.awt.geom.Rectangle2D;
+//
+//import org.diylc.components.transform.SimpleComponentTransformer;
+//import org.diylc.core.CreationMethod;
+//import org.diylc.core.IDIYComponent;
+//import org.diylc.core.annotations.ComponentDescriptor;
+//
+//@ComponentDescriptor(name = "Air Core Inductor (Axial)", author = "Branislav Stojkovic",
+// category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "L",
+// description = "Axial air core inductor", zOrder = IDIYComponent.COMPONENT,
+// transformer = SimpleComponentTransformer.class)
+//public class AxialAirCoreInductor extends AbstractFilmCapacitor {
+//
+// private static final long serialVersionUID = 1L;
+//
+// public static Color BODY_COLOR = Color.decode("#FFE303");
+// public static Color BORDER_COLOR = BODY_COLOR.darker();
+// public static Color OUTER_FOIL_COLOR = Color.white;
+//
+// public AxialAirCoreInductor() {
+// super();
+// this.bodyColor = BODY_COLOR;
+// this.borderColor = BORDER_COLOR;
+// }
+//
+// public void drawIcon(Graphics2D g2d, int width, int height) {
+// g2d.rotate(-Math.PI / 4, width / 2, height / 2);
+// g2d.setColor(LEAD_COLOR_ICON);
+// g2d.drawLine(0, height / 2, width, height / 2);
+// g2d.setColor(BODY_COLOR);
+// g2d.fillRect(4, height / 2 - 3, width - 8, 6);
+// g2d.setColor(BORDER_COLOR);
+// g2d.drawRect(4, height / 2 - 3, width - 8, 6);
+// }
+//
+// @Override
+// protected Shape getBodyShape() {
+// return new Rectangle2D.Double(0f, 0f, getLength().convertToPixels(),
+// getClosestOdd(getWidth().convertToPixels()));
+// }
+//
+// @Override
+// protected boolean supportsStandingMode() {
+// return true;
+// }
+//}
diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar
index 5a07cd64..a464823a 100644
Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ
diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar
index a19b18e8..8e7b3157 100644
Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ
diff --git a/diylc/diylc-swing/src/org/diylc/swing/ActionFactory.java b/diylc/diylc-swing/src/org/diylc/swing/ActionFactory.java
index 6ceb59cd..a9eee8ec 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/ActionFactory.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/ActionFactory.java
@@ -1993,17 +1993,17 @@ public class ActionFactory {
@Override
public void failed(Exception e) {
- swingUI.showMessage(e.getMessage(), (String)CheckProximityAction.this.getValue(NAME), ISwingUI.INFORMATION_MESSAGE);
+ swingUI.showMessage(e.getMessage(), LangUtil.translate((String)CheckProximityAction.this.getValue(NAME)), ISwingUI.INFORMATION_MESSAGE);
}
@Override
public void complete(List res) {
if (res == null || res.size() == 0)
swingUI.showMessage(LangUtil.translate("No proximity issues detected."),
- (String)CheckProximityAction.this.getValue(NAME), ISwingUI.INFORMATION_MESSAGE);
+ LangUtil.translate((String)CheckProximityAction.this.getValue(NAME)), ISwingUI.INFORMATION_MESSAGE);
else
- swingUI.showMessage(String.format("%s potential proximity issue(s) detected and marked red.", res.size()),
- (String)CheckProximityAction.this.getValue(NAME), ISwingUI.WARNING_MESSAGE);
+ swingUI.showMessage(String.format(LangUtil.translate("%s potential proximity issue(s) detected and marked red."), res.size()),
+ LangUtil.translate((String)CheckProximityAction.this.getValue(NAME)), ISwingUI.WARNING_MESSAGE);
}
}, true);
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/file/FileMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/file/FileMenuPlugin.java
index b0d4af1e..0a61f47d 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/file/FileMenuPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/file/FileMenuPlugin.java
@@ -88,16 +88,17 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
swingUI.injectMenuAction(
actionFactory.createPrintAction(traceMaskDrawingProvider, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
| KeyEvent.SHIFT_DOWN_MASK), TRACE_MASK_TITLE);
- swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Scientist.getIcon(), FILE_TITLE);
+
+ swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Scientist.getIcon(), FILE_TITLE);
+ swingUI.injectMenuAction(actionFactory.createCheckProximityAction(plugInPort, swingUI), ANALYZE_TITLE);
swingUI.injectMenuAction(actionFactory.createBomAction(plugInPort), ANALYZE_TITLE);
- swingUI.injectMenuAction(actionFactory.createGenerateNetlistAction(plugInPort, swingUI), ANALYZE_TITLE);
- swingUI.injectMenuAction(actionFactory.createCheckProximityAction(plugInPort, swingUI), ANALYZE_TITLE);
+ swingUI.injectMenuAction(actionFactory.createGenerateNetlistAction(plugInPort, swingUI), ANALYZE_TITLE);
List summarizers = plugInPort.getNetlistAnalyzers();
if (summarizers != null) {
for(INetlistAnalyzer summarizer : summarizers)
swingUI.injectMenuAction(actionFactory.createSummarizeNetlistAction(plugInPort, swingUI, summarizer), ANALYZE_TITLE);
- }
+ }
swingUI.injectMenuAction(null, FILE_TITLE);
swingUI.injectSubmenu(INTEGRATION_TITLE, IconLoader.Node.getIcon(), FILE_TITLE);