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

MultiViewer Class Reference

A viewer with multiple viewports. More...

Inheritance diagram for MultiViewer::

ButtonBarListener ViewerModeListener ViewerDialogUser ZoomerUser List of all members.

Public Methods

 MultiViewer (int x, int y)
 Construct a viewer with x times y viewports. 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) for all viewers. 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 the active viewer. More...

Color getDefaultDrawColor (int viewID)
 Get the default drawing color of the given viewer. More...

void setDefaultDrawColor (Color c)
 Set the default drawing color of all viewers. More...

void setDefaultDrawColor (Color c, int viewID)
 Set the default drawing color of the given viewer. More...

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

Color getBackgroundColor (int viewID)
 Get the background color of the given viewer. More...

void setBackgroundColor (Color c)
 Set the background color of all viewers. More...

void setBackgroundColor (Color c, int viewID)
 Set the background color of the given viewer. More...

int nrOfViewers ()
 Returns the number of viewers in the MultiViewer. More...

boolean validViewer (int viewID)
 Indicate whether the given ID belongs to one of the viewers. More...

int getActiveViewer ()
 Get the ID of the active viewer. More...

void setActiveViewer (int viewID)
 Set the active viewer. More...

void addViewerListener (ViewerListener l)
 Add a viewer listener. More...

void removeViewerListener (ViewerListener l)
 Remove a viewer listener. More...

void doClear ()
 Clear all viewers. More...

void doClear (int viewID)
 Clear the given viewer. More...

Image toImage (int viewID)
 Render the canvas of the viewer in an image. More...

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

CanvasObject getObject (int objID, int viewID)
 Get the CanvasObject with the given index. More...

CanvasObject getObjectCopy (int objID, int viewID, boolean ics)
 Get a copy of the CanvasObject with the given index. More...

void removeObject (int objID, int viewID)
 Remove given object from the viewer. More...

void mousePressed (MouseEvent e)
 Implementation of MouseListener interface. More...

void mouseReleased (MouseEvent e)
 Implementation of MouseListener interface. More...

void mouseClicked (MouseEvent e)
void mouseEntered (MouseEvent e)
void mouseExited (MouseEvent e)
void viewerSelected (ViewerEvent e)
 Implementation of ViewerListener interface. More...

void objectSelected (ViewerEvent e)
 Implementation of ViewerListener interface. More...

void viewerEntered (ViewerEvent e)
 Implementation of ViewerListener interface. More...

void viewerExited (ViewerEvent e)
void objectEntered (ViewerEvent e)
void objectProbed (ViewerEvent e)
void objectCreated (ViewerEvent e)
void objectDeleted (ViewerEvent e)
void objectMoved (ViewerEvent e)
void objectResized (ViewerEvent e)
void objectReshaped (ViewerEvent e)
void objectChangedVisually (ViewerEvent e)
void buttonPressed (ButtonBarEvent e)
 Implementation of ButtonBarListener. More...

void viewerModeChanged (ViewerModeEvent e)
 Implementation of ViewerModeListener. More...

void copyObjectAcrossViewer (int objID, int source, int dest)
void handleViewerDialogClear (int viewID)
 Implementation of ViewerDialogUser. More...

void handleViewerDialogDone ()
 Implementation of ViewerDialogUser. More...

void handleViewerDialogPointed (int viewID, double x, double y)
 Implementation of ViewerDialogUser. More...

void handleViewerDialogSelected (int viewID)
 Implementation of ViewerDialogUser. More...

void handleViewerDialogZoomed (int viewID, double zoomVal)
 Implementation of ViewerDialogUser. More...

void handleViewerDialogBackColor (int viewID, Color c)
 Implementation of ViewerDialogUser. More...

void handleViewerDialogDrawColor (int viewID, Color c)
 Implementation of ViewerDialogUser. More...

void handleZoomed (double zoomVal)
 Implementation of ZoomerUser. More...


Detailed Description

A viewer with multiple viewports.

Basically, a MultiViewer consists of a set of SimpleViewers. The additional interface components (such as the Zoomer) apply to all viewers. However, the included ViewerDialog allows for manipulation of a single viewer at a time.


Constructor & Destructor Documentation

MultiViewer::MultiViewer int    x,
int    y
[inline]
 

Construct a viewer with x times y viewports.

00044     {
00045         doInit(x, y);
00046     }


Member Function Documentation

int MultiViewer::getMode   [inline]
 

Get the viewer mode (see class ViewerMode).

