Horus Doc || Java GUI Reference || Doxygen's quick Index  

CanvasViewer Class Reference

The root of the viewer class hierarchy (still under construction). More...

Inheritance diagram for CanvasViewer::

CanvasInspectionUser CanvasEditUser BasicViewer Histogram3dViewer ScribbleViewer ThumbnailViewer List of all members.

Public Methods

 CanvasViewer ()
 Constructor. More...

int getViewerID ()
 Get the ID of this viewer. More...

int getMode ()
 Get the viewer mode (see class ViewerMode). More...

int getSubMode ()
 Get the viewer sub-mode (see class ViewerMode). More...

void setMode (int mode, int subMode)
 Set the viewer mode (see class ViewerMode). More...

boolean isEnabledMode (int mode)
 Check whether the given viewer mode (see class ViewerMode) is enabled. More...

void setEnableMode (int mode, boolean b)
 Set whether the given viewer mode (see class ViewerMode) is enabled. More...

Color getDefaultDrawColor ()
 Get the default drawing color of this viewer. More...

void setDefaultDrawColor (Color c)
 Set the default drawing color of this viewer. More...

Color getBackgroundColor ()
 Get the background color of this viewer. More...

void setBackgroundColor (Color c)
 Set the background color of this viewer. More...

void addViewerInspectionListener (ViewerInspectionListener l)
 Add a viewer inspection listener. More...

void removeViewerInspectionListener (ViewerInspectionListener l)
 Remove a viewer inspection listener. More...

void addViewerEditListener (ViewerEditListener l)
 Add a viewer edit listener. More...

void removeViewerEditListener (ViewerEditListener l)
 Remove a viewer edit listener. More...

void doRefresh ()
 Repaint the viewer by repainting its canvas. More...

void doClear ()
 Clear the canvas. More...

void doPan (double relX, double relY)
 Pan to the given position, coordinates between 0 and 1. More...

void doZoom (double zoomVal)
 Zoom to the given factor. More...

double getZoomFactor ()
 Get zoom factor. More...

BufferedImage toImage ()
 Render the canvas of the viewer in an image. More...

BufferedImage toImage (int width, int height)
 Render the canvas of the viewer in an image. More...

int addObject (CanvasObject obj)
 Add a CanvasObject to the viewer. More...

CanvasObject getObject (int objID)
 Get the CanvasObject with the given ID from the editor. More...

CanvasObject getObjectCopy (int objID, boolean ics)
 Get a copy of the CanvasObject with the given ID from the editor. More...

CanvasObject getObject (String objName)
 Get the CanvasObject with the given name from the visualizer. More...

void removeObject (int objID)
 Remove given object from the editor. More...

void removeObject (String objName)
 Remove given object from the visualizer. More...

void removeAllObjects ()
 Remove all objects. More...

void canvasEntered (Object canvas, double x, double y)
 Implementation of CanvasInspectionUser. More...

void canvasExited (Object canvas)
 Implementation of CanvasInspectionUser. More...

void canvasSelected (Object canvas, double x, double y)
 Implementation of CanvasInspectionUser. More...

void objectEntered (Object canvas, CanvasObject cObj, int objID, double x, double y)
 Implementation of CanvasInspectionUser. More...

void objectProbed (Object canvas, CanvasObject cObj, int objID, double x, double y)
 Implementation of CanvasInspectionUser. More...

void objectSelected (Object canvas, CanvasObject cObj, int objID, double x, double y)
 Implementation of CanvasInspectionUser. More...

void objectCreated (Object canvas, CanvasObject cObj, int objID)
 Implementation of CanvasEditUser. More...

void objectDeleted (Object canvas, CanvasObject cObj, int objID)
 Implementation of CanvasEditUser. More...

void objectMoved (Object canvas, CanvasObject cObj, int objID)
 Implementation of CanvasEditUser. More...

void objectResized (Object canvas, CanvasObject cObj, int objID)
 Implementation of CanvasEditUser. More...

void objectReshaped (Object canvas, CanvasObject cObj, int objID, int point)
 Implementation of CanvasEditUser. More...

