Inheritance diagram for TestApp::
Public Methods | |
void | handleOpenImageJava () |
This function is called by _bmenu if the associated menu item is selected. More... | |
void | handleExit () |
This function is called by _bmenu if the associated menu item is selected. More... | |
void | handleServerImage () |
void | handleWebImage () |
void | handleRegisterApp () |
void | handleStubBrowser () |
void | handleAppBrowser () |
void | handleIDLScript () |
void | handleViewImageStub (String id, String imgName) |
void | handleResult (String type, String value) |
void | setLeftDisplayMode (String m) |
void | setRightDisplayMode (String m) |
void | addStub (String intfId, String name, Object stub) |
void | removeStub (String intfId, String name) |
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.
|
|
This function is called by _bmenu if the associated menu item is selected.
00054 { 00055 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00056 if(imageMgr == null) return; 00057 00058 File file = askFilename(JAVA_FILTER, true); 00059 if(file == null) return; 00060 00061 String name = nameFromFile(file); 00062 00063 try { 00064 HxCorba.ImageRep img = imageMgr.loadLocalImage(file); 00065 StubRepository.instance().addStub(IMAGE_ID, name, img); 00066 showLeftImage(img, name); 00067 } 00068 catch(org.omg.CORBA.OBJECT_NOT_EXIST ex) { 00069 ErrorStreamArea.println("Cannot open image "+file.getPath()); 00070 } 00071 } |
|
This function is called by _bmenu if the associated menu item is selected.
00078 { 00079 unregisterApp(); 00080 quitSample(); 00081 } |
|
00084 { 00085 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00086 if(imageMgr == null) return; 00087 00088 File file = askFilename(HORUS_FILTER, CorbaMediator.instance().hasLocalServer()); 00089 if(file == null) return; 00090 00091 String name = nameFromFile(file); // not the full path... 00092 00093 try { 00094 HxCorba.ImageRep img = imageMgr.loadServerImage(file.getPath()); 00095 StubRepository.instance().addStub(IMAGE_ID, name, img); 00096 showLeftImage(img, name); 00097 } 00098 catch(org.omg.CORBA.SystemException ex){ 00099 ErrorStreamArea.println(""+ex); 00100 } 00101 } |
|
00104 { 00105 try { 00106 String urlStr = JOptionPane.showInputDialog("URL:"); 00107 if(urlStr == null) return; 00108 00109 URL url = new URL(urlStr); 00110 String name = nameFromFile(new File(url.getFile())); 00111 00112 ImageManager imageMgr = ImageManager.defaultImageMgr(); 00113 if(imageMgr == null) return; 00114 00115 HxCorba.ImageRep img = imageMgr.loadWebImage(url); 00116 StubRepository.instance().addStub(IMAGE_ID, name, img); 00117 showLeftImage(img, name); 00118 } 00119 catch(org.omg.CORBA.SystemException ex){ 00120 ErrorStreamArea.println(""+ex); 00121 } 00122 catch(MalformedURLException ex){ 00123 ErrorStreamArea.println(""+ex); 00124 } 00125 } |
|
00128 { 00129 registerApp(new TestServant()); 00130 } |
|
00133 { 00134 StubBrowser st = new StubBrowser(); 00135 st.addStubAction(IMAGE_ID, "View", this, "handleViewImageStub"); 00136 00137 JDialog dlg = new JDialog(getParentFrame(), "Stub Browser", true); 00138 dlg.getContentPane().add(st); 00139 dlg.pack(); 00140 dlg.setVisible(true); 00141 } |
|
00144 { 00145 AppBrowser app = new AppBrowser(/*CorbaMediator.appMgr()*/); 00146 JDialog dlg = new JDialog(getParentFrame(), "App Browser", false); 00147 dlg.getContentPane().add(app); 00148 dlg.pack(); 00149 dlg.setVisible(true); 00150 } |
|
00153 { 00154 if(_idlScriptDialog == null) { 00155 IDLScriptShell sh = new IDLScriptShell(); 00156 _idlScriptDialog = new JDialog(getParentFrame(), "IDL Script", false); 00157 _idlScriptDialog.getContentPane().add(sh); 00158 _idlScriptDialog.pack(); 00159 _idlScriptDialog.setLocation(576, 428); 00160 _idlScriptDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); 00161 00162 sh.setGuard(this); 00163 StubRepository.instance().addStubListener(sh); 00164 } 00165 00166 _idlScriptDialog.setVisible(true); 00167 } |
|
00170 { 00171 Object obj = StubRepository.instance().getStub(IMAGE_ID, imgName); 00172 HxCorba.ImageRep image = HxCorba.ImageRepHelper.narrow((org.omg.CORBA.Object)obj); 00173 00174 showLeftImage(image, imgName); 00175 } |
|
00178 { 00179 if(type.equals("interface ImageRep")) { 00180 Object obj = StubRepository.instance().getStub(IMAGE_ID, value); 00181 HxCorba.ImageRep image = HxCorba.ImageRepHelper.narrow((org.omg.CORBA.Object)obj); 00182 00183 showRightImage(image, value); 00184 } 00185 else if(type.equals("void")) 00186 OutputStreamArea.println("void"); 00187 else if(type.equals("error")) 00188 ErrorStreamArea.println(value); 00189 else 00190 OutputStreamArea.println("Result: "+value+", type: "+type); 00191 } |
|
00194 { 00195 _leftDisplayMode = m; 00196 _leftCanvas.setDisplayMode(m); 00197 _leftViewer.doRefresh(); 00198 } |
|
00202 { 00203 _rightDisplayMode = m; 00204 _rightCanvas.setDisplayMode(m); 00205 _rightViewer.doRefresh(); 00206 } |
|
Reimplemented from StubRepositoryGuard.
00211 { 00212 StubRepository.instance().addStub(intfId, name, stub); 00213 00214 if(intfId.equals(IMAGE_ID)) { 00215 org.omg.CORBA.Object obj = (org.omg.CORBA.Object)stub; 00216 HxCorba.ImageRep img = HxCorba.ImageRepHelper.narrow(obj); 00217 showRightImage(img, name); 00218 } 00219 } |
|
Reimplemented from StubRepositoryGuard.
00222 {} |
|
00226 { 00227 // a drag gesture has been initiated 00228 HxCorba.ImageRep image = null; 00229 String name = null; 00230 String type = IMAGE_ID; 00231 String ior = null; 00232 00233 if(event.getDragSource() == _rightDragSource) { 00234 name = _rightName; 00235 image = _rightImage; 00236 } 00237 else { //event.getDragSource() == _leftDragSource 00238 name = _leftName; 00239 image = _leftImage; 00240 } 00241 00242 if(image != null) { 00243 ior = CorbaMediator.instance().object_to_string(image); 00244 Transferable data = new ObjectTransfer(type, name, ior); 00245 event.getDragSource().startDrag(event, DragSource.DefaultMoveNoDrop, data, this); 00246 } 00247 } |
|
00251 {} |
|
00252 {} |
|
00253 { } |
|
00254 {} |
|
00255 { } |
|
00259 { 00260 if(event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) || 00261 event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) 00262 event.acceptDrag(event.getDropAction()); 00263 else 00264 event.rejectDrag(); 00265 } |
|
00269 { 00270 if(!event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor) && 00271 !event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { 00272 event.rejectDrop(); 00273 return; 00274 } 00275 00276 try { 00277 event.acceptDrop(event.getDropAction()); 00278 Transferable transferable = event.getTransferable(); 00279 final DropTargetContext ctx = event.getDropTargetContext(); 00280 final Object data; 00281 00282 DataFlavor fl = HxCorbaDataFlavor.objectFlavor; 00283 if(transferable.isDataFlavorSupported(fl)) { 00284 data = transferable.getTransferData(fl); 00285 Thread t = new Thread() { 00286 public void run() { 00287 doDrop((ObjectTransfer)data, ctx.getDropTarget()); 00288 } 00289 }; 00290 t.start(); 00291 ctx.dropComplete(true); 00292 return; 00293 } 00294 00295 fl = DataFlavor.javaFileListFlavor; 00296 if(transferable.isDataFlavorSupported(fl)) { 00297 data = transferable.getTransferData(fl); 00298 Thread t = new Thread() { 00299 public void run() { 00300 doDrop((java.util.List)data, ctx.getDropTarget()); 00301 } 00302 }; 00303 t.start(); 00304 ctx.dropComplete(true); 00305 return; 00306 } 00307 00308 } 00309 catch (java.io.IOException exception) { 00310 exception.printStackTrace(); 00311 event.rejectDrop(); 00312 }catch (UnsupportedFlavorException ufException ) { 00313 ufException.printStackTrace(); 00314 event.rejectDrop(); 00315 } 00316 } |
|
00319 {} |
|
00320 {} |
|
00321 {} |
|
Reimplemented from SampleApp.
00332 { 00333 OutputStreamArea.println("Initializing CorbaMediator..."); 00334 initCorbaMediator(args); 00335 setAdvancedLookupManager(parent); 00336 00337 addInitialService(HxCorba.ConstructorHelper.id(), "Constructor", "CTOR"); 00338 addInitialService(HxCorba.GlobalOpsHelper.id(), "GlobalOps", "OPS"); 00339 00340 OutputStreamArea.println("Building "+getSampleName()+" GUI..."); 00341 if(isStandalone()); 00342 parent.setTitle(getSampleName()+" (unregistered)"); 00343 00344 // set layout manager 00345 00346 JPanel gui = new JPanel(new GridBagLayout()); 00347 00348 00349 // Add splitpane with two viewers 00350 00351 _leftViewer = ViewerFactory.makeBasicViewer(); 00352 _rightViewer = ViewerFactory.makeBasicViewer(); 00353 00354 _leftDropTarget = new DropTarget(((BasicViewer)_leftViewer).ed, this); 00355 _rightDropTarget = new DropTarget(((BasicViewer)_rightViewer).ed, this); 00356 _leftDragSource = new DragSource(); 00357 _leftDragSource.createDefaultDragGestureRecognizer(((BasicViewer)_leftViewer).ed, 00358 DnDConstants.ACTION_COPY_OR_MOVE, this); 00359 _rightDragSource = new DragSource(); 00360 _rightDragSource.createDefaultDragGestureRecognizer(((BasicViewer)_rightViewer).ed, 00361 DnDConstants.ACTION_COPY_OR_MOVE, this); 00362 00363 //_leftViewer.addMouseMotionListener(this); 00364 //_rightViewer.addMouseMotionListener(this); 00365 //((BasicViewer)_leftViewer).ed.addMouseMotionListener(this); 00366 //((BasicViewer)_rightViewer).vi.addMouseMotionListener(this); 00367 //_frame.addMouseMotionListener(this); 00368 00369 JSplitPane viewSP = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 00370 _leftViewer, _rightViewer); 00371 viewSP.setOneTouchExpandable(true); 00372 viewSP.setDividerLocation(570); 00373 HX.addGridComp(gui, viewSP, 0, 0, 1, 1, 00374 GridBagConstraints.BOTH, 1.0, 1.0, 1, 1); 00375 00376 // Create CorbaExtMenuBar: 00377 00378 OutputStreamArea.println("Querying InterfaceRepository..."); 00379 00380 //_bmenu = (isStandalone())? 00381 // new CorbaExtMenuBar(parent, this) : new ExtMenuBar(this); 00382 _bmenu = new CorbaExtMenuBar(parent, this); 00383 00384 _bmenu.addMenu("File"); 00385 if(isStandalone()) 00386 _bmenu.addMenuItem("File", "Open Local Image", "handleOpenImageJava"); 00387 _bmenu.addMenuItem("File", "Open Server Image", "handleServerImage"); 00388 if(isStandalone()) 00389 _bmenu.addMenuItem("File", "Open Web Image", "handleWebImage"); 00390 _bmenu.addSeparator("File"); 00391 _bmenu.addMenuItem("File", "Exit", "handleExit"); 00392 00393 _bmenu.addMenu("Viewer"); 00394 _bmenu.addSubMenu("Viewer", "Left display mode"); 00395 _bmenu.addSubMenu("Viewer", "Right display mode"); 00396 String[] modes = getRGBModes(); 00397 _bmenu.addGroupMenu("Left display mode", modes, "setLeftDisplayMode", _leftDisplayMode); 00398 _bmenu.addGroupMenu("Right display mode", modes, "setRightDisplayMode", _rightDisplayMode); 00399 00400 _bmenu.addCorbaObjectMenu("ImageRep"); 00401 _bmenu.addCorbaObjectMenu("GlobalOps"); 00402 _bmenu.addCorbaObjectsMenu(); 00403 00404 00405 _bmenu.addMenu("Tools"); 00406 _bmenu.addMenuItem("Tools", "Stub Browser", "handleStubBrowser"); 00407 if(isStandalone()) { 00408 _bmenu.addMenuItem("Tools", "App Browser", "handleAppBrowser"); 00409 _bmenu.addMenuItem("Tools", "IDL Script", "handleIDLScript"); 00410 _bmenu.addSeparator("Tools"); 00411 _bmenu.addMenuItem("Tools", "Register App", "handleRegisterApp"); 00412 } 00413 00414 parent.setJMenuBar(_bmenu); 00415 parent.getContentPane().add(gui, BorderLayout.CENTER); 00416 00417 parent.setSize(1150, 450); 00418 parent.setLocation(0, 0); 00419 00420 OutputStreamArea.println("Done"); 00421 00422 OutDialog out = new OutDialog(parent, 12, 4, 50); 00423 out.setLocation(0, 428); 00424 out.show(); 00425 00426 return true; 00427 } |