00052     {
00053         return getViewer(activeViewer).getMode();
00054     }

int MultiViewer::getSubMode   [inline]
 

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

00060     {
00061         return getViewerIndex(activeViewer).getSubMode();
00062     }

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

Set the viewer mode (see class ViewerMode) for all viewers.

00068     {
00069         for (int i=0; i<nrOfViewers(); i++)
00070             getViewerIndex(i).setMode(mode, subMode);
00071         vcb.setMode(mode, subMode);
00072     }

boolean MultiViewer::isEnabledMode int    mode [inline]
 

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

00078     {
00079         return vcb.isEnabledMode(mode);
00080     }

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

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

00086     {
00087         vcb.setEnableMode(mode, b);
00088     }

Color MultiViewer::getDefaultDrawColor   [inline]
 

Get the default drawing color of the active viewer.

00094     {
00095         return getViewerIndex(activeViewer).getDefaultDrawColor();
00096     }

Color MultiViewer::getDefaultDrawColor int    viewID [inline]
 

Get the default drawing color of the given viewer.

00102     {
00103         return getViewer(viewID).getDefaultDrawColor();
00104     }

void MultiViewer::setDefaultDrawColor Color    c [inline]
 

Set the default drawing color of all viewers.

00110     {
00111         for (int i=0; i<nrOfViewers(); i++)
00112             getViewerIndex(i).setDefaultDrawColor(c);
00113     }

void MultiViewer::setDefaultDrawColor Color    c,
int    viewID
[inline]
 

Set the default drawing color of the given viewer.

00119     {
00120         getViewer(viewID).setDefaultDrawColor(c);
00121     }

Color MultiViewer::getBackgroundColor   [inline]
 

Get the background color of the active viewer.

00127     {
00128         return getViewerIndex(activeViewer).getBackgroundColor();
00129     }

Color MultiViewer::getBackgroundColor int    viewID [inline]
 

Get the background color of the given viewer.

00135     {
00136         return getViewer(viewID).getBackgroundColor();
00137     }

void MultiViewer::setBackgroundColor Color    c [inline]
 

Set the background color of all viewers.

00143     {
00144         for (int i=0; i<nrOfViewers(); i++)
00145             getViewerIndex(i).setBackgroundColor(c);
00146     }

void MultiViewer::setBackgroundColor Color    c,
int    viewID
[inline]
 

Set the background color of the given viewer.

00152     {
00153         getViewer(viewID).setBackgroundColor(c);
00154     }

int MultiViewer::nrOfViewers   [inline]
 

Returns the number of viewers in the MultiViewer.

00160     {
00161         return sViewer.length;
00162     }

boolean MultiViewer::validViewer int    viewID [inline]
 

Indicate whether the given ID belongs to one of the viewers.

00168     {
00169         for (int i=0 ; i<viewerIDs.length ; i++)
00170             if (viewerIDs[i] == viewID)
00171                 return true;
00172         return false;
00173     }

int MultiViewer::getActiveViewer   [inline]
 

Get the ID of the active viewer.

00187     {
00188         return activeViewer;
00189     }

void MultiViewer::setActiveViewer int    viewID [inline]
 

Set the active viewer.

00195     {
00196         activeViewer = viewID;
00197         for (int i=0; i<vLabel.length; i++) {
00198             if (viewerIDs[i] == viewID) {
00199                 vLabel[i].setBackground(SystemColor.activeCaption);
00200 //                vLabel[i].setForeground(SystemColor.activeCaptionText);
00201                 vLabel[i].setForeground(Color.red);
00202             } else {
00203                 vLabel[i].setBackground(SystemColor.inactiveCaption);
00204                 vLabel[i].setForeground(SystemColor.inactiveCaptionText);
00205             }
00206         }
00207     }

void MultiViewer::addViewerListener ViewerListener    l [inline]
 

Add a viewer listener.

00213     {
00214         listeners.addElement(l);
00215         for (int i=0; i<nrOfViewers(); i++)
00216             getViewerIndex(i).addViewerListener(l);
00217     }

void MultiViewer::removeViewerListener ViewerListener    l [inline]
 

Remove a viewer listener.

00223     {
00224         listeners.removeElement(l);
00225         for (int i=0; i<nrOfViewers(); i++)
00226             getViewerIndex(i).removeViewerListener(l);
00227     }

void MultiViewer::doClear   [inline]
 

Clear all viewers.