void objectChangedVisually (Object canvas, CanvasObject cObj, int objID, String prop)
 Implementation of CanvasEditUser. More...


Static Public Attributes

final Color STD_BCOLOR = IcsCanvas.STD_BCOLOR
 The standard background color. More...

final Color STD_DCOLOR = IcsCanvas.STD_DCOLOR
 The standard drawing color. More...

final int SCROLL_NEVER = 0
 Never use scrollbars. More...

final int SCROLL_ALWAYS = 1
 Always use scrollbars. More...

final int SCROLL_AS_NEEDED = 2
 Use scrollbars when needed. More...


Protected Methods

void initScrollPane (int scrollers)
 Will initialize the ScrollPane with a single canvas (\_editor) or a LayeredCanvasPane with \_editor, etc. More...


Protected Attributes

int _viewerID = 0
JScrollPane _scrollPane = null
boolean _singleCanvas = false
ActiveCanvas _editor = null
VisCanvas _visualizer = null
Vector _inspListeners = new Vector()
Vector _editListeners = new Vector()

Detailed Description

The root of the viewer class hierarchy (still under construction).

The basic CanvasViewer contains two IcsCanvas's put on top of eachother. The upper canvas is called the editor and allows the user to "scribble" in the viewer. The lower canvas is called the visualizer and allows for visualization of C++ objects that are known to the mediator, i.e. they are StringAddressable. These object are not editable. Each canvas puts instances of CanvasFigure on top of instances of CanvasImage as they would otherwise not be visisble. This results in the following layered structure (with the highest number on top): 4) CanvasFigure (s) : getInputSource() == INP\_USER 3) CanvasImage (s) : getInputSource() == INP\_USER 2) CanvasFigure (s) : getInputSource() == INP\_SASYSTEM 1) CanvasImage (s) : getInputSource() == INP\_SASYSTEM


Constructor & Destructor Documentation

CanvasViewer::CanvasViewer   [inline]
 

Constructor.

00067 {
00068     _viewerID = _curViewerID;
00069     _curViewerID++;
00070 }


Member Function Documentation

int CanvasViewer::getViewerID   [inline]
 

Get the ID of this viewer.

00076 {
00077     return _viewerID;
00078 }

int CanvasViewer::getMode   [inline]
 

Get the viewer mode (see class ViewerMode).

Not all viewers actually respond to this.

00085 {
00086     if (_editor != null)
00087         return _editor.getMode();
00088     if (_visualizer != null)
00089         return ViewerMode.SELECT;
00090     return -1;
00091 }

int CanvasViewer::getSubMode   [inline]
 

Get the viewer sub-mode (see class ViewerMode).

Not all viewers actually respond to this.

00098 {
00099     if (_editor != null)
00100         return _editor.getSubMode();
00101 //    if (_visualizer != null)
00102 //        return _visualizer.getSubMode();
00103     return -1;
00104 }

void CanvasViewer::setMode int    mode,
int    subMode
[inline]
 

Set the viewer mode (see class ViewerMode).

Not all viewers actually respond to this.

Reimplemented in ScribbleViewer.

00111 {
00112     if (_editor != null)
00113         _editor.setMode(mode, subMode);
00114 //    if (_visualizer != null)
00115 //        _visualizer.setMode(mode, subMode);
00116 }

boolean CanvasViewer::isEnabledMode int    mode [inline]
 

Check whether the given viewer mode (see class ViewerMode) is enabled.

Not all viewers actually respond to this.

Reimplemented in ScribbleViewer.

00123 {
00124     return true;
00125 }

void CanvasViewer::setEnableMode int    mode,
boolean    b
[inline]
 

Set whether the given viewer mode (see class ViewerMode) is enabled.

Not all viewers actually respond to this.

Reimplemented in ScribbleViewer.

00132 {
00133 }

Color CanvasViewer::getDefaultDrawColor   [inline]
 

Get the default drawing color of this viewer.

00139 {
00140     if (_editor != null)
00141         return _editor.getDefaultDrawColor();
00142     if (_visualizer != null)
00143         return _visualizer.getDefaultDrawColor();
00144     return null;
00145 }

