|
@@ -29,13 +29,16 @@ public class NodeView extends JPanel implements AnnimatedView, MouseListener {
|
|
|
private LayeredGraphNode model;
|
|
|
private LayoutType layout;
|
|
|
private JFrame mainView;
|
|
|
+ private int originalWidth;
|
|
|
+ private int originalHeight;
|
|
|
|
|
|
public NodeView( LayeredGraphNode model, LayoutType lt, JFrame mv ) {
|
|
|
mainView = mv;
|
|
|
this.model = model;
|
|
|
layout = lt;
|
|
|
- setSize( (int)model.getWidth( layout ), (int)model.getHeight( layout ) );
|
|
|
addMouseListener( this );
|
|
|
+ originalWidth = (int)model.getWidth( lt );
|
|
|
+ originalHeight = (int)model.getHeight( lt );
|
|
|
}
|
|
|
|
|
|
private synchronized void update()
|
|
@@ -98,6 +101,14 @@ public class NodeView extends JPanel implements AnnimatedView, MouseListener {
|
|
|
return y;
|
|
|
}
|
|
|
|
|
|
+ public int getOriginalWidth() {
|
|
|
+ return originalWidth;
|
|
|
+ }
|
|
|
+
|
|
|
+ public int getOriginalHeight() {
|
|
|
+ return originalHeight;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void doLayout() {
|
|
|
double minX = Double.POSITIVE_INFINITY;
|
|
@@ -118,7 +129,10 @@ public class NodeView extends JPanel implements AnnimatedView, MouseListener {
|
|
|
continue;
|
|
|
AnnimatedView view = (AnnimatedView)c;
|
|
|
c.setLocation( getScaledX( view.getVirtualX() - (int)minX ) + x, getScaledY( view.getVirtualY() ) + y);
|
|
|
- c.setSize( getScaledX( view.getVirtualWidth() ), getScaledY( view.getVirtualHeight() ) );
|
|
|
+ if( c instanceof NodeView )
|
|
|
+ c.setSize( getScaledX( ((NodeView)c).getOriginalWidth() ), getScaledY( ((NodeView)c).getOriginalHeight() ) );
|
|
|
+ else
|
|
|
+ c.setSize( getScaledX( view.getVirtualWidth() ), getScaledY( view.getVirtualHeight() ) );
|
|
|
c.doLayout();
|
|
|
}
|
|
|
}
|