res) {
if (res == null) {
- swingUI.showMessage("The generated netlist is empty, nothing to show.", "DIYLC Netlist", ISwingUI.INFORMATION_MESSAGE);
+ swingUI.showMessage("The generated netlist is empty, nothing to show.", "DIYLC Netlist",
+ ISwingUI.INFORMATION_MESSAGE);
return;
}
StringBuilder sb = new StringBuilder("");
-
- for (Netlist netlist : res) {
- sb.append("Switch configuration: ").
- append(netlist.getSwitchSetup()).append("
Connected node groups:
");
+
+ for (Netlist netlist : res) {
+ sb.append("
Switch configuration: ").append(netlist.getSwitchSetup())
+ .append("
Connected node groups:
");
for (Group v : netlist.getSortedGroups()) {
- sb.append(" ").append(v.getSortedNodes()).append("
");
+ sb.append(" ").append(v.getSortedNodes()).append("
");
}
sb.append("
");
}
sb.append("");
- new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "DIYLC Netlist", new Dimension(800, 600)).setVisible(true);
- }
+ new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "DIYLC Netlist",
+ new Dimension(800, 600)).setVisible(true);
+ }
}, true);
- }
+ }
}
-
+
public static class SummarizeNetlistAction extends AbstractAction {
-
+
private static final long serialVersionUID = 1L;
-
+
private IPlugInPort plugInPort;
private ISwingUI swingUI;
private INetlistAnalyzer summarizer;
- public SummarizeNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI, INetlistAnalyzer summarizer) {
+ public SummarizeNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI,
+ INetlistAnalyzer summarizer) {
super();
this.plugInPort = plugInPort;
this.swingUI = swingUI;
this.summarizer = summarizer;
- putValue(AbstractAction.NAME, summarizer.getName());
- putValue(AbstractAction.SMALL_ICON, Enum.valueOf(IconLoader.class, summarizer.getIconName()).getIcon());
+ putValue(AbstractAction.NAME, summarizer.getName());
+ putValue(AbstractAction.SMALL_ICON,
+ Enum.valueOf(IconLoader.class, summarizer.getIconName()).getIcon());
}
@Override
public void actionPerformed(ActionEvent e) {
-
+
swingUI.executeBackgroundTask(new ITask>() {
@Override
public List doInBackground() throws Exception {
List netlists = plugInPort.extractNetlists(true);
if (netlists == null || netlists.isEmpty()) {
- throw new Exception("The generated netlist is empty, nothing to show.");
+ throw new Exception("The generated netlist is empty, nothing to show.");
}
-
+
return summarizer.summarize(netlists, null);
}
@@ -1807,32 +1879,32 @@ public class ActionFactory {
@Override
public void complete(List res) {
if (res == null) {
- swingUI.showMessage("The generated summary is empty, nothing to show.", summarizer.getName(), ISwingUI.INFORMATION_MESSAGE);
+ swingUI.showMessage("The generated summary is empty, nothing to show.",
+ summarizer.getName(), ISwingUI.INFORMATION_MESSAGE);
return;
}
StringBuilder sb = new StringBuilder("");
-
- for (Summary summary : res) {
- sb.append("");
-
+
+ for (Summary summary : res) {
+ sb.append("
");
+
if (res.size() > 1)
- sb.append("Switch configuration: ").
- append(summary.getNetlist().getSwitchSetup()).
- append("
");
-
+ sb.append("Switch configuration: ").append(summary.getNetlist().getSwitchSetup())
+ .append("
");
+
sb.append(summary.getSummary());
-
+
sb.append("
");
-
+
if (res.size() > 1)
sb.append("
");
}
sb.append("");
- new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), summarizer.getName(), new Dimension(800, 600)).setVisible(true);
- }
+ new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), summarizer.getName(),
+ new Dimension(800, 600)).setVisible(true);
+ }
}, true);
- }
+ }
}
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java
index 1533ce01..ecb5a21f 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPlugin.java
@@ -103,6 +103,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
private ActionFactory.RotateSelectionAction rotateCounterclockwiseAction;
private ActionFactory.MirrorSelectionAction mirrorHorizontallyAction;
private ActionFactory.MirrorSelectionAction mirrorVerticallyAction;
+ private ActionFactory.FlexibleLeadsAction flexibleLeadsAction;
private IPlugInPort plugInPort;
private ISwingUI swingUI;
@@ -289,6 +290,7 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
getRotateCounterclockwiseAction().setEnabled(enabled);
getMirrorHorizontallyAction().setEnabled(enabled);
getMirrorVerticallyAction().setEnabled(enabled);
+ getFlexibleLeadsAction().setEnabled(enabled);
getSaveAsTemplateAction()
.setEnabled(plugInPort.getSelectedComponents().size() == 1);
@@ -453,6 +455,8 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
popupMenu.add(getSaveAsBlockAction());
popupMenu.add(getExpandMenu());
popupMenu.addSeparator();
+ popupMenu.add(getFlexibleLeadsAction());
+ popupMenu.addSeparator();
popupMenu.add(ActionFactory.getInstance().createEditProjectAction(plugInPort));
}
return popupMenu;
@@ -630,6 +634,12 @@ public class CanvasPlugin implements IPlugIn, ClipboardOwner {
}
return mirrorVerticallyAction;
}
+
+ public ActionFactory.FlexibleLeadsAction getFlexibleLeadsAction() {
+ if (flexibleLeadsAction == null)
+ flexibleLeadsAction = ActionFactory.getInstance().createFlexibleLeadsAction(plugInPort);
+ return flexibleLeadsAction;
+ }
public ActionFactory.SaveAsTemplateAction getSaveAsTemplateAction() {
if (saveAsTemplateAction == null) {
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java
index 79050b43..b944a8e9 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/edit/EditMenuPlugin.java
@@ -21,24 +21,24 @@
*/
package org.diylc.swing.plugins.edit;
-import java.awt.Toolkit;
-import java.awt.datatransfer.Clipboard;
-import java.awt.datatransfer.ClipboardOwner;
-import java.awt.datatransfer.FlavorEvent;
-import java.awt.datatransfer.FlavorListener;
-import java.awt.datatransfer.Transferable;
-import java.util.EnumSet;
-
-import org.diylc.appframework.undo.IUndoListener;
-import org.diylc.appframework.undo.UndoHandler;
-import org.diylc.common.EventType;
-import org.diylc.common.IComponentTransformer;
-import org.diylc.common.IPlugIn;
-import org.diylc.common.IPlugInPort;
-import org.diylc.core.ExpansionMode;
-import org.diylc.core.Project;
-import org.diylc.images.IconLoader;
-import org.diylc.swing.ActionFactory;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.ClipboardOwner;
+import java.awt.datatransfer.FlavorEvent;
+import java.awt.datatransfer.FlavorListener;
+import java.awt.datatransfer.Transferable;
+import java.util.EnumSet;
+
+import org.diylc.appframework.undo.IUndoListener;
+import org.diylc.appframework.undo.UndoHandler;
+import org.diylc.common.EventType;
+import org.diylc.common.IComponentTransformer;
+import org.diylc.common.IPlugIn;
+import org.diylc.common.IPlugInPort;
+import org.diylc.core.ExpansionMode;
+import org.diylc.core.Project;
+import org.diylc.images.IconLoader;
+import org.diylc.swing.ActionFactory;
import org.diylc.swing.ISwingUI;
public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
@@ -75,7 +75,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
private ActionFactory.RotateSelectionAction rotateCounterClockwiseAction;
private ActionFactory.MirrorSelectionAction mirrorHorizontallyAction;
private ActionFactory.MirrorSelectionAction mirrorVerticallyAction;
- private ActionFactory.FindAction findAction;
+ private ActionFactory.FindAction findAction;
+ private ActionFactory.FlexibleLeadsAction flexibleLeadsAction;
private UndoHandler undoHandler;
@@ -268,6 +269,12 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
if (findAction == null)
findAction = ActionFactory.getInstance().createFindAction(plugInPort, swingUI);
return findAction;
+ }
+
+ public ActionFactory.FlexibleLeadsAction getFlexibleLeadsAction() {
+ if (flexibleLeadsAction == null)
+ flexibleLeadsAction = ActionFactory.getInstance().createFlexibleLeadsAction(plugInPort);
+ return flexibleLeadsAction;
}
@Override
@@ -311,6 +318,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
swingUI.injectMenuAction(getExpandSelectionAllAction(), EXPAND_TITLE);
swingUI.injectMenuAction(getExpandSelectionImmediateAction(), EXPAND_TITLE);
swingUI.injectMenuAction(getExpandSelectionSameTypeAction(), EXPAND_TITLE);
+ swingUI.injectMenuAction(null, EDIT_TITLE);
+ swingUI.injectMenuAction(getFlexibleLeadsAction(), EDIT_TITLE);
swingUI.injectMenuAction(null, EDIT_TITLE);
swingUI.injectMenuAction(actionFactory.createEditProjectAction(plugInPort), EDIT_TITLE);
@@ -364,7 +373,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner {
getMirrorHorizontallyAction().setEnabled(enabled);
getMirrorVerticallyAction().setEnabled(enabled);
getSaveAsTemplateAction().setEnabled(enabled);
- getSaveAsBlockAction().setEnabled(enabled);
+ getSaveAsBlockAction().setEnabled(enabled);
+ getFlexibleLeadsAction().setEnabled(enabled);
}
// ClipboardOwner