void CanvasViewer::setDefaultDrawColor Color    c [inline]
 

Set the default drawing color of this viewer.

00151 {
00152     if (_editor != null)
00153         _editor.setDefaultDrawColor(c);
00154     if (_visualizer != null)
00155         _visualizer.setDefaultDrawColor(c);
00156 }

Color CanvasViewer::getBackgroundColor   [inline]
 

Get the background color of this viewer.

00162 {
00163     if (_editor != null)
00164         return _editor.getBackgroundColor();
00165     if (_visualizer != null)
00166         return _visualizer.getBackgroundColor();
00167     return null;
00168 }

void CanvasViewer::setBackgroundColor Color    c [inline]
 

Set the background color of this viewer.

Will also repaint the viewer.

00175 {
00176     if (_editor != null)
00177         _editor.setBackgroundColor(c);
00178     if (_visualizer != null)
00179         _visualizer.setBackgroundColor(c);
00180     repaint();
00181 }

void CanvasViewer::addViewerInspectionListener ViewerInspectionListener    l [inline]
 

Add a viewer inspection listener.

00187 {
00188     _inspListeners.addElement(l);
00189 }

void CanvasViewer::removeViewerInspectionListener ViewerInspectionListener    l [inline]
 

Remove a viewer inspection listener.

00195 {
00196     _inspListeners.removeElement(l);
00197 }

void CanvasViewer::addViewerEditListener ViewerEditListener    l [inline]
 

Add a viewer edit listener.

00203 {
00204     _editListeners.addElement(l);
00205 }

void CanvasViewer::removeViewerEditListener ViewerEditListener    l [inline]
 

Remove a viewer edit listener.

00211 {
00212     _editListeners.removeElement(l);
00213 }

void CanvasViewer::doRefresh   [inline]
 

Repaint the viewer by repainting its canvas.

00219 {
00220     if (_editor != null)
00221         _editor.repaint();
00222     if (_visualizer != null)
00223         _visualizer.repaint();
00224 }

void CanvasViewer::doClear   [inline]
 

Clear the canvas.

Sets the zoom factor to 1.0 and removes all objects from the canvas, Clearing will fit the canvas to the size of the viewport.

Reimplemented in ScribbleViewer.

00232 {
00233 if (IcsCanvas.DEBUG_LAYOUT)
00234 OutputStreamArea.println("CanvasViewer.doClear");
00235     if (_editor != null) {
00236         _editor.zoom(IcsCanvas.STD_ZOOM);
00237         _editor.clear();
00238     }
00239     if (_visualizer != null) {
00240         _visualizer.zoom(IcsCanvas.STD_ZOOM);
00241         _visualizer.clear();
00242     }
00243 }

void CanvasViewer::doPan double    relX,
double    relY
[inline]
 

Pan to the given position, coordinates between 0 and 1.

00249 {
00250 if (IcsCanvas.DEBUG_LAYOUT)
00251 OutputStreamArea.println("CanvasViewer.doPan");
00252     int halfScrollerWidth  = _scrollPane.getViewport().getExtentSize().width / 2;
00253     int halfScrollerHeight = _scrollPane.getViewport().getExtentSize().height / 2;
00254     int canvWidth = 0;
00255     int canvHeight = 0;
00256     if (_editor != null) {
00257         canvWidth = _editor.getDimensionCCS().width;
00258         canvHeight = _editor.getDimensionCCS().height;
00259     }
00260     if (_visualizer != null) {
00261         canvWidth = _visualizer.getDimensionCCS().width;
00262         canvHeight = _visualizer.getDimensionCCS().height;
00263     }
00264     int x = (int)(relX * canvWidth - halfScrollerWidth);
00265     int y = (int)(relY * canvHeight - halfScrollerHeight);
00266     _scrollPane.getViewport().setViewPosition(new Point(x, y));
00267     repaint();
00268 }

void CanvasViewer::doZoom double    zoomVal [inline]
 

Zoom to the given factor.

Reimplemented in ScribbleViewer.