00233     {
00234         for (int i=0; i<nrOfViewers(); i++)
00235             getViewerIndex(i).doClear();
00236     }

void MultiViewer::doClear int    viewID [inline]
 

Clear the given viewer.

00242     {
00243         getViewer(viewID).doClear();
00244         if (viewDialog.getViewerID() == viewID)
00245             updateViewerDialog(viewID);
00246     }

Image MultiViewer::toImage int    viewID [inline]
 

Render the canvas of the viewer in an image.

00252     {
00253         return getViewer(viewID).toImage();
00254     }

int MultiViewer::addObject CanvasObject    obj,
int    viewID
[inline]
 

Add a CanvasObject to the viewer.

Returns the index of the object. The index is the preferred way to access objects in a viewer as direct references to objects may become invalid due to internal activities of the viewer.

00263     {
00264         int id = getViewer(viewID).addObject(obj);
00265         if (viewDialog.getViewerID() == viewID)
00266             updateViewerDialog(viewID);
00267         return id;
00268     }

CanvasObject MultiViewer::getObject int    objID,
int    viewID
[inline]
 

Get the CanvasObject with the given index.

00274     {
00275         return getViewer(viewID).getObject(objID);
00276     }

CanvasObject MultiViewer::getObjectCopy int    objID,
int    viewID,
boolean    ics
[inline]
 

Get a copy of the CanvasObject with the given index.

00282     {
00283         return getViewer(viewID).getObjectCopy(objID, ics);
00284     }

void MultiViewer::removeObject int    objID,
int    viewID
[inline]
 

Remove given object from the viewer.

00290     {
00291         getViewer(viewID).removeObject(objID);
00292         if (viewDialog.getViewerID() == viewID)
00293             updateViewerDialog(viewID);
00294     }

void MultiViewer::mousePressed MouseEvent    e [inline]
 

Implementation of MouseListener interface.

00300     {
00301         for (int i=0; i<vLabel.length; i++) {
00302             if (e.getSource() == vLabel[i]) {
00303                 handleViewerDialogSelected(viewerIDs[i]);
00304                 break;
00305             }
00306         }
00307     }

void MultiViewer::mouseReleased MouseEvent    e [inline]
 

Implementation of MouseListener interface.

00312 { }

void MultiViewer::mouseClicked MouseEvent    e [inline]
 

00313 { }

void MultiViewer::mouseEntered MouseEvent    e [inline]
 

00314 { }

void MultiViewer::mouseExited MouseEvent    e [inline]
 

00315 { }

void MultiViewer::viewerSelected ViewerEvent    e [inline]
 

Implementation of ViewerListener interface.

00321     {
00322         int viewID = e.getViewerID();
00323         if (viewDialog.getViewerID() != viewID) {
00324             setActiveViewer(viewID);
00325             updateViewerDialog(viewID);
00326             viewDialog.setZoomValue(getViewer(viewID).getZoomFactor());
00327         }
00328     }

void MultiViewer::objectSelected ViewerEvent    e [inline]
 

Implementation of ViewerListener interface.

00334     {
00335         int ID = e.getViewerID();
00336         if (viewDialog.getViewerID() != ID) {
00337             setActiveViewer(ID);
00338             updateViewerDialog(ID);
00339             viewDialog.setZoomValue(getViewer(ID).getZoomFactor());
00340         }
00341     }

void MultiViewer::viewerEntered ViewerEvent    e [inline]
 

Implementation of ViewerListener interface.

00346 {  }

void MultiViewer::viewerExited ViewerEvent    e [inline]
 

00347 {  }

void MultiViewer::objectEntered ViewerEvent    e [inline]
 

00348 {  }

void MultiViewer::objectProbed ViewerEvent    e [inline]
 

00349 {  }

void MultiViewer::objectCreated ViewerEvent    e [inline]
 

00350 {  }

void MultiViewer::objectDeleted ViewerEvent    e [inline]
 

00351 {  }

void MultiViewer::objectMoved ViewerEvent    e [inline]
 

00352 {  }

void MultiViewer::objectResized ViewerEvent    e [inline]
 

00353 {  }

void MultiViewer::objectReshaped ViewerEvent    e [inline]
 

00354 {  }

void MultiViewer::objectChangedVisually ViewerEvent    e [inline]
 

00355 {  }

void MultiViewer::buttonPressed ButtonBarEvent    e [inline]
 

Implementation of ButtonBarListener.

Reimplemented from ButtonBarListener.

