Inheritance diagram for DisplayApp::
Public Methods | |
void | handleOpenImageJava () |
This function is called by _bmenu if the associated menu item is selected. More... | |
void | quitSample () |
void | handleServerImage () |
void | handleWebImage () |
void | handleStubBrowser () |
void | handleAppBrowser () |
void | handleRegisterApp () |
void | setDisplayMode (String m) |
void | dragGestureRecognized (DragGestureEvent event) |
void | dragDropEnd (DragSourceDropEvent event) |
void | dragEnter (DragSourceDragEvent event) |
void | dragOver (DragSourceDragEvent event) |
void | dragExit (DragSourceEvent event) |
void | dropActionChanged (DragSourceDragEvent event) |
void | dragOver (DropTargetDragEvent event) |
void | drop (final DropTargetDropEvent event) |
void | dragEnter (DropTargetDragEvent event) |
void | dragExit (DropTargetEvent event) |
void | dropActionChanged (DropTargetDragEvent event) |
Static Public Methods | |
void | main (String[] args) |
main is called when this is used as an application. More... | |
Protected Methods | |
boolean | buildSample (JFrame parent, JApplet applet, String[] args) |
|
main is called when this is used as an application. This function has to be overloaded in the "leaf node" application itself. Reimplemented from SampleApp.
00040 { 00041 DisplayApp app = new DisplayApp(); 00042 app.doMain(args); 00043 00044 // doMain will call buildSample 00045 } |
|
This function is called by _bmenu if the associated menu item is selected.
00051 { 00052 File file = askFilename(JAVA_FILTER, true); 00053 if(file == null) return; 00054 00055 try { 00056 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00057 if(imageMgr == null) return; 00058 00059 HxCorba.ImageRep img = imageMgr.loadLocalImage(file); 00060 String name = nameFromFile(file); // not the full path... 00061 StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(), name, img); 00062 showImage(img, name); 00063 00064 }catch(org.omg.CORBA.OBJECT_NOT_EXIST ex) { 00065 ErrorStreamArea.println("Cannot open image "+file.getPath()); 00066 }catch(org.omg.CORBA.SystemException ex){ 00067 ErrorStreamArea.println(""+ex); 00068 } 00069 } |
|
Reimplemented from SampleApp.
00073 { 00074 //System.out.println("quitSample"); 00075 unregisterApp(); 00076 super.quitSample(); 00077 } |
|
00080 { 00081 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00082 if(imageMgr == null) return; 00083 00084 File file = askFilename(HORUS_FILTER, CorbaMediator.instance().hasLocalServer()); 00085 if(file == null) return; 00086 00087 String name = nameFromFile(file); // not the full path... 00088 try { 00089 HxCorba.ImageRep img = imageMgr.loadServerImage(file.getPath()); 00090 System.out.println(img.getSizes().x); 00091 System.out.println(img.getSizes().y); 00092 00093 StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(), name, img); 00094 showImage(img, name); 00095 } 00096 catch(org.omg.CORBA.OBJECT_NOT_EXIST ex) { 00097 ErrorStreamArea.println("Image "+file.getName()+" doesn't exist"); 00098 } 00099 } |
|
00102 { 00103 String urlStr = JOptionPane.showInputDialog("URL:"); 00104 if(urlStr == null) return; 00105 URL url; 00106 try { 00107 url = new URL(urlStr); 00108 } 00109 catch(MalformedURLException ex){ 00110 ErrorStreamArea.println(""+ex); 00111 return; 00112 } 00113 00114 String name = nameFromFile(new File(url.getFile())); 00115 HxCorba.ImageRep image = null; 00116 if(isStandalone()) { 00117 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00118 if(imageMgr == null) return; 00119 image = imageMgr.loadWebImage(url); 00120 } 00121 else { 00122 HxCorba.WebImageFactory fac = 00123 ServiceRepository.instance().getWebImageFactory(); 00124 if(fac == null) return; 00125 HxCorba.Constructor ctor = 00126 ServiceRepository.instance().getConstructor(); 00127 if(ctor == null) return; 00128 00129 HxCorba.ImageData data = fac.makeImageFromURL(urlStr); 00130 image = ctor.importImage(data); 00131 } 00132 00133 StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(), name, image); 00134 showImage(image, name); 00135 } |
|
00139 { 00140 StubBrowser st = new StubBrowser(); 00141 00142 JDialog dlg = new JDialog(getParentFrame(), "Stub Browser", true); 00143 dlg.getContentPane().add(st); 00144 dlg.pack(); 00145 dlg.setVisible(true); 00146 } |
|
00150 { 00151 AppBrowser app = new AppBrowser(); 00152 JDialog dlg = new JDialog(getParentFrame(), "App Browser", false); 00153 dlg.getContentPane().add(app); 00154 dlg.pack(); 00155 dlg.setVisible(true); 00156 } |
|
00160 { 00161 registerApp(new DisplayServant()); 00162 } |
|
00174 { 00175 _displayMode = m; 00176 if(_canvas != null) _canvas.setDisplayMode(m); 00177 _viewer.doRefresh(); 00178 } |
|
00183 { 00184 // a drag gesture has been initiated 00185 HxCorba.ImageRep image = null; 00186 String name = null; 00187 String type = HxCorba.ImageRepHelper.id(); 00188 String ior = null; 00189 00190 name = _imName; 00191 image = _image; 00192 00193 if(image != null) { 00194 ior = CorbaMediator.instance().object_to_string(image); 00195 Transferable data = new ObjectTransfer(type, name, ior); 00196 event.getDragSource().startDrag(event, DragSource.DefaultMoveNoDrop, data, this); 00197 } 00198 } |
|
00202 {} |
|
00203 {} |
|
00204 { } |
|
00205 {} |
|
00206 { } |
|
00211 { 00212 if(event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) || 00213 event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) 00214 event.acceptDrag(event.getDropAction()); 00215 else 00216 event.rejectDrag(); 00217 } |
|
00221 { 00222 if(!event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) && 00223 !event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { 00224 event.rejectDrop(); 00225 return; 00226 } 00227 00228 try { 00229 event.acceptDrop(event.getDropAction()); 00230 Transferable transferable = event.getTransferable(); 00231 final DropTargetContext ctx = event.getDropTargetContext(); 00232 final Object data; 00233 00234 DataFlavor fl = HxCorbaDataFlavor.objectFlavor; 00235 if(transferable.isDataFlavorSupported(fl)) { 00236 data = transferable.getTransferData(fl); 00237 Thread t = new Thread() { 00238 public void run() { 00239 doDrop((ObjectTransfer)data, ctx.getDropTarget()); 00240 } 00241 }; 00242 t.start(); 00243 ctx.dropComplete(true); 00244 return; 00245 } 00246 00247 fl = DataFlavor.javaFileListFlavor; 00248 if(transferable.isDataFlavorSupported(fl)) { 00249 data = transferable.getTransferData(fl); 00250 Thread t = new Thread() { 00251 public void run() { 00252 doDrop((java.util.List)data, ctx.getDropTarget()); 00253 } 00254 }; 00255 t.start(); 00256 ctx.dropComplete(true); 00257 return; 00258 } 00259 00260 } 00261 catch (java.io.IOException exception) { 00262 exception.printStackTrace(); 00263 event.rejectDrop(); 00264 }catch (UnsupportedFlavorException ufException ) { 00265 ufException.printStackTrace(); 00266 event.rejectDrop(); 00267 } 00268 } |
|
00271 {} |
|
00272 {} |
|
00273 {} |
|
Reimplemented from SampleApp.
00282 { 00283 //OutputStreamArea out = new OutputStreamArea(10,80); 00284 ErrorStreamArea err = new ErrorStreamArea(parent, 10, 80); 00285 00286 OutputStreamArea.println("Initializing CorbaMediator..."); 00287 initCorbaMediator(args); 00288 setAdvancedLookupManager(parent); 00289 00290 OutputStreamArea.println("Building "+getSampleName()+" GUI..."); 00291 if(isStandalone()) 00292 parent.setTitle(getSampleName()+" (unregistered)"); 00293 00294 JPanel gui = new JPanel(new GridBagLayout()); 00295 00296 00297 // Add viewer 00298 00299 _viewer = ViewerFactory.makeBasicViewer(); 00300 00301 _dropTarget = new DropTarget(((BasicViewer)_viewer).ed, this); 00302 _dragSource = new DragSource(); 00303 _dragSource.createDefaultDragGestureRecognizer(((BasicViewer)_viewer).ed, 00304 DnDConstants.ACTION_COPY_OR_MOVE, this); 00305 00306 HX.addGridComp(gui, _viewer, 0, 0, 1, 1, 00307 GridBagConstraints.BOTH, 1.0, 1.0, 1, 1); 00308 00309 // Create CorbaExtMenuBar: 00310 00311 //OutputStreamArea.println("Querying InterfaceRepository..."); 00312 00313 ExtMenuBar bmenu = new ExtMenuBar(this); 00314 bmenu.addMenu("File"); 00315 if(isStandalone()) 00316 bmenu.addMenuItem("File", "Open Local Image", "handleOpenImageJava"); 00317 bmenu.addMenuItem("File", "Open Server Image", "handleServerImage"); 00318 bmenu.addMenuItem("File", "Open Web Image", "handleWebImage"); 00319 bmenu.addSeparator("File"); 00320 //bmenu.addMenuItem("File", "Test", "handleTest"); 00321 bmenu.addMenuItem("File", "Exit", "quitSample"); 00322 00323 bmenu.addMenu("Viewer"); 00324 bmenu.addSubMenu("Viewer", "Display mode"); 00325 bmenu.addGroupMenu("Display mode", getRGBModes(), "setDisplayMode", _displayMode); 00326 00327 //bmenu.addCorbaObjectMenu("ImageRep"); 00328 //bmenu.addCorbaObjectMenu("GlobalOps"); 00329 //bmenu.addCorbaObjectsMenu(); 00330 00331 bmenu.addMenu("Tools"); 00332 bmenu.addMenuItem("Tools", "Stub Browser", "handleStubBrowser"); 00333 if(isStandalone()) { 00334 bmenu.addMenuItem("Tools", "App Browser", "handleAppBrowser"); 00335 bmenu.addSeparator("Tools"); 00336 bmenu.addMenuItem("Tools", "Register App", "handleRegisterApp"); 00337 } 00338 00339 parent.setJMenuBar(bmenu); 00340 parent.getContentPane().add(gui, BorderLayout.CENTER); 00341 00342 parent.setSize(400, 450); 00343 parent.setLocation(0, 0); 00344 00345 OutputStreamArea.println("Done"); 00346 00347 return true; 00348 } |