00274 {
00275 if (IcsCanvas.DEBUG_LAYOUT)
00276 OutputStreamArea.println("CanvasViewer.doZoom");
00277     // Calculate relative viewport coordinates.
00278 
00279     double curW = 0;
00280     double curH = 0;
00281     if (_editor != null) {
00282         curW = (double) (_editor.getDimensionCCS().width);
00283         curH = (double) (_editor.getDimensionCCS().height);
00284     }
00285     if (_visualizer != null) {
00286         curW = (double) (_visualizer.getDimensionCCS().width);
00287         curH = (double) (_visualizer.getDimensionCCS().height);
00288     }
00289     Point pos              = _scrollPane.getViewport().getViewPosition();
00290     int halfScrollerWidth  = _scrollPane.getViewport().getExtentSize().width / 2;
00291     int halfScrollerHeight = _scrollPane.getViewport().getExtentSize().height / 2;
00292     double relX            = (pos.x + halfScrollerWidth) / curW ;
00293     double relY            = (pos.y + halfScrollerHeight) / curH;
00294 
00295     if (_editor != null)
00296         _editor.zoom(zoomVal);
00297     if (_visualizer != null)
00298         _visualizer.zoom(zoomVal);
00299 
00300     // Pan according to relative coordinates in order to keep
00301     // previously visible part within viewport.
00302 
00303     if (zoomVal <= IcsCanvas.STD_ZOOM) {
00304 //        doPan(0, 0);
00305         _scrollPane.getViewport().setViewPosition(new Point(0, 0));
00306         repaint(); // doPan does not repaint if already at (0,0)
00307     } else {
00308         doPan(relX, relY);
00309 //        doPan((int)(relX * canvas.getDimensionCCS().width - halfScrollerWidth),
00310 //              (int)(relY * canvas.getDimensionCCS().height - halfScrollerHeight));
00311     }
00312 }

double CanvasViewer::getZoomFactor   [inline]
 

Get zoom factor.

00318 {
00319     if (_editor != null)
00320         return _editor.getZoomFactor();
00321     if (_visualizer != null)
00322         return _visualizer.getZoomFactor();
00323     return IcsCanvas.STD_ZOOM;
00324 }

BufferedImage CanvasViewer::toImage   [inline]
 

Render the canvas of the viewer in an image.

The size of the image will match the extent of the ICS. The rendering is done at the current zoom.

00332 {
00333     int icsWidth = 0;
00334     int icsHeight = 0;
00335     if (_editor != null) {
00336         icsWidth = _editor.getDimensionICS().width;
00337         icsHeight = _editor.getDimensionICS().height;
00338     }
00339     if (_visualizer != null) {
00340         icsWidth = _visualizer.getDimensionICS().width;
00341         icsHeight = _visualizer.getDimensionICS().height;
00342     }
00343     return toImage(icsWidth, icsHeight);
00344 }

BufferedImage CanvasViewer::toImage int    width,
int    height
[inline]
 

Render the canvas of the viewer in an image.

The size of the image will be width x height. The rendering is done at the current zoom.

00352 {
00353     int ccsWidth = 0;
00354     int ccsHeight = 0;
00355     if (_editor != null) {
00356         ccsWidth = _editor.getDimensionCCS().width;
00357         ccsHeight = _editor.getDimensionCCS().height;
00358     }
00359     if (_visualizer != null) {
00360         ccsWidth = _visualizer.getDimensionCCS().width;
00361         ccsHeight = _visualizer.getDimensionCCS().height;
00362     }
00363 
00364     BufferedImage bufImage = new BufferedImage(width, height,
00365                                                BufferedImage.TYPE_INT_ARGB);
00366     Graphics2D bufGraphics = bufImage.createGraphics();
00367     double sx = (double) width / ccsWidth;
00368     double sy = (double) height / ccsHeight;
00369     bufGraphics.scale(sx, sy);
00370 
00371     if (_visualizer != null)
00372         _visualizer.doPaintComponent(bufGraphics);
00373     if (_editor != null)
00374         _editor.doPaintComponent(bufGraphics);
00375 
00376     return bufImage;
00377 }

