mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 09:12:09 +10:00
added netlist menu item and dialog
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -63,7 +63,7 @@ public enum IconLoader {
|
|||||||
"component_add.png"), History("history.png"), DocumentPlain("document_plain.png"), FitToSize("fit_to_size.png"), DocumentsGear(
|
"component_add.png"), History("history.png"), DocumentPlain("document_plain.png"), FitToSize("fit_to_size.png"), DocumentsGear(
|
||||||
"documents_gear.png"), SplashResistor("splash_resistor.png"), SplashCeramic("splash_ceramic.png"), SplashElectrolytic(
|
"documents_gear.png"), SplashResistor("splash_resistor.png"), SplashCeramic("splash_ceramic.png"), SplashElectrolytic(
|
||||||
"splash_electrolytic.png"), SplashFilm("splash_film.png"), Splash("splash.png"), Help("help2.png"), ScrollInformation("scroll_information.png"),
|
"splash_electrolytic.png"), SplashFilm("splash_film.png"), Splash("splash.png"), Help("help2.png"), ScrollInformation("scroll_information.png"),
|
||||||
Node("node.png");
|
Node("node.png"), Web("web.png");
|
||||||
|
|
||||||
protected String name;
|
protected String name;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 907 B |
@@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.diylc.swing;
|
package org.diylc.swing;
|
||||||
|
|
||||||
|
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;
|
||||||
@@ -39,6 +41,7 @@ import java.util.Set;
|
|||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.KeyStroke;
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
@@ -61,6 +64,8 @@ import org.diylc.core.measures.Nudge;
|
|||||||
import org.diylc.core.measures.Size;
|
import org.diylc.core.measures.Size;
|
||||||
import org.diylc.core.measures.SizeUnit;
|
import org.diylc.core.measures.SizeUnit;
|
||||||
import org.diylc.images.IconLoader;
|
import org.diylc.images.IconLoader;
|
||||||
|
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;
|
||||||
@@ -71,6 +76,7 @@ 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.utils.BomEntry;
|
import org.diylc.utils.BomEntry;
|
||||||
|
|
||||||
@@ -246,6 +252,10 @@ public class ActionFactory {
|
|||||||
public RenumberAction createRenumberAction(IPlugInPort plugInPort, boolean xAxisFirst) {
|
public RenumberAction createRenumberAction(IPlugInPort plugInPort, boolean xAxisFirst) {
|
||||||
return new RenumberAction(plugInPort, xAxisFirst);
|
return new RenumberAction(plugInPort, xAxisFirst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GenerateNetlistAction createGenerateNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI) {
|
||||||
|
return new GenerateNetlistAction(plugInPort, swingUI);
|
||||||
|
}
|
||||||
|
|
||||||
// File menu actions.
|
// File menu actions.
|
||||||
|
|
||||||
@@ -1632,4 +1642,35 @@ public class ActionFactory {
|
|||||||
plugInPort.renumberSelectedComponents(xAxisFirst);
|
plugInPort.renumberSelectedComponents(xAxisFirst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class GenerateNetlistAction extends AbstractAction {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private IPlugInPort plugInPort;
|
||||||
|
private ISwingUI swingUI;
|
||||||
|
|
||||||
|
public GenerateNetlistAction(IPlugInPort plugInPort, ISwingUI swingUI) {
|
||||||
|
super();
|
||||||
|
this.plugInPort = plugInPort;
|
||||||
|
this.swingUI = swingUI;
|
||||||
|
putValue(AbstractAction.NAME, "Create Netlist");
|
||||||
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Web.getIcon());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
Map<Netlist, List<SwitchSetup>> g = plugInPort.extractNetlists();
|
||||||
|
if (g == null)
|
||||||
|
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>");
|
||||||
|
sb.append(en.getKey()).append("<br><br>");
|
||||||
|
}
|
||||||
|
sb.append("</p></html>");
|
||||||
|
new TextDialog(swingUI.getOwnerFrame().getRootPane(), sb.toString(), "Netlist", new Dimension(600, 480)).setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
|
|||||||
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.injectMenuAction(actionFactory.createBomAction(plugInPort), FILE_TITLE);
|
||||||
|
swingUI.injectMenuAction(actionFactory.createGenerateNetlistAction(plugInPort, swingUI), FILE_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