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

HxObjectManager Class Reference

Extension of StubManagerAppServant to exchange other type of objects than stubs. More...

Inheritance diagram for HxObjectManager::

StubManagerAppServant AppOperations List of all members.

Public Methods

boolean addJavaImage (Image im)
void doPaste ()
boolean putObject (String id, String name, org.omg.CORBA.Object obj)
StubRepositoryGuard stubRepositoryGuard ()
void dragOver (DropTargetDragEvent event)
void drop (final DropTargetDropEvent event)
void dragEnter (DropTargetDragEvent event)
void dragExit (DropTargetEvent event)
void dropActionChanged (DropTargetDragEvent event)
void addScribbleFigure (ScribbleFigure fig, int id)
 Add a new figure to StubRepository. More...

void deleteScribbleFigure (ScribbleFigure fig, int id)

Protected Methods

void handleNewImage (HxCorba.ImageData image, String name)
void handleNewPolyline (HxCorba.Polyline2dData poly, String name)
void handleNewHistogram (HxCorba.HistogramData hist, String name)
void handleNewObject (CanvasObject cObj)

Detailed Description

Extension of StubManagerAppServant to exchange other type of objects than stubs.


Member Function Documentation

boolean HxObjectManager::addJavaImage Image    im [inline]
 

00032 {
00033     JavaImageData data = new JavaImageData(im);
00034     if(!data.isValid())
00035         return false;
00036 
00037     FullCorbaMediator med = (FullCorbaMediator)CorbaMediator.instance();
00038 
00039     Servant servant = new HxCorba.ImageDataPOATie(data);
00040     org.omg.CORBA.Object objData = med.activateServant(servant);
00041     String id = HxCorba.ImageDataHelper.id();
00042 
00043     objectReceived(id, "Image+", objData, false);
00044 
00045     return true;
00046 }

void HxObjectManager::doPaste   [inline]
 

00049 {
00050     Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
00051     Transferable tr = clip.getContents(null);
00052     if(tr == null) return;
00053 
00054     try {
00055         String data = (String)tr.getTransferData(DataFlavor.stringFlavor);
00056         int index1 = data.indexOf('\t', 0);
00057         int index2 = data.indexOf('\t', index1+1);
00058         if((index1 == -1) || (index2 == -1))
00059             return;
00060 
00061         String id = data.substring(0, index1);
00062         String ior = data.substring(index1+1, index2);
00063         String name = data.substring(index2+1);
00064         org.omg.CORBA.Object obj = CorbaMediator.instance().string_to_object(ior);
00065 
00066         objectReceived(id, name, obj);
00067     }
00068     catch(java.io.IOException ex) { }
00069     catch(UnsupportedFlavorException ex) { }
00070 }

boolean HxObjectManager::putObject String    id,
String    name,
org.omg.CORBA.Object    obj
[inline]
 

Reimplemented from StubManagerAppServant.

00074 {
00075     if(obj == null) return false;
00076 
00077     objectReceived(id, name, obj);
00078     return true;
00079 }

StubRepositoryGuard HxObjectManager::stubRepositoryGuard   [inline]
 

00082 {
00083     return new HxObjMgrGuard();
00084 }

void HxObjectManager::dragOver DropTargetDragEvent    event [inline]
 

00088 {
00089     if(event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) ||
00090             event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
00091         event.acceptDrag(event.getDropAction());
00092     }else
00093         event.rejectDrag();
00094 }

void HxObjectManager::drop final DropTargetDropEvent    event [inline]
 

