[Nextobjects-devel] nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics Ass
Status: Alpha
Brought to you by:
eflorent
|
From: <efl...@us...> - 2003-06-13 17:23:12
|
Update of /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics
In directory sc8-pr-cvs1:/tmp/cvs-serv21894/src/org/devaki/nextobjects/workspace/models/graphics
Modified Files:
AssociationLinkView.java BaseModelView.java
ConstraintView.java InheritanceLinkView.java
ModelTitleView.java PhysicalView.java
Log Message:
Made very big models a little bit faster.
Index: AssociationLinkView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/AssociationLinkView.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** AssociationLinkView.java 4 Jun 2003 19:29:42 -0000 1.5
--- AssociationLinkView.java 13 Jun 2003 17:23:08 -0000 1.6
***************
*** 101,105 ****
public void paint(Graphics g)
{
! Point p0=((ConceptualView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
Point p1=selectionPoints[0].getPoint();
--- 101,106 ----
public void paint(Graphics g)
{
! //Point p0=((ConceptualView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
! Point p0=myObject.getMyModel().getModelView().jScrollPane.getViewport().getViewPosition();
Point p1=selectionPoints[0].getPoint();
Index: BaseModelView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/BaseModelView.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** BaseModelView.java 8 Jun 2003 09:28:26 -0000 1.2
--- BaseModelView.java 13 Jun 2003 17:23:08 -0000 1.3
***************
*** 145,149 ****
}
! public Image makeImage(int x, int y)
{
Graphics2D big;
--- 145,149 ----
}
! public Image makeImage(Rectangle pRect)
{
Graphics2D big;
***************
*** 152,169 ****
ObjectView[] tmp = getVisibleObjectView();
!
! Rectangle rect;
! calculateRectangle();
! rect = getRectangle();
bi =
(BufferedImage) drawingArea.createImage(
! rect.width,
! rect.height);
big = bi.createGraphics();
big.setColor(CstGraphics.MODEL_BACKGROUND_COLOR);
! big.fillRect(0, 0, rect.width, rect.height);
for (int k = 0; k < tmp.length; k++)
--- 152,167 ----
ObjectView[] tmp = getVisibleObjectView();
! //TODO try getVisibleObjectView(pRect);
! //ObjectView[] tmp = getVisibleObjectView(pRect);
bi =
(BufferedImage) drawingArea.createImage(
! pRect.width,
! pRect.height);
big = bi.createGraphics();
big.setColor(CstGraphics.MODEL_BACKGROUND_COLOR);
! big.fillRect(0, 0, pRect.width, pRect.height);
for (int k = 0; k < tmp.length; k++)
***************
*** 188,193 ****
big.drawImage(
bi2,
! l.x - getRectangle().x,
! l.y - getRectangle().y,
this);
}
--- 186,191 ----
big.drawImage(
bi2,
! l.x - pRect.x,
! l.y - pRect.y,
this);
}
***************
*** 195,212 ****
}
! /*
! bi2 =
! (BufferedImage) drawingArea.createImage(
! modelTitleView.getSize().width,
! modelTitleView.getSize().height);
! bi2g = bi2.createGraphics();
! modelTitleView.paint(bi2g);
!
! big.drawImage(
! bi2,
! modelTitleView.getLocation().x - getRectangle().x,
! modelTitleView.getLocation().y - getRectangle().y,
! this);
! */
return bi;
}
--- 193,197 ----
}
!
return bi;
}
***************
*** 220,233 ****
BufferedImage bi2;
Graphics2D bi2g;
if (fullRefresh)
{
bi =
! (BufferedImage) makeImage(getRectangle().height,
! getRectangle().width);
fullRefresh = false;
}
! g2.drawImage(bi, getRectangle().x, getRectangle().y, this);
// loop/paint selected objects objects toviewPort panel.
--- 205,219 ----
BufferedImage bi2;
Graphics2D bi2g;
+ Rectangle rect=jScrollPane.getViewport().getViewRect();
+
if (fullRefresh)
{
bi =
! (BufferedImage) makeImage(rect);
fullRefresh = false;
}
! g2.drawImage(bi, rect.x, rect.y, this);
// loop/paint selected objects objects toviewPort panel.
***************
*** 266,271 ****
Graphics tmpClip =
g2.create(
! getRectangle().x,
! getRectangle().y,
getViewSize().width,
getViewSize().height);
--- 252,257 ----
Graphics tmpClip =
g2.create(
! rect.x,
! rect.y,
getViewSize().width,
getViewSize().height);
***************
*** 327,331 ****
rectangle = calculateRectangle();
}
!
if (rectangle.x == 999990)
{
--- 313,317 ----
rectangle = calculateRectangle();
}
!
if (rectangle.x == 999990)
{
Index: ConstraintView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/ConstraintView.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** ConstraintView.java 4 Jun 2003 19:29:42 -0000 1.9
--- ConstraintView.java 13 Jun 2003 17:23:08 -0000 1.10
***************
*** 75,79 ****
public void paint(Graphics g)
{
! Point p0=((PhysicalView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
--- 75,80 ----
public void paint(Graphics g)
{
! //Point p0=((PhysicalView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
! Point p0=myObject.getMyModel().getModelView().jScrollPane.getViewport().getViewPosition();
Index: InheritanceLinkView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/InheritanceLinkView.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** InheritanceLinkView.java 4 Jun 2003 19:29:42 -0000 1.8
--- InheritanceLinkView.java 13 Jun 2003 17:23:08 -0000 1.9
***************
*** 68,72 ****
{
! Point p0=((BaseModelView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
Point p1 = selectionPoints[0].getPoint();
--- 68,73 ----
{
! //Point p0=((BaseModelView)myObject.getMyModel().getPanel()).getRectangle().getLocation();
! Point p0=myObject.getMyModel().getModelView().jScrollPane.getViewport().getViewPosition();
Point p1 = selectionPoints[0].getPoint();
Index: ModelTitleView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/ModelTitleView.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ModelTitleView.java 9 Jun 2003 19:06:07 -0000 1.2
--- ModelTitleView.java 13 Jun 2003 17:23:08 -0000 1.3
***************
*** 40,44 ****
/**
* Constructor
! * @param pLabel a dummy label who give a context
*/
public ModelTitleView(ModelTitle pObject)
--- 40,44 ----
/**
* Constructor
! * @param pObject the model title
*/
public ModelTitleView(ModelTitle pObject)
Index: PhysicalView.java
===================================================================
RCS file: /cvsroot/nextobjects/nextobjects/nextobjects/src/org/devaki/nextobjects/workspace/models/graphics/PhysicalView.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** PhysicalView.java 8 Jun 2003 09:28:27 -0000 1.22
--- PhysicalView.java 13 Jun 2003 17:23:08 -0000 1.23
***************
*** 21,28 ****
import java.io.Serializable;
- import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
- import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Color;
--- 21,26 ----
***************
*** 30,41 ****
import java.awt.Polygon;
import java.awt.Rectangle;
- import java.awt.image.BufferedImage;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
import javax.swing.event.MouseInputAdapter;
- import javax.swing.event.ChangeListener;
- import javax.swing.event.ChangeEvent;
import org.devaki.nextobjects.constants.CstGraphics;
import org.devaki.nextobjects.ui.menus.ModelPopupMenu;
--- 28,34 ----
***************
*** 75,225 ****
super(theDatabase);
this.setVisible(true);
-
- /** Components **/
- // Main Panel
- this.setLayout(new BorderLayout());
- // Construct the drawing area
- drawingArea = new JPanel()
- {
- /**
- * Draw all components
- * @param g the graphics
- */
- public void paint(Graphics g)
- {
- update(g);
- }
-
- public BufferedImage makeImage(int x,int y)
- {
- // collect our objects.
- Graphics2D big;
- BufferedImage bi2;
- Graphics2D bi2g;
-
- ObjectView[] tmp = getVisibleObjectView();
-
- Rectangle rect;
- calculateRectangle();
- rect = getRectangle();
-
-
- bi=(BufferedImage) drawingArea.createImage(rect.width,rect.height);
-
- big = bi.createGraphics();
-
- big.setColor(CstGraphics.MODEL_BACKGROUND_COLOR);
- big.fillRect(0, 0, rect.width, rect.height);
-
- for (int k = 0; k < tmp.length; k++)
- {
- // Clears the rectangle that was previously drawn.
- Dimension d = tmp[k].getSize();
- Point l = tmp[k].getLocation();
-
- if (tmp[k] instanceof LineView)
- {
- tmp[k].paint(big);
- } else
- { // classview ?!
- if (d.height > 0 && d.width > 0)
- {
- bi2 =(BufferedImage)drawingArea.createImage(d.width,d.height);
- bi2g = bi2.createGraphics();
- tmp[k].paint(bi2g);
- big.drawImage(
- bi2,
- l.x - getRectangle().x,
- l.y - getRectangle().y,
- this);
- }
- }
- }
- return bi;
- }
-
- public void update(Graphics g)
- {
- Graphics2D g2 = (Graphics2D) g;
- // blank fill, clean ...
- super.paintComponent(g2);
- //Rectangle area;
- BufferedImage bi2;
- Graphics2D bi2g;
-
- if (fullRefresh)
- {
- bi = (BufferedImage) makeImage(getRectangle().height,getRectangle().width);
- fullRefresh = false;
- }
-
- g2.drawImage(bi,getRectangle().x, getRectangle().y,this);
-
- // loop/paint selected objects objects toviewPort panel.
- for (int j = 0; j < ModelMan.getCurrentObjects().size(); j++)
- {
- ObjectView tmpObjectView =
- ((BaseObject) ModelMan
- .getCurrentObjects()
- .elementAt(j))
- .getObjectView();
- Dimension d2 = tmpObjectView.getSize();
- Point p2 = tmpObjectView.getLocation();
-
- if (tmpObjectView instanceof ClassView)
- {
- g2.setColor(CstGraphics.MODEL_BACKGROUND_COLOR);
- Rectangle r =
- ((ClassView) tmpObjectView).getOldrectangle();
- g2.fillRect(r.x, r.y, r.width, r.height);
- bi2 =
- (BufferedImage) drawingArea.createImage(
- d2.width,
- d2.height);
- bi2g = bi2.createGraphics();
- tmpObjectView.paint(bi2g);
-
- ((BaseObject) ModelMan
- .getCurrentObjects()
- .elementAt(j))
- .getObjectView()
- .paint(
- bi2g);
- g2.drawImage(bi2, p2.x, p2.y, this);
- } else
- {
- Graphics tmpClip =g2.create(getRectangle().x,
- getRectangle().y,
- getViewSize().width,
- getViewSize().height);
- }
- ((BaseObject) ModelMan.getCurrentObjects().elementAt(j)).getObjectView().renderSelected(g);
- }
- }
- };
- // Define the color of the background
- this.drawingArea.setBackground(CstGraphics.MODEL_BACKGROUND_COLOR);
- this.drawingArea.setPreferredSize(CstGraphics.MODEL_DIMENSION);
-
// Mouse Listeners
this.drawingArea.addMouseListener(new MyMouseListener());
this.drawingArea.addMouseMotionListener(new MyMouseMotionListener());
!
! // Assembling components
! this.jScrollPane = new JScrollPane(this.drawingArea);
! this.add(jScrollPane, BorderLayout.CENTER);
!
! // Initialize scrolling position
! jScrollPane.getViewport().setViewPosition(
! CstGraphics.MODEL_INITIAL_POSITION);
!
! //will update the buffered image in case viewport have changed.
! this.jScrollPane.getViewport().addChangeListener(new ChangeListener()
! {
! public void stateChanged(ChangeEvent e)
! {
! fullRefresh = true;
! }
! });
}
--- 68,75 ----
super(theDatabase);
this.setVisible(true);
// Mouse Listeners
this.drawingArea.addMouseListener(new MyMouseListener());
this.drawingArea.addMouseMotionListener(new MyMouseMotionListener());
!
}
***************
*** 903,907 ****
* @return the objects views
*/
! public ObjectView[] getVisibleObjectView() {
ObjectView[] b =
new ObjectView[((PhysicalModel)myModel).getInheritanceLinks().size()
--- 753,758 ----
* @return the objects views
*/
! public ObjectView[] getVisibleObjectView()
! {
ObjectView[] b =
new ObjectView[((PhysicalModel)myModel).getInheritanceLinks().size()
|