mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-11 01:32:08 +10:00
Show voltage and power ratings in BOM where applicable
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
-1
@@ -514,7 +514,7 @@ public class ActionFactory {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
LOG.info("ExportPNGAction triggered");
|
||||
LOG.info("PrintAction triggered");
|
||||
try {
|
||||
DrawingExporter.getInstance().print(this.drawingProvider);
|
||||
} catch (PrinterException e1) {
|
||||
@@ -539,6 +539,7 @@ public class ActionFactory {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
LOG.info("ExitAction triggered");
|
||||
if (plugInPort.allowFileAction()) {
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
+8
-3
@@ -31,7 +31,12 @@ public class ProjectDrawingProvider implements IDrawingProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
public Dimension getSize() {
|
||||
return plugInPort.getCanvasDimensions(useZoom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(int page, Graphics g) {
|
||||
EnumSet<DrawOption> drawOptions = EnumSet.of(DrawOption.ANTIALIASING);
|
||||
if (useZoom) {
|
||||
drawOptions.add(DrawOption.ZOOM);
|
||||
@@ -48,7 +53,7 @@ public class ProjectDrawingProvider implements IDrawingProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension getSize() {
|
||||
return plugInPort.getCanvasDimensions(useZoom);
|
||||
public int getPageCount() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
+35
-10
@@ -3,13 +3,18 @@ package org.diylc.swing.plugins.file;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.diylc.common.DrawOption;
|
||||
import org.diylc.common.IComponentFiler;
|
||||
import org.diylc.common.IPlugInPort;
|
||||
import org.diylc.common.PCBLayer;
|
||||
import org.diylc.core.IDIYComponent;
|
||||
import org.diylc.presenter.ComponentZOrderFiler;
|
||||
import org.diylc.presenter.PCBLayerFiler;
|
||||
import org.diylc.swingframework.IDrawingProvider;
|
||||
|
||||
/**
|
||||
@@ -21,22 +26,42 @@ import org.diylc.swingframework.IDrawingProvider;
|
||||
public class TraceMaskDrawingProvider implements IDrawingProvider {
|
||||
|
||||
private IPlugInPort plugInPort;
|
||||
private IComponentFiler filter;
|
||||
|
||||
public TraceMaskDrawingProvider(IPlugInPort plugInPort) {
|
||||
super();
|
||||
this.plugInPort = plugInPort;
|
||||
this.filter = new ComponentZOrderFiler(IDIYComponent.TRACE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
plugInPort.draw((Graphics2D) g, EnumSet.of(DrawOption.ANTIALIASING),
|
||||
this.filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension getSize() {
|
||||
return plugInPort.getCanvasDimensions(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(int page, Graphics g) {
|
||||
plugInPort.draw((Graphics2D) g, EnumSet.of(DrawOption.ANTIALIASING),
|
||||
new PCBLayerFiler(getUsedLayers()[page]));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPageCount() {
|
||||
return getUsedLayers().length;
|
||||
}
|
||||
|
||||
private PCBLayer[] getUsedLayers() {
|
||||
Set<PCBLayer> layers = EnumSet.noneOf(PCBLayer.class);
|
||||
for (IDIYComponent<?> c : plugInPort.getCurrentProject()
|
||||
.getComponents()) {
|
||||
Class<?> clazz = c.getClass();
|
||||
try {
|
||||
Method m = clazz.getMethod("getLayer", null);
|
||||
PCBLayer l = (PCBLayer) m.invoke(c);
|
||||
layers.add(l);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
List<PCBLayer> sorted = new ArrayList<PCBLayer>(layers);
|
||||
Collections.sort(sorted);
|
||||
return sorted.toArray(new PCBLayer[] {});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user