00099 {
00100     if(!event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) &&
00101             !event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
00102         event.rejectDrop();
00103         return;
00104     }
00105 
00106     try {
00107         event.acceptDrop(event.getDropAction());
00108         Transferable transferable = event.getTransferable();
00109         final Object data;
00110 
00111         DataFlavor fl = HxCorbaDataFlavor.objectFlavor;
00112         if(transferable.isDataFlavorSupported(fl)) {
00113             data = transferable.getTransferData(fl);
00114             Thread t = new Thread() {
00115                 public void run() {
00116                     addDroppedObject((ObjectTransfer)data);
00117                 }
00118             };
00119             t.start();
00120             event.getDropTargetContext().dropComplete(true);
00121             return;
00122         }
00123 
00124         fl = DataFlavor.javaFileListFlavor;
00125         if(transferable.isDataFlavorSupported(fl)) {
00126             data = transferable.getTransferData(fl);
00127             Thread t = new Thread() {
00128                 public void run() {
00129                     addDroppedFileList((java.util.List)data);
00130                 }
00131             };
00132             t.start();
00133             event.getDropTargetContext().dropComplete(true);
00134             return;
00135         }
00136     }
00137     catch (java.io.IOException exception) {
00138         exception.printStackTrace();
00139         event.rejectDrop();
00140     }catch (UnsupportedFlavorException ufException ) {
00141         ufException.printStackTrace();
00142         event.rejectDrop();
00143     }
00144 }

void HxObjectManager::dragEnter DropTargetDragEvent    event [inline]
 

00147 {}

void HxObjectManager::dragExit DropTargetEvent    event [inline]
 

00148 {}

void HxObjectManager::dropActionChanged DropTargetDragEvent    event [inline]
 

00149 {}

void HxObjectManager::addScribbleFigure ScribbleFigure    fig,
int    id
[inline]
 

Add a new figure to StubRepository.

00155 {
00156     if(fig instanceof CanvasPolyline) {
00157         JavaPolylineData data =  new JavaPolylineData((CanvasPolyline)fig);
00158         Servant servant = new HxCorba.Polyline2dDataPOATie(data);
00159         FullCorbaMediator med = (FullCorbaMediator)CorbaMediator.instance();
00160         org.omg.CORBA.Object objData = med.activateServant(servant);
00161         String name = "Polyline"+id;
00162         String type = HxCorba.Polyline2dDataHelper.id();
00163 
00164         StubRepository.instance().addStub(type, name, objData);
00165     }
00166     else if(fig instanceof CanvasRectangle) {
00167         CanvasRectangle rec = (CanvasRectangle)fig;
00168         String name = "Rectangle"+id;
00169 
00170         addPoint(name+"_pt1", rec.getX1(), rec.getY1());
00171         addPoint(name+"_pt2", rec.getX2(), rec.getY2());
00172         addSizes(name+"_sizes", (int)rec.getWidth(), (int)rec.getHeight());
00173     }
00174     else if(fig instanceof CanvasPoint) {
00175         CanvasPoint point = (CanvasPoint)fig;
00176         addPoint("Point"+id, point.getX1(), point.getY1());
00177     }
00178 }

void HxObjectManager::deleteScribbleFigure ScribbleFigure    fig,
int    id
[inline]
 

00183 {
00184     if(fig instanceof CanvasPolyline) {
00185         String name = "Polyline"+id;
00186         String type = HxCorba.Polyline2dDataHelper.id();
00187         StubRepository.instance().removeStub(type, name);
00188     }
00189     else if(fig instanceof CanvasRectangle) {
00190         String name = "Rectangle"+id;
00191         deletePoint(name+"_pt1");
00192         deletePoint(name+"_pt2");
00193         deleteSizes(name+"_sizes");
00194     }
00195     else if(fig instanceof CanvasPoint) {
00196         deletePoint("Point"+id);
00197     }
00198 }

void HxObjectManager::handleNewImage HxCorba.ImageData    image,
String    name
[inline, protected]
 

00208 {
00209     handleNewObject(new CanvasCorbaImage(image));
00210 }

void HxObjectManager::handleNewPolyline HxCorba.Polyline2dData    poly,
String    name
[inline, protected]
 

00213 {
00214     handleNewObject(new CanvasCorbaPolyline2d(poly));
00215 }

void HxObjectManager::handleNewHistogram HxCorba.HistogramData    hist,
String    name
[inline, protected]
 

00218 {
00219     handleNewObject(new CanvasCorbaHistogram(hist));
00220 }

void HxObjectManager::handleNewObject CanvasObject    cObj [inline, protected]
 

00223 {
00224 }


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