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 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001