36 lines
792 B
Java
36 lines
792 B
Java
package de.ph87.electro.sidebar;
|
|
|
|
import de.ph87.electro.circuit.part.Part;
|
|
import lombok.Getter;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.MouseAdapter;
|
|
import java.awt.event.MouseEvent;
|
|
import java.util.function.Consumer;
|
|
|
|
import static de.ph87.electro.CONFIG.RASTER;
|
|
|
|
@Getter
|
|
public class SidebarPart extends JPanel {
|
|
|
|
private final Part part;
|
|
|
|
private final Consumer<Part> add;
|
|
|
|
public SidebarPart(final Part part, final Consumer<Part> add) {
|
|
this.part = part;
|
|
this.add = add;
|
|
setPreferredSize(new Dimension(RASTER, RASTER));
|
|
addMouseListener(new MouseAdapter() {
|
|
|
|
@Override
|
|
public void mouseClicked(final MouseEvent e) {
|
|
add.accept(part.duplicate(e.getPoint().x / RASTER, e.getPoint().y / RASTER));
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
}
|