Merge pull request #34 from bkuker/kruland-integration-unselect
Unselect component when figure is clicked outside the rocket
This commit is contained in:
commit
31f620d1bd
@ -267,13 +267,17 @@ public class RocketFigure3d extends JPanel implements GLEventListener {
|
||||
gl.glDisable(GLLightingFunc.GL_LIGHTING);
|
||||
final RocketComponent picked = rr.pick(drawable, configuration,
|
||||
pickPoint, pickEvent.isShiftDown() ? selection : null);
|
||||
if (csl != null && picked != null) {
|
||||
if (csl != null) {
|
||||
final MouseEvent e = pickEvent;
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
csl.componentClicked(new RocketComponent[] { picked },
|
||||
e);
|
||||
if ( picked == null ){
|
||||
log.debug("unselecting");
|
||||
csl.componentClicked(new RocketComponent[] { }, e);
|
||||
} else {
|
||||
csl.componentClicked(new RocketComponent[] { picked }, e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -530,8 +530,10 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
||||
private void handleComponentClick(RocketComponent[] clicked, MouseEvent event){
|
||||
|
||||
// If no component is clicked, do nothing
|
||||
if (clicked.length == 0)
|
||||
if (clicked.length == 0){
|
||||
selectionModel.setSelectionPath(null);
|
||||
return;
|
||||
}
|
||||
|
||||
// Check whether the currently selected component is in the clicked components.
|
||||
TreePath path = selectionModel.getSelectionPath();
|
||||
@ -827,6 +829,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
||||
TreePath[] paths = selectionModel.getSelectionPaths();
|
||||
if (paths == null) {
|
||||
figure.setSelection(null);
|
||||
figure3d.setSelection(null);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user