int CanvasViewer::addObject CanvasObject    obj [inline]
 

Add a CanvasObject to the viewer.

If the input source of the object equals INP\_SASYSTEM the object will be put on the visualizer. Otherwise, it will be put on the editor. Returns the id of the object. The id is the preferred way to access objects in an editor as direct references to objects may become invalid due to internal activities of the editor. As the visualizer does not change the CanvasObject it is save to keep references to objects in a visualizer.

Reimplemented in Histogram3dViewer, and ThumbnailViewer.

00390 {
00391 if (IcsCanvas.DEBUG_LAYOUT)
00392 OutputStreamArea.println("CanvasViewer.addObject");
00393     if (obj.getInputSource() == CanvasObject.INP_SASYSTEM) {
00394         if (_visualizer != null)
00395             return _visualizer.addObject(obj);
00396     } else {
00397         if (_editor != null)
00398             return _editor.addObject(obj);
00399     }
00400     return -1;
00401 }

CanvasObject CanvasViewer::getObject int    objID [inline]
 

Get the CanvasObject with the given ID from the editor.

00407 {
00408     if (_editor != null)
00409         return _editor.getObject(objID);
00410     return null;
00411 }

CanvasObject CanvasViewer::getObjectCopy int    objID,
boolean    ics
[inline]
 

Get a copy of the CanvasObject with the given ID from the editor.

00417 {
00418     if (_editor != null)
00419         return _editor.getObjectCopy(objID, ics);
00420     return null;
00421 }

CanvasObject CanvasViewer::getObject String    objName [inline]
 

Get the CanvasObject with the given name from the visualizer.

00427 {
00428     if (_visualizer != null)
00429         return _visualizer.getObject(objName);
00430     return null;
00431 }

void CanvasViewer::removeObject int    objID [inline]
 

Remove given object from the editor.

00437 {
00438     if (_editor != null)
00439         _editor.removeObject(objID);
00440 }

void CanvasViewer::removeObject String    objName [inline]
 

Remove given object from the visualizer.

00446 {
00447     if (_visualizer != null)
00448         _visualizer.removeObject(objName);
00449 }

void CanvasViewer::removeAllObjects   [inline]
 

Remove all objects.

00455 {
00456     if (_editor != null)
00457         _editor.removeAllObjects();
00458     if (_visualizer != null)
00459         _visualizer.removeAllObjects();
00460 }