00361     {
00362         String label = e.getLabel();
00363 
00364         if (label.equals("clear")) {
00365             int n = JOptionPane.showConfirmDialog(
00366                 this, "Are you sure you want to clear ALL viewers?",
00367                 "Clear viewers",
00368                 JOptionPane.YES_NO_OPTION);
00369             if (n == JOptionPane.YES_OPTION) {
00370                 doClear();
00371                 zoomer.updateStatus(IcsCanvas.STD_ZOOM);
00372                 updateViewerDialog(viewDialog.getViewerID());
00373                 viewDialog.setZoomValue(IcsCanvas.STD_ZOOM);
00374             }
00375         } else if (label.equals("Vmanip")) {
00376             viewDialog.pop();
00377             updateViewerDialog(activeViewer);
00378         } else if (label.equals("trans")) {
00379             new JavaFuncDialog(this,
00380                     new CallableMethod("copyObjectAcrossViewer",
00381                         "int", "object ID", "int",
00382                         "int", "source Viewer ID", "int",
00383                         "int", "destination Viewer ID", "int"));
00384         }
00385     }

void MultiViewer::viewerModeChanged ViewerModeEvent    e [inline]
 

Implementation of ViewerModeListener.

Reimplemented from ViewerModeListener.

00391     {
00392         for (int i=0; i<nrOfViewers(); i++)
00393             getViewerIndex(i).setMode(e.getMode(), e.getSubMode());
00394     }

void MultiViewer::copyObjectAcrossViewer int    objID,
int    source,
int    dest
[inline]
 

00398     {
00399         if (source != dest && validViewer(source) && validViewer(dest)) {
00400             CanvasObject c = getObjectCopy(objID, source, true);
00401             if (c != null) {
00402                 addObject(c, dest);
00403                 return;
00404             }
00405         }
00406     }

void MultiViewer::handleViewerDialogClear int    viewID [inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00412     {
00413         getViewer(viewID).doClear();
00414         viewDialog.setZoomValue(getViewer(viewID).getZoomFactor());
00415         updateViewerDialog(viewID);
00416     }

void MultiViewer::handleViewerDialogDone   [inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00422     {
00423         // do nothing
00424     }

void MultiViewer::handleViewerDialogPointed int    viewID,
double    x,
double    y
[inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00430     {
00431         SimpleViewer sv = getViewer(viewID);
00432         sv.doPan(x, y);
00433     }

void MultiViewer::handleViewerDialogSelected int    viewID [inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00439     {
00440         setActiveViewer(viewID);
00441         updateViewerDialog(viewID);
00442         SimpleViewer sv = getViewer(viewID);
00443         viewDialog.setZoomValue(sv.getZoomFactor());
00444 
00445         Vector list;
00446         ViewerEvent ve = new ViewerEvent(this, sv, null, -1, -1, -1);
00447         synchronized (this) {
00448             list = (Vector)listeners.clone();
00449         }
00450         for(int i=0; i<list.size(); i++) {
00451             ((ViewerListener)list.elementAt(i)).viewerSelected(ve);
00452         }
00453     }

void MultiViewer::handleViewerDialogZoomed int    viewID,
double    zoomVal
[inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00459     {
00460         SimpleViewer sv = getViewer(viewID);
00461 //        sv.setMode(ViewerMode.SELECT, 0);
00462 //        vcb.setMode(ViewerMode.SELECT, 0);
00463         sv.doZoom(zoomVal);
00464     }

void MultiViewer::handleViewerDialogBackColor int    viewID,
Color    c
[inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00470     {
00471         getViewer(viewID).setBackgroundColor(c);
00472         updateViewerDialog(viewID);
00473     }

void MultiViewer::handleViewerDialogDrawColor int    viewID,
Color    c
[inline]
 

Implementation of ViewerDialogUser.

Reimplemented from ViewerDialogUser.

00479     {
00480         getViewer(viewID).setDefaultDrawColor(c);
00481     }

void MultiViewer::handleZoomed double    zoomVal [inline]
 

Implementation of ZoomerUser.

Reimplemented from ZoomerUser.

00487     {
00488         for (int i=0 ; i<nrOfViewers() ; i++) {
00489             SimpleViewer sv = getViewerIndex(i);
00490 //            sv.setMode(ViewerMode.SELECT, 0);
00491 //            vcb.setMode(ViewerMode.SELECT, 0);
00492             sv.doZoom(zoomVal);
00493             viewDialog.setZoomValue(zoomVal);
00494         }
00495     }


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