mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
improved netlist display
minor component updates
This commit is contained in:
@@ -22,12 +22,10 @@
|
|||||||
package org.diylc.common;
|
package org.diylc.common;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.diylc.netlist.Netlist;
|
import org.diylc.netlist.Netlist;
|
||||||
import org.diylc.netlist.SwitchSetup;
|
|
||||||
|
|
||||||
public interface INetlistProcessor {
|
public interface INetlistProcessor {
|
||||||
|
|
||||||
Map<Netlist, List<SwitchSetup>> extractNetlists();
|
List<Netlist> extractNetlists();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.diylc.netlist;
|
package org.diylc.netlist;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,7 +32,7 @@ import java.util.Set;
|
|||||||
*
|
*
|
||||||
* @author Branislav Stojkovic
|
* @author Branislav Stojkovic
|
||||||
*/
|
*/
|
||||||
public class Group {
|
public class Group implements Comparable<Group> {
|
||||||
|
|
||||||
private Set<Node> nodes = new HashSet<Node>();
|
private Set<Node> nodes = new HashSet<Node>();
|
||||||
|
|
||||||
@@ -41,6 +44,12 @@ public class Group {
|
|||||||
public Set<Node> getNodes() {
|
public Set<Node> getNodes() {
|
||||||
return nodes;
|
return nodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Node> getSortedNodes() {
|
||||||
|
List<Node> list = new ArrayList<Node>(nodes);
|
||||||
|
Collections.sort(list);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
@@ -70,11 +79,17 @@ public class Group {
|
|||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (Node n : nodes) {
|
List<Node> list = getSortedNodes();
|
||||||
|
for (Node n : list) {
|
||||||
if (sb.length() > 0)
|
if (sb.length() > 0)
|
||||||
sb.append(" <-> ");
|
sb.append(" <-> ");
|
||||||
sb.append(n);
|
sb.append(n);
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Group o) {
|
||||||
|
return toString().compareToIgnoreCase(o.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,24 +21,38 @@
|
|||||||
*/
|
*/
|
||||||
package org.diylc.netlist;
|
package org.diylc.netlist;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class Netlist {
|
public class Netlist implements Comparable<Netlist> {
|
||||||
|
|
||||||
private Set<Group> groups = new HashSet<Group>();
|
private Set<Group> groups = new HashSet<Group>();
|
||||||
|
private List<SwitchSetup> switchSetup = new ArrayList<SwitchSetup>();
|
||||||
|
|
||||||
public Netlist() {
|
public Netlist() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<Group> getGroups() {
|
public Set<Group> getGroups() {
|
||||||
return groups;
|
return groups;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean verticesMatch(Netlist other) {
|
public List<Group> getSortedGroups() {
|
||||||
return this.groups.equals(other.groups);
|
List<Group> list = new ArrayList<Group>(groups);
|
||||||
|
Collections.sort(list);
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<SwitchSetup> getSwitchSetup() {
|
||||||
|
return switchSetup;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void done() {
|
||||||
|
Collections.sort(switchSetup);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
final int prime = 31;
|
final int prime = 31;
|
||||||
@@ -67,9 +81,15 @@ public class Netlist {
|
|||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (Group v : groups) {
|
List<Group> list = getSortedGroups();
|
||||||
sb.append("\t").append(v).append("\n");
|
for (Group g : list) {
|
||||||
|
sb.append("\t").append(g).append("\n");
|
||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Netlist o) {
|
||||||
|
return switchSetup.toString().compareToIgnoreCase(o.switchSetup.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import org.diylc.core.IDIYComponent;
|
|||||||
*
|
*
|
||||||
* @author Branislav Stojkovic
|
* @author Branislav Stojkovic
|
||||||
*/
|
*/
|
||||||
public class Node {
|
public class Node implements Comparable<Node> {
|
||||||
|
|
||||||
private IDIYComponent<?> component;
|
private IDIYComponent<?> component;
|
||||||
private int pointIndex;
|
private int pointIndex;
|
||||||
@@ -79,4 +79,9 @@ public class Node {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
return component.getName() + "." + component.getControlPointNodeName(pointIndex) /*+ " @ (" + component.getControlPoint(pointIndex).getX() + ":" + component.getControlPoint(pointIndex).getY() + ")"*/;
|
return component.getName() + "." + component.getControlPointNodeName(pointIndex) /*+ " @ (" + component.getControlPoint(pointIndex).getX() + ":" + component.getControlPoint(pointIndex).getY() + ")"*/;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Node o) {
|
||||||
|
return toString().compareToIgnoreCase(o.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import org.diylc.core.ISwitch;
|
|||||||
*
|
*
|
||||||
* @author Branislav Stojkovic
|
* @author Branislav Stojkovic
|
||||||
*/
|
*/
|
||||||
public class Position {
|
public class Position implements Comparable<Position> {
|
||||||
|
|
||||||
private ISwitch theSwitch;
|
private ISwitch theSwitch;
|
||||||
private int position;
|
private int position;
|
||||||
@@ -80,4 +80,11 @@ public class Position {
|
|||||||
public String toString() {
|
public String toString() {
|
||||||
return (theSwitch instanceof IDIYComponent<?> ? ((IDIYComponent<?>) theSwitch).getName() + "." : "") + theSwitch.getPositionName(position);
|
return (theSwitch instanceof IDIYComponent<?> ? ((IDIYComponent<?>) theSwitch).getName() + "." : "") + theSwitch.getPositionName(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(Position o) {
|
||||||
|
if (theSwitch instanceof IDIYComponent<?> && o.theSwitch instanceof IDIYComponent<?>)
|
||||||
|
return ((IDIYComponent<?>) theSwitch).getName().compareToIgnoreCase(((IDIYComponent<?>) o.theSwitch).getName());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.diylc.netlist;
|
package org.diylc.netlist;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,13 +29,14 @@ import java.util.List;
|
|||||||
*
|
*
|
||||||
* @author Branislav Stojkovic
|
* @author Branislav Stojkovic
|
||||||
*/
|
*/
|
||||||
public class SwitchSetup {
|
public class SwitchSetup implements Comparable<SwitchSetup> {
|
||||||
|
|
||||||
private List<Position> positions;
|
private List<Position> positions;
|
||||||
|
|
||||||
public SwitchSetup(List<Position> positions) {
|
public SwitchSetup(List<Position> positions) {
|
||||||
super();
|
super();
|
||||||
this.positions = positions;
|
this.positions = positions;
|
||||||
|
Collections.sort(this.positions);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Position> getPositions() {
|
public List<Position> getPositions() {
|
||||||
@@ -77,4 +79,9 @@ public class SwitchSetup {
|
|||||||
}
|
}
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(SwitchSetup o) {
|
||||||
|
return toString().compareToIgnoreCase(o.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2687,8 +2687,8 @@ public class Presenter implements IPlugInPort {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public Map<Netlist, List<SwitchSetup>> extractNetlists() {
|
public List<Netlist> extractNetlists() {
|
||||||
Map<Netlist, List<SwitchSetup>> result = new HashMap<Netlist, List<SwitchSetup>>();
|
Map<Netlist, Netlist> result = new HashMap<Netlist, Netlist>();
|
||||||
List<Node> nodes = new ArrayList<Node>();
|
List<Node> nodes = new ArrayList<Node>();
|
||||||
|
|
||||||
List<ISwitch> switches = new ArrayList<ISwitch>();
|
List<ISwitch> switches = new ArrayList<ISwitch>();
|
||||||
@@ -2756,11 +2756,10 @@ public class Presenter implements IPlugInPort {
|
|||||||
|
|
||||||
// merge graphs that are effectivelly the same
|
// merge graphs that are effectivelly the same
|
||||||
if (result.containsKey(graph)) {
|
if (result.containsKey(graph)) {
|
||||||
result.get(graph).add(new SwitchSetup(posList));
|
result.get(graph).getSwitchSetup().add(new SwitchSetup(posList));
|
||||||
} else {
|
} else {
|
||||||
List<SwitchSetup> list = new ArrayList<SwitchSetup>();
|
graph.getSwitchSetup().add(new SwitchSetup(posList));
|
||||||
list.add(new SwitchSetup(posList));
|
result.put(graph, graph);
|
||||||
result.put(graph, list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// find the next combination if possible
|
// find the next combination if possible
|
||||||
@@ -2777,13 +2776,18 @@ public class Presenter implements IPlugInPort {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
// sort everything alphabetically
|
||||||
|
List<Netlist> netlists = new ArrayList<Netlist>(result.keySet());
|
||||||
|
Collections.sort(netlists);
|
||||||
|
|
||||||
|
return netlists;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Netlist constructGraph(List<Node> nodes, List<Line2D> connections, List<Area> continuityAreas) {
|
private Netlist constructGraph(List<Node> nodes, List<Line2D> connections, List<Area> continuityAreas) {
|
||||||
Netlist graph = new Netlist();
|
Netlist netlist = new Netlist();
|
||||||
|
|
||||||
|
// debugging code
|
||||||
// StringBuilder sb = new StringBuilder();
|
// StringBuilder sb = new StringBuilder();
|
||||||
// sb.append("Nodes:").append("\n");
|
// sb.append("Nodes:").append("\n");
|
||||||
// for (Node n : nodes) {
|
// for (Node n : nodes) {
|
||||||
@@ -2809,20 +2813,22 @@ public class Presenter implements IPlugInPort {
|
|||||||
checkGraphConnection(point2, point1, connections, continuityAreas, new boolean[connections.size()])) {
|
checkGraphConnection(point2, point1, connections, continuityAreas, new boolean[connections.size()])) {
|
||||||
boolean added = false;
|
boolean added = false;
|
||||||
// add to an existing vertex if possible
|
// add to an existing vertex if possible
|
||||||
for (Group v :graph.getGroups())
|
for (Group g : netlist.getGroups())
|
||||||
if (v.getNodes().contains(node1)) {
|
if (g.getNodes().contains(node1)) {
|
||||||
v.getNodes().add(node2);
|
g.getNodes().add(node2);
|
||||||
added = true;
|
added = true;
|
||||||
} else if (v.getNodes().contains(node2)) {
|
} else if (g.getNodes().contains(node2)) {
|
||||||
v.getNodes().add(node1);
|
g.getNodes().add(node1);
|
||||||
added = true;
|
added = true;
|
||||||
}
|
}
|
||||||
if (!added)
|
if (!added)
|
||||||
graph.getGroups().add(new Group(node1, node2));
|
netlist.getGroups().add(new Group(node1, node2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return graph;
|
netlist.done();
|
||||||
|
|
||||||
|
return netlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean checkGraphConnection(Point2D point1, Point2D point2, List<Line2D> connections,
|
private boolean checkGraphConnection(Point2D point1, Point2D point2, List<Line2D> connections,
|
||||||
|
|||||||
Binary file not shown.
@@ -350,5 +350,18 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent<String> {
|
|||||||
public void setOrientation(Orientation orientation) {
|
public void setOrientation(Orientation orientation) {
|
||||||
this.orientation = orientation;
|
this.orientation = orientation;
|
||||||
updateControlPoints();
|
updateControlPoints();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getControlPointNodeName(int index) {
|
||||||
|
switch (index) {
|
||||||
|
case 0:
|
||||||
|
return "Tip";
|
||||||
|
case 1:
|
||||||
|
return "Sleeve";
|
||||||
|
case 2:
|
||||||
|
return "Ring";
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ public class SingleCoilPickup extends AbstractTransparentComponent<String> {
|
|||||||
|
|
||||||
// terminal labels
|
// terminal labels
|
||||||
Point[] points = getControlPoints();
|
Point[] points = getControlPoints();
|
||||||
g2d.setColor(finalBorderColor);
|
g2d.setColor(darkerOrLighter(baseColor));
|
||||||
|
|
||||||
g2d.setFont(project.getFont().deriveFont(TERMINAL_FONT_SIZE * 1f));
|
g2d.setFont(project.getFont().deriveFont(TERMINAL_FONT_SIZE * 1f));
|
||||||
int dx = 0;
|
int dx = 0;
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -18,7 +18,6 @@
|
|||||||
package org.diylc.swing;
|
package org.diylc.swing;
|
||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.Clipboard;
|
||||||
import java.awt.datatransfer.ClipboardOwner;
|
import java.awt.datatransfer.ClipboardOwner;
|
||||||
@@ -66,7 +65,6 @@ import org.diylc.core.measures.SizeUnit;
|
|||||||
import org.diylc.images.IconLoader;
|
import org.diylc.images.IconLoader;
|
||||||
import org.diylc.netlist.Group;
|
import org.diylc.netlist.Group;
|
||||||
import org.diylc.netlist.Netlist;
|
import org.diylc.netlist.Netlist;
|
||||||
import org.diylc.netlist.SwitchSetup;
|
|
||||||
import org.diylc.presenter.Presenter;
|
import org.diylc.presenter.Presenter;
|
||||||
import org.diylc.swing.gui.DialogFactory;
|
import org.diylc.swing.gui.DialogFactory;
|
||||||
import org.diylc.swing.gui.editor.PropertyEditorDialog;
|
import org.diylc.swing.gui.editor.PropertyEditorDialog;
|
||||||
@@ -77,12 +75,10 @@ import org.diylc.swing.plugins.file.FileFilterEnum;
|
|||||||
import org.diylc.swingframework.ButtonDialog;
|
import org.diylc.swingframework.ButtonDialog;
|
||||||
import org.diylc.swingframework.CheckBoxListDialog;
|
import org.diylc.swingframework.CheckBoxListDialog;
|
||||||
import org.diylc.swingframework.IDrawingProvider;
|
import org.diylc.swingframework.IDrawingProvider;
|
||||||
import org.diylc.swingframework.TextDialog;
|
|
||||||
import org.diylc.swingframework.export.DrawingExporter;
|
import org.diylc.swingframework.export.DrawingExporter;
|
||||||
|
import org.diylc.swingframework.text.TextDialog;
|
||||||
import org.diylc.utils.BomEntry;
|
import org.diylc.utils.BomEntry;
|
||||||
|
|
||||||
import sun.java2d.pipe.hw.ExtendedBufferCapabilities.VSyncType;
|
|
||||||
|
|
||||||
import com.thoughtworks.xstream.XStream;
|
import com.thoughtworks.xstream.XStream;
|
||||||
import com.thoughtworks.xstream.io.xml.DomDriver;
|
import com.thoughtworks.xstream.io.xml.DomDriver;
|
||||||
|
|
||||||
@@ -709,14 +705,12 @@ public class ActionFactory {
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private ISwingUI swingUI;
|
private ISwingUI swingUI;
|
||||||
private IPlugInPort plugInPort;
|
|
||||||
|
|
||||||
private Map<String, ComponentType> typeMap = new TreeMap<String, ComponentType>(String.CASE_INSENSITIVE_ORDER);
|
private Map<String, ComponentType> typeMap = new TreeMap<String, ComponentType>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
|
||||||
public ExportVariantsAction(ISwingUI swingUI, IPlugInPort plugInPort) {
|
public ExportVariantsAction(ISwingUI swingUI, IPlugInPort plugInPort) {
|
||||||
super();
|
super();
|
||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
this.plugInPort = plugInPort;
|
|
||||||
putValue(AbstractAction.NAME, "Export Variants");
|
putValue(AbstractAction.NAME, "Export Variants");
|
||||||
|
|
||||||
Map<String, List<ComponentType>> componentTypes = plugInPort.getComponentTypes();
|
Map<String, List<ComponentType>> componentTypes = plugInPort.getComponentTypes();
|
||||||
@@ -1657,24 +1651,34 @@ public class ActionFactory {
|
|||||||
super();
|
super();
|
||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
putValue(AbstractAction.NAME, "Create Netlist");
|
putValue(AbstractAction.NAME, "Create Netlist (beta)");
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Web.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Web.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
Map<Netlist, List<SwitchSetup>> g = plugInPort.extractNetlists();
|
List<Netlist> res = plugInPort.extractNetlists();
|
||||||
if (g == null)
|
if (res == null) {
|
||||||
|
swingUI.showMessage("The generated netlist is empty, nothing to show.", "Netlist", ISwingUI.INFORMATION_MESSAGE);
|
||||||
return;
|
return;
|
||||||
StringBuilder sb = new StringBuilder("<html><p style=\"font-family: " + new JLabel().getFont().getName() + "; font-size: 9px\">");
|
|
||||||
for (Map.Entry<Netlist, List<SwitchSetup>> en : g.entrySet()) {
|
|
||||||
sb.append("<b>").append(en.getValue()).append("</b><br>");
|
|
||||||
for (Group v : en.getKey().getGroups()) {
|
|
||||||
sb.append(v).append("<br>");
|
|
||||||
}
|
|
||||||
sb.append("<br>");
|
|
||||||
}
|
}
|
||||||
sb.append("</p></html>");
|
StringBuilder sb = new StringBuilder("<html>");
|
||||||
|
|
||||||
|
for (Netlist netlist : res) {
|
||||||
|
sb.append("<p style=\"font-family: " + new JLabel().getFont().getName() + "; font-size: 9px\"><b>Switch configuration: ").append(netlist.getSwitchSetup()).append("</b><br><br>Connected node groups:<br>");
|
||||||
|
for (Group v : netlist.getSortedGroups()) {
|
||||||
|
// boolean first = true;
|
||||||
|
// for (Node n : v.getSortedNodes()) {
|
||||||
|
// if (!first)
|
||||||
|
// sb.append(" <-> ");
|
||||||
|
// first = false;
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
sb.append(" ").append(v.getSortedNodes()).append("<br>");
|
||||||
|
}
|
||||||
|
sb.append("</p><br><hr>");
|
||||||
|
}
|
||||||
|
sb.append("</html>");
|
||||||
new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "Netlist", new Dimension(600, 480)).setVisible(true);
|
new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "Netlist", new Dimension(600, 480)).setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
|
|||||||
|
|
||||||
private static final String FILE_TITLE = "File";
|
private static final String FILE_TITLE = "File";
|
||||||
private static final String TRACE_MASK_TITLE = "Trace Mask";
|
private static final String TRACE_MASK_TITLE = "Trace Mask";
|
||||||
private static final String INTEGRATION_TITLE = "Integration";
|
private static final String INTEGRATION_TITLE = "Integration";
|
||||||
|
private static final String ANALYZE_TITLE = "Analyze";
|
||||||
|
|
||||||
private ProjectDrawingProvider drawingProvider;
|
private ProjectDrawingProvider drawingProvider;
|
||||||
private TraceMaskDrawingProvider traceMaskDrawingProvider;
|
private TraceMaskDrawingProvider traceMaskDrawingProvider;
|
||||||
@@ -84,9 +85,10 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
|
|||||||
swingUI.injectMenuAction(actionFactory.createExportPNGAction(plugInPort, traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
swingUI.injectMenuAction(actionFactory.createExportPNGAction(plugInPort, traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
||||||
swingUI.injectMenuAction(
|
swingUI.injectMenuAction(
|
||||||
actionFactory.createPrintAction(traceMaskDrawingProvider, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
|
actionFactory.createPrintAction(traceMaskDrawingProvider, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
|
||||||
| KeyEvent.SHIFT_DOWN_MASK), TRACE_MASK_TITLE);
|
| KeyEvent.SHIFT_DOWN_MASK), TRACE_MASK_TITLE);
|
||||||
swingUI.injectMenuAction(actionFactory.createBomAction(plugInPort), FILE_TITLE);
|
swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Node.getIcon(), FILE_TITLE);
|
||||||
swingUI.injectMenuAction(actionFactory.createGenerateNetlistAction(plugInPort, swingUI), FILE_TITLE);
|
swingUI.injectMenuAction(actionFactory.createBomAction(plugInPort), ANALYZE_TITLE);
|
||||||
|
swingUI.injectMenuAction(actionFactory.createGenerateNetlistAction(plugInPort, swingUI), ANALYZE_TITLE);
|
||||||
swingUI.injectMenuAction(null, FILE_TITLE);
|
swingUI.injectMenuAction(null, FILE_TITLE);
|
||||||
swingUI.injectSubmenu(INTEGRATION_TITLE, IconLoader.Node.getIcon(), FILE_TITLE);
|
swingUI.injectSubmenu(INTEGRATION_TITLE, IconLoader.Node.getIcon(), FILE_TITLE);
|
||||||
swingUI.injectMenuAction(actionFactory.createImportBlocksAction(swingUI, plugInPort), INTEGRATION_TITLE);
|
swingUI.injectMenuAction(actionFactory.createImportBlocksAction(swingUI, plugInPort), INTEGRATION_TITLE);
|
||||||
|
|||||||
Reference in New Issue
Block a user