void CanvasViewer::canvasEntered Object    canvas,
double    x,
double    y
[inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00469 {
00470     ViewerEvent ve = new ViewerEvent(canvas, this, null, -1, x, y);
00471     ve.setCanvasType(getCanvasType(canvas));
00472     Vector list;
00473     synchronized (this) {
00474         list = (Vector) _inspListeners.clone();
00475     }
00476     for (int i=0; i < list.size(); i++)
00477         ((ViewerInspectionListener) list.elementAt(i)).viewerEntered(ve);
00478 }

void CanvasViewer::canvasExited Object    canvas [inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00484 {
00485     ViewerEvent ve = new ViewerEvent(canvas, this, null, -1, -1., -1.);
00486     ve.setCanvasType(getCanvasType(canvas));
00487     Vector list;
00488     synchronized (this) {
00489         list = (Vector) _inspListeners.clone();
00490     }
00491     for (int i=0; i < list.size(); i++)
00492         ((ViewerInspectionListener) list.elementAt(i)).viewerExited(ve);
00493 }

void CanvasViewer::canvasSelected Object    canvas,
double    x,
double    y
[inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00499 {
00500     ViewerEvent ve = new ViewerEvent(canvas, this, null, -1, x, y);
00501     ve.setCanvasType(getCanvasType(canvas));
00502     Vector list;
00503     synchronized (this) {
00504         list = (Vector) _inspListeners.clone();
00505     }
00506     for (int i=0; i < list.size(); i++)
00507         ((ViewerInspectionListener) list.elementAt(i)).viewerSelected(ve);
00508 }

void CanvasViewer::objectEntered Object    canvas,
CanvasObject    cObj,
int    objID,
double    x,
double    y
[inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00515 {
00516     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, x, y);
00517     ve.setCanvasType(getCanvasType(canvas));
00518     Vector list;
00519     synchronized (this) {
00520         list = (Vector) _inspListeners.clone();
00521     }
00522     for (int i=0; i < list.size(); i++)
00523         ((ViewerInspectionListener) list.elementAt(i)).objectEntered(ve);
00524 }

void CanvasViewer::objectProbed Object    canvas,
CanvasObject    cObj,
int    objID,
double    x,
double    y
[inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00531 {
00532     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, x, y);
00533     ve.setCanvasType(getCanvasType(canvas));
00534     Vector list;
00535     synchronized (this) {
00536         list = (Vector) _inspListeners.clone();
00537     }
00538     for (int i=0; i < list.size(); i++)
00539         ((ViewerInspectionListener) list.elementAt(i)).objectProbed(ve);
00540 }

void CanvasViewer::objectSelected Object    canvas,
CanvasObject    cObj,
int    objID,
double    x,
double    y
[inline]
 

Implementation of CanvasInspectionUser.

Reimplemented from CanvasInspectionUser.

00547 {
00548     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, x, y);
00549     ve.setCanvasType(getCanvasType(canvas));
00550     Vector list;
00551     synchronized (this) {
00552         list = (Vector) _inspListeners.clone();
00553     }
00554     for (int i=0; i < list.size(); i++)
00555         ((ViewerInspectionListener) list.elementAt(i)).objectSelected(ve);
00556 }

void CanvasViewer::objectCreated Object    canvas,
CanvasObject    cObj,
int    objID
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00565 {
00566     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00567     ve.setCanvasType(getCanvasType(canvas));
00568     Vector list;
00569     synchronized (this) {
00570         list = (Vector)_editListeners.clone();
00571     }
00572     for (int i=0; i < list.size(); i++)
00573         ((ViewerEditListener)list.elementAt(i)).objectCreated(ve);
00574 }

void CanvasViewer::objectDeleted Object    canvas,
CanvasObject    cObj,
int    objID
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00580 {
00581     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00582     ve.setCanvasType(getCanvasType(canvas));
00583     Vector list;
00584     synchronized (this) {
00585         list = (Vector)_editListeners.clone();
00586     }
00587     for (int i=0; i < list.size(); i++)
00588         ((ViewerEditListener)list.elementAt(i)).objectDeleted(ve);
00589 }

void CanvasViewer::objectMoved Object    canvas,
CanvasObject    cObj,
int    objID
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00595 {
00596     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00597     ve.setCanvasType(getCanvasType(canvas));
00598     Vector list;
00599     synchronized (this) {
00600         list = (Vector)_editListeners.clone();
00601     }
00602     for (int i=0; i < list.size(); i++)
00603         ((ViewerEditListener)list.elementAt(i)).objectMoved(ve);
00604 }

void CanvasViewer::objectResized Object    canvas,
CanvasObject    cObj,
int    objID
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00610 {
00611     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00612     ve.setCanvasType(getCanvasType(canvas));
00613     Vector list;
00614     synchronized (this) {
00615         list = (Vector)_editListeners.clone();
00616     }
00617     for (int i=0; i < list.size(); i++)
00618         ((ViewerEditListener)list.elementAt(i)).objectResized(ve);
00619 }

void CanvasViewer::objectReshaped Object    canvas,
CanvasObject    cObj,
int    objID,
int    point
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00626 {
00627     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00628     ve.setCanvasType(getCanvasType(canvas));
00629     ve.setPoint(point);
00630     Vector list;
00631     synchronized (this) {
00632         list = (Vector)_editListeners.clone();
00633     }
00634     for (int i=0; i < list.size(); i++)
00635         ((ViewerEditListener)list.elementAt(i)).objectReshaped(ve);
00636 }

void CanvasViewer::objectChangedVisually Object    canvas,
CanvasObject    cObj,
int    objID,
String    prop
[inline]
 

Implementation of CanvasEditUser.

Reimplemented from CanvasEditUser.

00643 {
00644     ViewerEvent ve = new ViewerEvent(canvas, this, cObj, objID, -1, -1);
00645     ve.setCanvasType(getCanvasType(canvas));
00646     ve.setProp(prop);
00647     Vector list;
00648     synchronized (this) {
00649         list = (Vector)_editListeners.clone();
00650     }
00651     for (int i=0; i < list.size(); i++)
00652         ((ViewerEditListener)list.elementAt(i)).objectChangedVisually(ve);
00653 }

void CanvasViewer::initScrollPane int    scrollers [inline, protected]
 

Will initialize the ScrollPane with a single canvas (\_editor) or a LayeredCanvasPane with \_editor, etc.

00667 {
00668     switch (scrollers) {
00669         case SCROLL_NEVER  :
00670         /* Generates an exception ??? DK
00671             _scrollPane = new JScrollPane(
00672                         JScrollPane.HORIZONTAL_SCROLLBAR_NEVER,
00673                         JScrollPane.VERTICAL_SCROLLBAR_NEVER);
00674         */
00675             _scrollPane = new JScrollPane();
00676             _scrollPane.setHorizontalScrollBarPolicy(
00677                                 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
00678             _scrollPane.setVerticalScrollBarPolicy(
00679                                 JScrollPane.VERTICAL_SCROLLBAR_NEVER);
00680             break;
00681         case SCROLL_ALWAYS :
00682         /* Generates an exception ??? DK
00683             _scrollPane = new JScrollPane(
00684                         JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS,
00685                         JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
00686         */
00687             _scrollPane = new JScrollPane();
00688             _scrollPane.setHorizontalScrollBarPolicy(
00689                                 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
00690             _scrollPane.setVerticalScrollBarPolicy(
00691                                 JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
00692             break;
00693         default            :
00694             _scrollPane = new JScrollPane(
00695                         JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED,
00696                         JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
00697             break;
00698     }
00699 
00700     _scrollPane.getHorizontalScrollBar().setUnitIncrement(10);
00701     _scrollPane.getVerticalScrollBar().setUnitIncrement(10);
00702 
00703     if (_singleCanvas) {
00704         if (_editor != null)
00705             _scrollPane.setViewportView(_editor);
00706         else
00707             _scrollPane.setViewportView(_visualizer);
00708     }
00709     else  // Warning: this will prevent the sending of events!
00710         _scrollPane.setViewportView(new LayeredCanvasPane(_editor, _visualizer));
00711     _scrollPane.getViewport().addChangeListener(new ChangeListener() {
00712             public void stateChanged(ChangeEvent e) {
00713                 if (_editor != null)
00714                     _editor.checkViewportSize(_scrollPane.getViewport().getExtentSize());
00715                 if (_visualizer != null)
00716                     _visualizer.checkViewportSize(_scrollPane.getViewport().getExtentSize());
00717             }});
00718 }


Member Data Documentation

final Color CanvasViewer::STD_BCOLOR = IcsCanvas.STD_BCOLOR [static]
 

The standard background color.

final Color CanvasViewer::STD_DCOLOR = IcsCanvas.STD_DCOLOR [static]
 

The standard drawing color.

final int CanvasViewer::SCROLL_NEVER = 0 [static]
 

Never use scrollbars.

final int CanvasViewer::SCROLL_ALWAYS = 1 [static]
 

Always use scrollbars.

final int CanvasViewer::SCROLL_AS_NEEDED = 2 [static]
 

Use scrollbars when needed.

int CanvasViewer::_viewerID = 0 [protected]
 

JScrollPane CanvasViewer::_scrollPane = null [protected]
 

boolean CanvasViewer::_singleCanvas = false [protected]
 

ActiveCanvas CanvasViewer::_editor = null [protected]
 

VisCanvas CanvasViewer::_visualizer = null [protected]
 

Vector CanvasViewer::_inspListeners = new Vector() [protected]
 

Vector CanvasViewer::_editListeners = new Vector() [protected]
 


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:17 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001