Show voltage and power ratings in BOM where applicable

This commit is contained in:
bancika
2012-08-24 13:42:10 +00:00
parent f419c1afb9
commit 1e34913d1a
6 changed files with 45 additions and 14 deletions
@@ -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);
}
@@ -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;
}
}
@@ -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[] {});
}
}