Added multi selection to the ShaderNode editor.
One can now select several items by left clicking with ctrl or shit held. One can now move all selected items at once. One can now delete all selected items at once.
This commit is contained in:
parent
129faf00d7
commit
5989711f73
@ -123,7 +123,7 @@ public class ConnectionCurve extends JPanel implements ComponentListener, MouseI
|
|||||||
|
|
||||||
g2.setStroke(new BasicStroke(4));
|
g2.setStroke(new BasicStroke(4));
|
||||||
Path2D.Double path1 = new Path2D.Double();
|
Path2D.Double path1 = new Path2D.Double();
|
||||||
if (getDiagram().selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
g.setColor(SELECTED_COLOR);
|
g.setColor(SELECTED_COLOR);
|
||||||
} else {
|
} else {
|
||||||
g.setColor(VERY_DARK_GREY);
|
g.setColor(VERY_DARK_GREY);
|
||||||
@ -162,7 +162,7 @@ public class ConnectionCurve extends JPanel implements ComponentListener, MouseI
|
|||||||
((Graphics2D) g).draw(path1);
|
((Graphics2D) g).draw(path1);
|
||||||
g2.setStroke(new BasicStroke(2));
|
g2.setStroke(new BasicStroke(2));
|
||||||
|
|
||||||
if (getDiagram().selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
g.setColor(Color.WHITE);
|
g.setColor(Color.WHITE);
|
||||||
} else {
|
} else {
|
||||||
g.setColor(LIGHT_GREY);
|
g.setColor(LIGHT_GREY);
|
||||||
@ -385,7 +385,7 @@ public class ConnectionCurve extends JPanel implements ComponentListener, MouseI
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (selected) {
|
if (selected) {
|
||||||
getDiagram().select(this);
|
getDiagram().select(this, e.isShiftDown() || e.isControlDown());
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -407,9 +407,7 @@ public class ConnectionCurve extends JPanel implements ComponentListener, MouseI
|
|||||||
|
|
||||||
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
||||||
Diagram diag = getDiagram();
|
Diagram diag = getDiagram();
|
||||||
if (diag.selectedItem == this) {
|
diag.removeSelected();
|
||||||
diag.removeSelectedConnection();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ public class ConnectionStraight extends JPanel implements ComponentListener, Mou
|
|||||||
g.drawLine(p1.x, p1.y, p2.x, p2.y);
|
g.drawLine(p1.x, p1.y, p2.x, p2.y);
|
||||||
|
|
||||||
|
|
||||||
if (getDiagram().selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
g.setColor(Color.CYAN);
|
g.setColor(Color.CYAN);
|
||||||
} else {
|
} else {
|
||||||
g.setColor(Color.GRAY);
|
g.setColor(Color.GRAY);
|
||||||
@ -489,7 +489,7 @@ public class ConnectionStraight extends JPanel implements ComponentListener, Mou
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (selected) {
|
if (selected) {
|
||||||
getDiagram().select(this);
|
getDiagram().select(this, e.isShiftDown() || e.isControlDown());
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -511,9 +511,7 @@ public class ConnectionStraight extends JPanel implements ComponentListener, Mou
|
|||||||
|
|
||||||
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
|
||||||
Diagram diag = getDiagram();
|
Diagram diag = getDiagram();
|
||||||
if (diag.selectedItem == this) {
|
diag.removeSelected();
|
||||||
diag.removeSelectedConnection();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
|
|
||||||
protected Dot draggedFrom;
|
protected Dot draggedFrom;
|
||||||
protected Dot draggedTo;
|
protected Dot draggedTo;
|
||||||
protected Selectable selectedItem;
|
protected List<Selectable> selectedItems = new ArrayList<Selectable>();
|
||||||
protected List<Connection> connections = new ArrayList<Connection>();
|
protected List<Connection> connections = new ArrayList<Connection>();
|
||||||
protected List<NodePanel> nodes = new ArrayList<NodePanel>();
|
protected List<NodePanel> nodes = new ArrayList<NodePanel>();
|
||||||
protected List<OutBusPanel> outBuses = new ArrayList<OutBusPanel>();
|
protected List<OutBusPanel> outBuses = new ArrayList<OutBusPanel>();
|
||||||
@ -63,6 +63,9 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
private MatDefEditorlElement parent;
|
private MatDefEditorlElement parent;
|
||||||
private String currentTechniqueName;
|
private String currentTechniqueName;
|
||||||
private final BackdropPanel backDrop = new BackdropPanel();
|
private final BackdropPanel backDrop = new BackdropPanel();
|
||||||
|
private final Cursor defCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
|
||||||
|
private final Cursor hndCursor = Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR);
|
||||||
|
private final Point pp = new Point();
|
||||||
|
|
||||||
@SuppressWarnings("LeakingThisInConstructor")
|
@SuppressWarnings("LeakingThisInConstructor")
|
||||||
public Diagram() {
|
public Diagram() {
|
||||||
@ -99,7 +102,7 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
selectedItem = null;
|
selectedItems.clear();
|
||||||
repaint();
|
repaint();
|
||||||
} else if (e.getButton() == MouseEvent.BUTTON2) {
|
} else if (e.getButton() == MouseEvent.BUTTON2) {
|
||||||
setCursor(hndCursor);
|
setCursor(hndCursor);
|
||||||
@ -204,13 +207,10 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
public void mouseExited(MouseEvent e) {
|
public void mouseExited(MouseEvent e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void removeSelectedConnection() {
|
protected void removeSelectedConnection(Selectable selectedItem) {
|
||||||
if (selectedItem instanceof Connection) {
|
Connection selectedConnection = (Connection) selectedItem;
|
||||||
Connection selectedConnection = (Connection) selectedItem;
|
removeConnection(selectedConnection);
|
||||||
removeConnection(selectedConnection);
|
parent.notifyRemoveConnection(selectedConnection);
|
||||||
selectedItem = null;
|
|
||||||
parent.notifyRemoveConnection(selectedConnection);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String fixNodeName(String name) {
|
private String fixNodeName(String name) {
|
||||||
@ -277,43 +277,57 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void removeSelectedNode() {
|
protected void removeSelected(){
|
||||||
if (selectedItem instanceof NodePanel) {
|
|
||||||
int result = JOptionPane.showConfirmDialog(null, "Delete this node and all its mappings?", "Delete Shader Node", JOptionPane.OK_CANCEL_OPTION);
|
|
||||||
if (result == JOptionPane.OK_OPTION) {
|
|
||||||
NodePanel selectedNode = (NodePanel) selectedItem;
|
|
||||||
nodes.remove(selectedNode);
|
|
||||||
for (Iterator<Connection> it = connections.iterator(); it.hasNext();) {
|
|
||||||
Connection conn = it.next();
|
|
||||||
if (conn.start.getNode() == selectedNode || conn.end.getNode() == selectedNode) {
|
|
||||||
it.remove();
|
|
||||||
conn.end.disconnect();
|
|
||||||
conn.start.disconnect();
|
|
||||||
remove(conn);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedNode.cleanup();
|
int result = JOptionPane.showConfirmDialog(null, "Delete all selected items, nodes and mappings?", "Delete Selected", JOptionPane.OK_CANCEL_OPTION);
|
||||||
remove(selectedNode);
|
|
||||||
selectedItem = null;
|
if (result == JOptionPane.OK_OPTION) {
|
||||||
repaint();
|
for (Selectable selectedItem : selectedItems) {
|
||||||
parent.notifyRemoveNode(selectedNode);
|
if (selectedItem instanceof NodePanel) {
|
||||||
|
removeSelectedNode(selectedItem);
|
||||||
|
}
|
||||||
|
if (selectedItem instanceof Connection) {
|
||||||
|
removeSelectedConnection(selectedItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
selectedItems.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Cursor defCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
|
private void removeSelectedNode(Selectable selectedItem) {
|
||||||
private final Cursor hndCursor = Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR);
|
|
||||||
private final Point pp = new Point();
|
NodePanel selectedNode = (NodePanel) selectedItem;
|
||||||
|
nodes.remove(selectedNode);
|
||||||
|
for (Iterator<Connection> it = connections.iterator(); it.hasNext();) {
|
||||||
|
Connection conn = it.next();
|
||||||
|
if (conn.start.getNode() == selectedNode || conn.end.getNode() == selectedNode) {
|
||||||
|
it.remove();
|
||||||
|
conn.end.disconnect();
|
||||||
|
conn.start.disconnect();
|
||||||
|
remove(conn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
selectedNode.cleanup();
|
||||||
|
remove(selectedNode);
|
||||||
|
repaint();
|
||||||
|
parent.notifyRemoveNode(selectedNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Selectable> getSelectedItems() {
|
||||||
|
return selectedItems;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseDragged(MouseEvent e) {
|
public void mouseDragged(MouseEvent e) {
|
||||||
if (SwingUtilities.isLeftMouseButton(e)) {
|
if (SwingUtilities.isLeftMouseButton(e)) {
|
||||||
if (draggedFrom == null) {
|
if (draggedFrom == null) {
|
||||||
if (selectedItem instanceof OutBusPanel) {
|
for (Selectable selectedItem : selectedItems) {
|
||||||
OutBusPanel bus = (OutBusPanel) selectedItem;
|
if (selectedItem instanceof OutBusPanel) {
|
||||||
MouseEvent me = SwingUtilities.convertMouseEvent(this, e, bus);
|
OutBusPanel bus = (OutBusPanel) selectedItem;
|
||||||
bus.dispatchEvent(me);
|
MouseEvent me = SwingUtilities.convertMouseEvent(this, e, bus);
|
||||||
|
bus.dispatchEvent(me);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (SwingUtilities.isMiddleMouseButton(e)) {
|
} else if (SwingUtilities.isMiddleMouseButton(e)) {
|
||||||
@ -373,8 +387,29 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
*
|
*
|
||||||
* @param selectable
|
* @param selectable
|
||||||
*/
|
*/
|
||||||
public void select(Selectable selectable) {
|
public void select(Selectable selectable, boolean multi) {
|
||||||
parent.selectionChanged(doSelect(selectable));
|
parent.selectionChanged(doSelect(selectable, multi));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void multiMove(DraggablePanel movedPanel ,int xOffset, int yOffset){
|
||||||
|
|
||||||
|
for (Selectable selectedItem : selectedItems) {
|
||||||
|
if(selectedItem != movedPanel){
|
||||||
|
if(selectedItem instanceof DraggablePanel){
|
||||||
|
((DraggablePanel)selectedItem).movePanel(xOffset, yOffset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void multiStartDrag(DraggablePanel movedPanel){
|
||||||
|
for (Selectable selectedItem : selectedItems) {
|
||||||
|
if(selectedItem != movedPanel){
|
||||||
|
if(selectedItem instanceof DraggablePanel){
|
||||||
|
((DraggablePanel)selectedItem).saveLocation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -383,12 +418,22 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
* @param selectable
|
* @param selectable
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Selectable doSelect(Selectable selectable) {
|
private Selectable doSelect(Selectable selectable, boolean multi) {
|
||||||
this.selectedItem = selectable;
|
|
||||||
|
|
||||||
|
if (!multi && !selectedItems.contains(selectable)) {
|
||||||
|
selectedItems.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selectable != null) {
|
||||||
|
selectedItems.add(selectable);
|
||||||
|
}
|
||||||
|
|
||||||
if (selectable instanceof Component) {
|
if (selectable instanceof Component) {
|
||||||
((Component) selectable).requestFocusInWindow();
|
((Component) selectable).requestFocusInWindow();
|
||||||
}
|
}
|
||||||
repaint();
|
repaint();
|
||||||
|
|
||||||
return selectable;
|
return selectable;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,23 +448,23 @@ public class Diagram extends JPanel implements MouseListener, MouseMotionListene
|
|||||||
|
|
||||||
for (NodePanel nodePanel : nodes) {
|
for (NodePanel nodePanel : nodes) {
|
||||||
if (nodePanel.getKey().equals(key)) {
|
if (nodePanel.getKey().equals(key)) {
|
||||||
return doSelect(nodePanel);
|
return doSelect(nodePanel, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Connection connection : connections) {
|
for (Connection connection : connections) {
|
||||||
if (connection.getKey().equals(key)) {
|
if (connection.getKey().equals(key)) {
|
||||||
return doSelect(connection);
|
return doSelect(connection, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (OutBusPanel outBusPanel : outBuses) {
|
for (OutBusPanel outBusPanel : outBuses) {
|
||||||
if (outBusPanel.getKey().equals(key)) {
|
if (outBusPanel.getKey().equals(key)) {
|
||||||
return doSelect(outBusPanel);
|
return doSelect(outBusPanel, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return doSelect(null);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -37,16 +37,22 @@ public class DraggablePanel extends JPanel implements MouseListener, MouseMotion
|
|||||||
@Override
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {
|
public void mousePressed(MouseEvent e) {
|
||||||
if (e.getButton() != MouseEvent.BUTTON2) {
|
if (e.getButton() != MouseEvent.BUTTON2) {
|
||||||
svdx = getLocation().x;
|
|
||||||
if (!vertical) {
|
if (!vertical) {
|
||||||
svdex = e.getXOnScreen();
|
svdex = e.getXOnScreen();
|
||||||
}
|
}
|
||||||
svdy = getLocation().y;
|
|
||||||
svdey = e.getYOnScreen();
|
svdey = e.getYOnScreen();
|
||||||
|
saveLocation();
|
||||||
|
diagram.multiStartDrag(this);
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void saveLocation() {
|
||||||
|
svdy = getLocation().y;
|
||||||
|
svdx = getLocation().x;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e) {
|
public void mouseReleased(MouseEvent e) {
|
||||||
}
|
}
|
||||||
@ -71,11 +77,19 @@ public class DraggablePanel extends JPanel implements MouseListener, MouseMotion
|
|||||||
xoffset = e.getLocationOnScreen().x - svdex;
|
xoffset = e.getLocationOnScreen().x - svdex;
|
||||||
}
|
}
|
||||||
int yoffset = e.getLocationOnScreen().y - svdey;
|
int yoffset = e.getLocationOnScreen().y - svdey;
|
||||||
setLocation(Math.max(0, svdx + xoffset), Math.max(0, svdy + yoffset));
|
movePanel(xoffset, yoffset);
|
||||||
|
diagram.multiMove(this, xoffset, yoffset);
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void movePanel(int xoffset, int yoffset) {
|
||||||
|
if (vertical) {
|
||||||
|
xoffset = 0;
|
||||||
|
}
|
||||||
|
setLocation(Math.max(0, svdx + xoffset), Math.max(0, svdy + yoffset));
|
||||||
|
}
|
||||||
|
|
||||||
public Diagram getDiagram() {
|
public Diagram getDiagram() {
|
||||||
return diagram;
|
return diagram;
|
||||||
}
|
}
|
||||||
|
@ -56,23 +56,6 @@ public class NodePanel extends DraggablePanel implements Selectable, PropertyCha
|
|||||||
protected List<String> filePaths = new ArrayList<String>();
|
protected List<String> filePaths = new ArrayList<String>();
|
||||||
protected Shader.ShaderType shaderType;
|
protected Shader.ShaderType shaderType;
|
||||||
|
|
||||||
// private List listeners = Collections.synchronizedList(new LinkedList());
|
|
||||||
//
|
|
||||||
// public void addPropertyChangeListener(PropertyChangeListener pcl) {
|
|
||||||
// listeners.add(pcl);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void removePropertyChangeListener(PropertyChangeListener pcl) {
|
|
||||||
// listeners.remove(pcl);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// protected void fire(String propertyName, Object old, Object nue) {
|
|
||||||
// //Passing 0 below on purpose, so you only synchronize for one atomic call:
|
|
||||||
// PropertyChangeListener[] pcls = (PropertyChangeListener[]) listeners.toArray(new PropertyChangeListener[0]);
|
|
||||||
// for (int i = 0; i < pcls.length; i++) {
|
|
||||||
// pcls[i].propertyChange(new PropertyChangeEvent(this, propertyName, old, nue));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
public enum NodeType {
|
public enum NodeType {
|
||||||
|
|
||||||
Vertex(new Color(220, 220, 70)),//yellow
|
Vertex(new Color(220, 220, 70)),//yellow
|
||||||
@ -201,13 +184,13 @@ public class NodePanel extends DraggablePanel implements Selectable, PropertyCha
|
|||||||
protected void paintComponent(Graphics g1) {
|
protected void paintComponent(Graphics g1) {
|
||||||
Graphics2D g = (Graphics2D) g1;
|
Graphics2D g = (Graphics2D) g1;
|
||||||
Color boderColor = Color.BLACK;
|
Color boderColor = Color.BLACK;
|
||||||
if (diagram.selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
boderColor = Color.WHITE;
|
boderColor = Color.WHITE;
|
||||||
}
|
}
|
||||||
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias!
|
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias!
|
||||||
RenderingHints.VALUE_ANTIALIAS_ON);
|
RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
// Color[] colors = {new Color(0, 0, 0, 0.7f), new Color(0, 0, 0, 0.15f)};
|
// Color[] colors = {new Color(0, 0, 0, 0.7f), new Color(0, 0, 0, 0.15f)};
|
||||||
if (diagram.selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
Color[] colors = new Color[]{new Color(0.6f, 0.6f, 1.0f, 0.8f), new Color(0.6f, 0.6f, 1.0f, 0.5f)};
|
Color[] colors = new Color[]{new Color(0.6f, 0.6f, 1.0f, 0.8f), new Color(0.6f, 0.6f, 1.0f, 0.5f)};
|
||||||
float[] factors = {0f, 1f};
|
float[] factors = {0f, 1f};
|
||||||
g.setPaint(new RadialGradientPaint(getWidth() / 2, getHeight() / 2, getWidth() / 2, factors, colors));
|
g.setPaint(new RadialGradientPaint(getWidth() / 2, getHeight() / 2, getWidth() / 2, factors, colors));
|
||||||
@ -261,7 +244,7 @@ public class NodePanel extends DraggablePanel implements Selectable, PropertyCha
|
|||||||
@Override
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {
|
public void mousePressed(MouseEvent e) {
|
||||||
super.mousePressed(e);
|
super.mousePressed(e);
|
||||||
diagram.select(this);
|
diagram.select(this, e.isShiftDown() || e.isControlDown());
|
||||||
showToolBar();
|
showToolBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -442,9 +425,7 @@ public class NodePanel extends DraggablePanel implements Selectable, PropertyCha
|
|||||||
|
|
||||||
public void delete() {
|
public void delete() {
|
||||||
Diagram diag = getDiagram();
|
Diagram diag = getDiagram();
|
||||||
if (diag.selectedItem == this) {
|
diag.removeSelected();
|
||||||
diag.removeSelectedNode();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void keyReleased(KeyEvent e) {
|
public void keyReleased(KeyEvent e) {
|
||||||
|
@ -110,7 +110,7 @@ public class OutBusPanel extends DraggablePanel implements ComponentListener, Se
|
|||||||
|
|
||||||
Polygon p = new Polygon(xs, ys, 8);
|
Polygon p = new Polygon(xs, ys, 8);
|
||||||
|
|
||||||
if (diagram.selectedItem == this) {
|
if (getDiagram().getSelectedItems().contains(this)) {
|
||||||
int[] xs2 = {0, width - 30, width - 30, width, width - 32, width - 32, 0, 0};
|
int[] xs2 = {0, width - 30, width - 30, width, width - 32, width - 32, 0, 0};
|
||||||
int[] ys2 = {10, 10, 0, getHeight() / 2 + 2, getHeight(), getHeight() - 8, getHeight() - 8, 10};
|
int[] ys2 = {10, 10, 0, getHeight() / 2 + 2, getHeight(), getHeight() - 8, getHeight() - 8, 10};
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ public class OutBusPanel extends DraggablePanel implements ComponentListener, Se
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
super.mousePressed(e);
|
super.mousePressed(e);
|
||||||
diagram.select(this);
|
diagram.select(this, e.isShiftDown() || e.isControlDown());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user