Inheritance diagram for MdiApp::

Public Methods | |
| void | handleOpenImageJava () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleOpenServerImage () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleOpenServerSeq () |
| 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 | handlePaste () |
| void | handleLF (String lfName) |
| void | handleResult (String type, String value) |
| void | handleNewViewer () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleViewerOp (Object target, CallableMethod method, Object[] argVals) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleDrawingColor (Color c) |
| void | handleBackgroundColor (Color c) |
| void | handleDisplayMode (String mode) |
| void | handleNormalView () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleFitViewportToCanvas () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleViewAllImages () |
| void | viewImageRep (String imName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | viewHistogram (String histName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | viewBlob2d (String blobName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | viewPolyline2d (String polyName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | viewBSplineCurve (String bsplName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | viewSampledBSplineCurve (String bsplName, boolean newViewer) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleMakeImage () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleRegistryViewer () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleIDLScript () |
| void | handlePixelEditor () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleStubBrowser () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleImageBrowser () |
| void | handleAppBrowser () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleOperationsBrowser () |
| void | handleRegisterApp () |
| void | handleNewJavaImage (int width, int height, Color c) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleJavaImageToHxImageRep (int javaImID) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleJavaPolylineToHxPolyline2d (int javaPolyID) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleLabelCermet (String cermName) |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | handleTestSomething () |
| This function is called by _bmenu if the associated menu item is selected. More... | |
| void | objectEntered (ViewerEvent e) |
| Implementation of ViewerInspectionListener. More... | |
| void | objectProbed (ViewerEvent e) |
| Implementation of ViewerInspectionListener. More... | |
| void | objectSelected (ViewerEvent e) |
| Implementation of ViewerInspectionListener. More... | |
| void | viewerExited (ViewerEvent e) |
| Implementation of ViewerInspectionListener. More... | |
| void | viewerSelected (ViewerEvent e) |
| Implementation of ViewerInspectionListener. More... | |
| void | objectCreated (ViewerEvent e) |
| Implementation of ViewerEditListener. More... | |
| void | objectDeleted (ViewerEvent e) |
| Method invoked when a CanvasObject has been deleted. More... | |
| void | objectMoved (ViewerEvent e) |
| Method invoked when a CanvasObject has been moved. More... | |
| void | objectResized (ViewerEvent e) |
| Method invoked when a CanvasObject has been resized. More... | |
| void | objectReshaped (ViewerEvent e) |
| Method invoked when a CanvasObject has been reshaped, i.e. More... | |
| void | viewerEntered (ViewerEvent e) |
| Implementation of Viewer(*)Listener (ignored). More... | |
| void | objectChangedVisually (ViewerEvent e) |
| Method invoked when one of the visual properties of a CanvasObject has been changed. More... | |
| void | viewerModeChanged (ViewerModeEvent e) |
| Implementation of ViewerModeListener. More... | |
| int[] | handleNavigatorViewerIDs () |
| Implementation of NavigatorUser. More... | |
| void | handleNavigatorPan (int viewerID, double x, double y) |
| Implementation of NavigatorUser. More... | |
| void | handleNavigatorZoomed (int viewerID, double zoomVal) |
| Implementation of NavigatorUser. More... | |
| void | handleNavigatorSelected (int viewerID) |
| Implementation of NavigatorUser. More... | |
| void | internalFrameClosed (InternalFrameEvent e) |
| Implementation of InternalFrameListener. More... | |
| void | internalFrameActivated (InternalFrameEvent e) |
| Implementation of InternalFrameListener. More... | |
| void | internalFrameClosing (InternalFrameEvent e) |
| Implementation of InternalFrameListener (ignored). More... | |
| void | internalFrameOpened (InternalFrameEvent e) |
| void | internalFrameIconified (InternalFrameEvent e) |
| void | internalFrameDeiconified (InternalFrameEvent e) |
| void | internalFrameDeactivated (InternalFrameEvent e) |
| void | itemStateChanged (ItemEvent e) |
| Implementation of ItemListener. More... | |
Static Public Methods | |
| void | main (String[] args) |
| This function is called when this is used as an application. More... | |
Protected Methods | |
| boolean | buildSample (JFrame parent, JApplet applet, String[] args) |
| Initialization. More... | |
|
|
This function is called when this is used as an application.
Reimplemented from SampleApp.
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00060 {
00061 File file = askFilename(JAVA_FILTER, true);
00062 if(file == null) return;
00063
00064 Image im = Toolkit.getDefaultToolkit().getImage(file.getPath());
00065 //String name = StubManager.getName(file); // not the full path...
00066 boolean success = _objManager.addJavaImage(im);
00067
00068 if(!success)
00069 ErrorStreamArea.println("Can not open image "+file.getName());
00070 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00075 {
00076 HxCorba.Constructor cons =
00077 ServiceRepository.instance().getConstructor();
00078 if(cons == null) return;
00079
00080 File file = askFilename(HORUS_FILTER, CorbaMediator.instance().hasLocalServer());
00081 if(file == null) return;
00082
00083 HxCorba.ImageRep img = cons.fromFile(file.getPath());
00084 if(img == null) {
00085 ErrorStreamArea.println(cons.getLastError());
00086 return;
00087 }
00088
00089 String name = nameFromFile(file); // not the full path...
00090 StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(), name, img);
00091 viewObject(new CanvasCorbaImage(img), name);
00092 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00098 {
00099 HxCorba.Constructor cons =
00100 ServiceRepository.instance().getConstructor();
00101 if(cons == null) return;
00102
00103 File file = askFilename(SEQ_FILTER, CorbaMediator.instance().hasLocalServer());
00104 if(file == null) return;
00105
00106 HxCorba.ImageSeq seq = cons.constructImageSeq(file.getPath());
00107 if(seq == null) {
00108 ErrorStreamArea.println(cons.getLastError());
00109 return;
00110 }
00111
00112 String name = nameFromFile(file); // not the full path...
00113 StubRepository.instance().addStub(HxCorba.ImageSeqHelper.id(), name, seq);
00114
00115 OutputStreamArea.println("Result " + name + ", showing first frame.");
00116 viewObject(new CanvasCorbaImage(seq.getFrame(0)), name);
00117 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00122 {
00123 unregisterApp();
00124 System.exit(0);
00125 }
|
|
|
00128 {
00129 _objManager.doPaste();
00130 }
|
|
|
00133 {
00134 String lfClass = null;
00135 if(lfName.equals("Cross Platform"))
00136 lfClass = UIManager.getCrossPlatformLookAndFeelClassName();
00137 else if(lfName.equals("System"))
00138 lfClass = UIManager.getSystemLookAndFeelClassName();
00139 else if(lfName.equals("Motif"))
00140 lfClass = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
00141
00142 if(lfClass == null) return;
00143
00144 try {
00145 UIManager.setLookAndFeel(lfClass);
00146 } catch (Exception e) { ErrorStreamArea.println("Unable to set L&F"); }
00147 SwingUtilities.updateComponentTreeUI(getParentFrame());
00148 getParentFrame().show();
00149 }
|
|
||||||||||||
|
00152 {
00153 if((type.startsWith("interface ")) && (value == null))
00154 OutputStreamArea.println("Result: null, type: "+type);
00155
00156 else if(type.equals("interface ImageRep"))
00157 viewImageRep(value, true);
00158 else if(type.equals("interface Histogram"))
00159 viewHistogram(value, true);
00160 else if(type.equals("interface Polyline2d"))
00161 viewPolyline2d(value, true);
00162 else if(type.equals("interface BSplineCurve"))
00163 viewBSplineCurve(value, true);
00164 else if(type.equals("interface SampledBSplineCurve"))
00165 viewSampledBSplineCurve(value, true);
00166
00167 else if(type.equals("void"))
00168 OutputStreamArea.println("void");
00169 else if(type.equals("error"))
00170 ErrorStreamArea.println(value);
00171 else
00172 OutputStreamArea.println("Result: "+value+", type: "+type);
00173 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00179 {
00180 newViewer();
00181 }
|
|
||||||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00187 {
00188 if (_activeViewer != null)
00189 method.invoke(_activeViewer, argVals);
00190 else
00191 ErrorStreamArea.println("No viewer selected");
00192 }
|
|
|
00196 {
00197 if (_activeViewer != null)
00198 _activeViewer.setDefaultDrawColor(c);
00199 else
00200 ErrorStreamArea.println("No viewer selected");
00201 }
|
|
|
00204 {
00205 if (_activeViewer != null)
00206 _activeViewer.setBackgroundColor(c);
00207 else
00208 ErrorStreamArea.println("No viewer selected");
00209 }
|
|
|
00212 {
00213 _displayMode = mode;
00214 }
|
|
|
This function is called by _bmenu if the associated menu item is selected. Seems to work for all look&feels except Java's :-(
00220 {
00221 if (_activeViewer != null) {
00222 _activeViewer.doZoom(1.0);
00223 _activeFrame.pack();
00224 }
00225 else
00226 ErrorStreamArea.println("No viewer selected");
00227 }
|
|
|
This function is called by _bmenu if the associated menu item is selected. Seems to work for all look&feels except Java's :-(
00234 {
00235 if (_activeViewer != null)
00236 _activeFrame.pack();
00237 else
00238 ErrorStreamArea.println("No viewer selected");
00239 }
|
|
|
00242 {
00243 CorbaImageSpace3dViewer space = new CorbaImageSpace3dViewer();
00244
00245 HxCorba.ImageRepHelper helper = new HxCorba.ImageRepHelper();
00246 java.util.Enumeration e = StubRepository.instance().listStubs(helper.id());
00247 while(e.hasMoreElements()) {
00248 String name = e.nextElement().toString();
00249 Object obj = StubRepository.instance().getStub(helper.id(), name);
00250 HxCorba.ImageRep image = helper.narrow((org.omg.CORBA.Object)obj);
00251 space.addImage(image, name);
00252 }
00253
00254 JDialog dlg = new JDialog(getParentFrame(), "Image space", false);
00255 dlg.getContentPane().add(space, BorderLayout.CENTER);
00256 dlg.pack();
00257 dlg.show();
00258 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00263 {
00264 HxCorba.ImageRepHelper helper = new HxCorba.ImageRepHelper();
00265
00266 Object obj = StubRepository.instance().getStub(helper.id(), imName);
00267 if(obj == null) {
00268 ErrorStreamArea.println("Image doesn't exists");
00269 return;
00270 }
00271
00272 HxCorba.ImageRep image = helper.narrow((org.omg.CORBA.Object)obj);
00273 CanvasCorbaImage cObj = new CanvasCorbaImage(image);
00274 cObj.setDisplayMode(_displayMode);
00275 viewObject(cObj, newViewer, imName);
00276 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00281 {
00282 HxCorba.HistogramHelper helper = new HxCorba.HistogramHelper();
00283
00284 Object obj = StubRepository.instance().getStub(helper.id(), histName);
00285 if(obj == null) {
00286 ErrorStreamArea.println("Histogram doesn't exists");
00287 return;
00288 }
00289
00290 HxCorba.Histogram hist = helper.narrow((org.omg.CORBA.Object)obj);
00291
00292 if(hist.dimensionality() == 1) {
00293 CanvasObject cObj = new CanvasCorbaHistogram(hist);
00294 viewObject(cObj, newViewer, histName);
00295 }
00296 else {
00297 CorbaHistogram3dViewer h = new CorbaHistogram3dViewer(hist);
00298 JDialog dlg = new JDialog(getParentFrame(), "Histogram3d", false);
00299 dlg.getContentPane().add(h, BorderLayout.CENTER);
00300 dlg.pack();
00301 dlg.show();
00302 }
00303 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00309 {
00310 HxCorba.Blob2dHelper helper = new HxCorba.Blob2dHelper();
00311
00312 Object obj = StubRepository.instance().getStub(helper.id(), blobName);
00313 if(obj == null) {
00314 ErrorStreamArea.println("Blob doesn't exists");
00315 return;
00316 }
00317
00318 HxCorba.Blob2d blob = helper.narrow((org.omg.CORBA.Object)obj);
00319 CanvasObject cObj = new CanvasCorbaBlob2d(blob);
00320 viewObject(cObj, newViewer, blobName);
00321 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00327 {
00328 HxCorba.Polyline2dHelper helper = new HxCorba.Polyline2dHelper();
00329
00330 Object obj = StubRepository.instance().getStub(helper.id(), polyName);
00331 if(obj == null) {
00332 ErrorStreamArea.println("Polyline2d doesn't exists");
00333 return;
00334 }
00335
00336 HxCorba.Polyline2d poly = helper.narrow((org.omg.CORBA.Object)obj);
00337 CanvasObject cObj = new CanvasCorbaPolyline2d(poly);
00338 viewObject(cObj, newViewer, polyName);
00339 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00345 {
00346 HxCorba.BSplineCurveHelper helper = new HxCorba.BSplineCurveHelper();
00347
00348 Object obj = StubRepository.instance().getStub(helper.id(), bsplName);
00349 if(obj == null) {
00350 ErrorStreamArea.println("BSplineCurve doesn't exists");
00351 return;
00352 }
00353
00354 HxCorba.BSplineCurve bspl = helper.narrow((org.omg.CORBA.Object)obj);
00355 CanvasObject cObj = new CanvasCorbaBSplineCurve(bspl, 50);
00356 viewObject(cObj, newViewer, bsplName);
00357 }
|
|
||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00362 {
00363 HxCorba.SampledBSplineCurveHelper helper
00364 = new HxCorba.SampledBSplineCurveHelper();
00365
00366 Object obj = StubRepository.instance().getStub(helper.id(), bsplName);
00367 if(obj == null) {
00368 ErrorStreamArea.println("SampledBSplineCurve doesn't exists");
00369 return;
00370 }
00371
00372 HxCorba.SampledBSplineCurve bspl = helper.narrow((org.omg.CORBA.Object)obj);
00373 CanvasObject cObj = new CanvasCorbaSampledBSplineCurve(bspl);
00374 viewObject(cObj, newViewer, bsplName);
00375 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00380 {
00381 if (_activeViewer == null) {
00382 ErrorStreamArea.println("No viewer selected");
00383 return;
00384 }
00385
00386 BufferedImage im = _activeViewer.toImage();
00387 _objManager.addJavaImage(im);
00388 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00417 {
00418 if(!showTool("Registry Viewer")) {
00419 CorbaRegistryViewer rv = new CorbaRegistryViewer("/");
00420 showTool(rv, "Registry Viewer", true);
00421 }
00422 }
|
|
|
00425 {
00426 if(!showTool("IDL Script")) {
00427 IDLScriptShell idl = new IDLScriptShell();
00428 idl.setGuard(_objManager.stubRepositoryGuard());
00429 idl.setGUI("mdiApp", this);
00430 StubRepository.instance().addStubListener(idl);
00431 showTool(idl, "IDL Script", true);
00432 }
00433
00434 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00439 {
00440 if (_pixelEditor != null) return;
00441
00442 _pixelEditor = new PixelEditor();
00443 showTool(_pixelEditor, "PixelEditor", false);
00444 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00449 {
00450 if(!showTool("Stub Browser")) {
00451 StubBrowser st = new StubBrowser();
00452 st.setPopupUser(this);
00453 st.setGuard(_objManager.stubRepositoryGuard());
00454 st.setFrame(getParentFrame());
00455 showTool(st, "Stub Browser", true);
00456 }
00457 }
|
|
|
00460 {
00461 if(!showTool("Image Browser")) {
00462 WorldApp world = new WorldApp(getParentFrame());
00463
00464 HxCorba.ImageRepHelper helper = new HxCorba.ImageRepHelper();
00465 java.util.Enumeration e = StubRepository.instance().listStubs(helper.id());
00466 while(e.hasMoreElements()) {
00467 String name = e.nextElement().toString();
00468 Object obj = StubRepository.instance().getStub(helper.id(), name);
00469 HxCorba.ImageRep image = helper.narrow((org.omg.CORBA.Object)obj);
00470 world.addImage(image, name);
00471 }
00472
00473 showTool(world, "Image Browser", true);
00474 }
00475 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00480 {
00481 if(!showTool("App Browser")) {
00482 AppBrowser app = new CorbaMdiAppBrowser();
00483 showTool(app, "App Browser", true);
00484 }
00485 }
|
|
|
00488 {
00489 if(!showTool("Operations")) {
00490 OperationsBrowser ops = new OperationsBrowser(getParentFrame(), this);
00491 JInternalFrame frame = showTool(ops, "Operations", true);
00492 frame.setLocation(0,0);
00493 frame.setSize(frame.getSize().width, _desktop.getSize().height);
00494 }
00495 }
|
|
|
00499 {
00500 registerApp(_objManager);
00501 }
|
|
||||||||||||||||
|
This function is called by _bmenu if the associated menu item is selected.
00506 {
00507 BufferedImage bufIm =
00508 new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
00509
00510 for (int y=0 ; y<height ; y++)
00511 for (int x=0 ; x<width ; x++)
00512 bufIm.setRGB(x, y, c.getRGB());
00513
00514 _objManager.addJavaImage(bufIm);
00515 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00521 {
00522 /* if (_activeViewer == null) {
00523 ErrorStreamArea.println("No viewer selected");
00524 return;
00525 }
00526 Object obj = _activeViewer.getObject(javaImID);
00527 if (! (obj instanceof CanvasJavaImage)) {
00528 ErrorStreamArea.println("Object is not a java image");
00529 return;
00530 }
00531
00532 CanvasJavaImage im = (CanvasJavaImage) obj;
00533
00534 int width = (int) im.getWidth();
00535 int height = (int) im.getHeight();
00536 int[] pixels = im.getPixels(0, 0, width, height);
00537 String resImName = _mediator.makeHxImage(2, 3, 0, 8, width, height,
00538 1, pixels);
00539 CanvasHxImage cIm = new CanvasHxImage(resImName, "Direct");
00540 viewObject(cIm, true);*/
00541 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00547 {
00548 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00554 {
00555 Object obj = StubRepository.instance().getStub(HxCorba.ImageRepHelper.id(), cermName);
00556 HxCorba.ImageRep image = HxCorba.ImageRepHelper.narrow((org.omg.CORBA.Object)obj);
00557
00558 if(image == null) {
00559 ErrorStreamArea.println("Image doesn't exists");
00560 return;
00561 }
00562
00563 HxCorba.GlobalOps ops =
00564 ServiceRepository.instance().getGlobalOps();
00565 if(ops == null) return;
00566
00567 try {
00568 // first negate cermet
00569 HxCorba.ImageRep resImg = ops.HxNegate(image);
00570
00571 // now add 255 to resImg
00572 HxCorba.PixValue val = new HxCorba.PixValue();
00573 val.scalarInt(255);
00574 resImg = ops.HxAddVal(resImg, val);
00575
00576 // now make resImg really binary by tresholding
00577 val.scalarInt(128);
00578 resImg = ops.HxThreshold(resImg, val);
00579
00580 // display resIm
00581 viewObject(new CanvasCorbaImage(resImg, "Binary"), "Binary");
00582 StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(),
00583 cermName+"binary", resImg);
00584
00585 // now call "LabelBlobs"
00586 HxCorba.Blob2d[] blobList = ops.HxLabelBlobs(image, resImg, 0);
00587 StubRepository.instance().addStub(HxCorba.Blob2dSetHelper.id(),
00588 cermName+"_blobs", blobList);
00589
00590 // display the blobs
00591 for(int i=0; i<blobList.length; i++) {
00592 CanvasFigure cBlob = new CanvasCorbaBlob2d(blobList[i]);
00593 cBlob.setColor(Color.yellow);
00594 _activeViewer.addObject(cBlob);
00595 }
00596 }catch(HxCorba.ImageException e){
00597 ErrorStreamArea.println(e.message);
00598 }
00599 }
|
|
|
This function is called by _bmenu if the associated menu item is selected.
00605 {
00606 HxCorba.ImageFactory fac;
00607 HxCorba.GlobalOps ops;
00608
00609 fac = ServiceRepository.instance().getConstructor();
00610 if(fac == null) return;
00611 ops = ServiceRepository.instance().getGlobalOps();
00612 if(ops == null) return;
00613
00614 try {
00615
00616 //int[] vals = {-1, 0, 1};
00617 //HxCorba.ImageRep im = fac.fromIntData(1, 2, new HxCorba.Sizes(3,1,1), vals);
00618 HxCorba.ImageRep im = fac.fromFile("d:/images/flamingo.jpg");
00619
00620 //String name = new String("testing");
00621 //StubRepository.instance().addStub(HxCorba.ImageRepHelper.id(), name, im);
00622
00623 /*
00624 double[][] data = ops.HxNJetInvar(im, "E", 1.0, 128);
00625
00626 OutputStreamArea.println("n1 : " + data.length);
00627 for (int i=0 ; i<data.length ; i++) {
00628 for (int j=0 ; j<data[i].length ; j++) {
00629 OutputStreamArea.println("at " + i + j + " : " + data[i][j]);
00630 }
00631 }
00632 HxCorba.AapFeatures features = ops.JmCalcAapFeatures(im, im);
00633 OutputStreamArea.println("outdoor : " + features.outdoor);
00634 OutputStreamArea.println("col x: " + features.col.x);
00635 OutputStreamArea.println("col y: " + features.col.y);
00636 OutputStreamArea.println("col z: " + features.col.z);
00637 OutputStreamArea.println("percentage : " + features.percentage);
00638 OutputStreamArea.println("label : " + features.label);
00639 */
00640
00641 } catch(Exception e){
00642 ErrorStreamArea.println("test "+e);
00643 e.printStackTrace();
00644 }
00645 }
|
|
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00676 {
00677 updateStatusBar(e);
00678 }
|
|
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00684 {
00685 updateStatusBar(e);
00686 }
|
|
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00692 {
00693 updateStatusBar(e);
00694 //((CanvasObject) e.getCanvasObject()).dump();
00695
00696 if (_pixelEditor != null) {
00697 CanvasViewer viewer = (CanvasViewer) e.getViewer();
00698 Object obj = e.getCanvasObject();
00699 if (obj instanceof CanvasImage)
00700 _pixelEditor.updatePixels(viewer, (CanvasObject) obj,
00701 e.getXPosPcs(), e.getYPosPcs());
00702 else
00703 _pixelEditor.doClear();
00704 }
00705 }
|
|
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00711 {
00712 clearStatusBar(e);
00713 }
|
|
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00719 {
00720 clearStatusBar(e);
00721 }
|
|
|
Implementation of ViewerEditListener.
Reimplemented from ViewerEditListener.
00727 {
00728 updateStatusBar(e);
00729
00730 CanvasObject obj = e.getCanvasObject();
00731 if(obj instanceof ScribbleFigure)
00732 _objManager.addScribbleFigure((ScribbleFigure)obj, e.getObjectID());
00733 }
|
|
|
Method invoked when a CanvasObject has been deleted.
Reimplemented from ViewerEditListener.
00737 {
00738 CanvasObject obj = e.getCanvasObject();
00739 if(obj instanceof ScribbleFigure)
00740 _objManager.deleteScribbleFigure((ScribbleFigure)obj, e.getObjectID());
00741 }
|
|
|
Method invoked when a CanvasObject has been moved.
Reimplemented from ViewerEditListener.
00744 {
00745 CanvasObject obj = e.getCanvasObject();
00746 if(obj instanceof ScribbleFigure)
00747 _objManager.addScribbleFigure((ScribbleFigure)obj, e.getObjectID());
00748 }
|
|
|
Method invoked when a CanvasObject has been resized.
Reimplemented from ViewerEditListener.
00751 {
00752 CanvasObject obj = e.getCanvasObject();
00753 if(obj instanceof ScribbleFigure)
00754 _objManager.addScribbleFigure((ScribbleFigure)obj, e.getObjectID());
00755 }
|
|
|
Method invoked when a CanvasObject has been reshaped, i.e. one of its points has been deleted or moved Reimplemented from ViewerEditListener.
00758 {
00759 CanvasObject obj = e.getCanvasObject();
00760 if(obj instanceof ScribbleFigure)
00761 _objManager.addScribbleFigure((ScribbleFigure)obj, e.getObjectID());
00762 }
|
|
|
Implementation of Viewer(*)Listener (ignored).
Reimplemented from ViewerInspectionListener.
00766 {}
|
|
|
Method invoked when one of the visual properties of a CanvasObject has been changed.
Reimplemented from ViewerEditListener.
00767 {}
|
|
|
Implementation of ViewerModeListener.
Reimplemented from ViewerModeListener.
00773 {
00774 for (int i=0; i<_viewerList.size(); i++) {
00775 JInternalFrame f = (JInternalFrame) _viewerList.get(i);
00776 CanvasViewer v = (CanvasViewer)f.getClientProperty("Hx.Viewer");
00777 v.setMode(e.getMode(), e.getSubMode());
00778 }
00779 }
|
|
|
Implementation of NavigatorUser.
Reimplemented from NavigatorUser.
00785 {
00786 int[] ids = new int[_viewerList.size()];
00787 for (int i=0; i<_viewerList.size(); i++) {
00788 JInternalFrame f = (JInternalFrame) _viewerList.get(i);
00789 Integer viewerID = (Integer)f.getClientProperty("Hx.ViewerID");
00790 ids[i] = viewerID.intValue();
00791 }
00792 return ids;
00793 }
|
|
||||||||||||||||
|
Implementation of NavigatorUser.
Reimplemented from NavigatorUser.
00799 {
00800 CanvasViewer viewer = getCanvasViewer(viewerID);
00801 if (viewer != null)
00802 viewer.doPan(x, y);
00803 }
|
|
||||||||||||
|
Implementation of NavigatorUser.
Reimplemented from NavigatorUser.
00809 {
00810 CanvasViewer viewer = getCanvasViewer(viewerID);
00811 if (viewer != null)
00812 viewer.doZoom(zoomVal);
00813 }
|
|
|
Implementation of NavigatorUser.
Reimplemented from NavigatorUser.
00819 {
00820 CanvasViewer viewer = getCanvasViewer(viewerID);
00821 if (viewer != null)
00822 _navigator.updateStatus(viewer);
00823 }
|
|
|
Implementation of InternalFrameListener.
00829 {
00830 JInternalFrame frame = (JInternalFrame) e.getSource();
00831 if (frame == _activeFrame)
00832 _activeFrame = null;
00833 CanvasViewer viewer = (CanvasViewer)frame.getClientProperty("Hx.Viewer");
00834 if (viewer != null) {
00835 removeCanvasViewer(viewer.getViewerID());
00836 _activeViewer = null;
00837 _navigator.updateStatus(getFirstCanvasViewer());
00838 } else {
00839 for (int i=0; i<_toolFrames.size(); i++) {
00840 JInternalFrame f = (JInternalFrame) _toolFrames.get(i);
00841 if (f == frame) {
00842 _toolFrames.remove(f);
00843 }
00844 }
00845 }
00846 updateWindowMenu();
00847 }
|
|
|
Implementation of InternalFrameListener.
00853 {
00854 _activeFrame = (JInternalFrame) e.getSource();
00855 updateWindowMenu();
00856 _activeViewer = (CanvasViewer)_activeFrame.getClientProperty("Hx.Viewer");
00857 if (_activeViewer != null)
00858 _navigator.updateStatus(_activeViewer);
00859 }
|
|
|
Implementation of InternalFrameListener (ignored).
00864 {}
|
|
|
00865 {}
|
|
|
00866 {}
|
|
|
00867 {}
|
|
|
00868 {}
|
|
|
Implementation of ItemListener.
00874 {
00875 if (e.getStateChange() == ItemEvent.DESELECTED)
00876 return;
00877
00878 JMenuItem source = (JMenuItem)(e.getSource());
00879 String s = source.getText();
00880 JInternalFrame[] frames = _desktop.getAllFrames();
00881 for (int i=0 ; i<frames.length ; i++)
00882 if (frames[i].getTitle().compareTo(s) == 0) {
00883 if (frames[i].isIcon()) {
00884 try {
00885 frames[i].setIcon(false);
00886 } catch (java.beans.PropertyVetoException ex1) {}
00887 }
00888 try {
00889 frames[i].setSelected(true);
00890 frames[i].setVisible(true);
00891 } catch (java.beans.PropertyVetoException ex2) {}
00892 }
00893 }
|
|
||||||||||||||||
|
Initialization.
Reimplemented from SampleApp.
00904 {
00905 OutputStreamArea out = new OutputStreamArea(10, 60, false);
00906 ErrorStreamArea errorText = new ErrorStreamArea(parent, 4, 60);
00907
00908 OutputStreamArea.println("Initializing CorbaMediator...");
00909 initCorbaMediator(args);
00910 addInitialService(HxCorba.ConstructorHelper.id(), "Constructor", "CTOR");
00911 addInitialService(HxCorba.GlobalOpsHelper.id(), "GlobalOps", "OPS");
00912
00913 _objManager = new CorbaMdiObjectManager();
00914
00915 AdvancedLookupManager lMgr = setAdvancedLookupManager(parent);
00916 lMgr.allowChangeServer(false);
00917
00918 OutputStreamArea.println("Building "+getSampleName()+" GUI...");
00919 parent.setTitle(getSampleName()+" (unregistered)");
00920
00921 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
00922 parent.setBounds(0, 0, screenSize.width - 50, screenSize.height - 50);
00923
00924 // Create desktop
00925
00926 _desktop = new JDesktopPane();
00927 //_desktop.putClientProperty("JDesktopPane.dragMode", "outline");
00928 _windowMenu = new JMenu("Windows");
00929
00930 int x, y;
00931
00932 // Create frame for text output
00933
00934 JInternalFrame outFrame = new JInternalFrame("Output",
00935 true, false, true, true);
00936 outFrame.getContentPane().add(out);
00937 outFrame.addInternalFrameListener(this);
00938 outFrame.pack();
00939 // Should be based on desktop, but that is not packed yet.
00940 x = parent.getSize().width - outFrame.getSize().width;
00941 y = parent.getSize().height - outFrame.getSize().height;
00942 y = y - 65; // allow space for status bar
00943 outFrame.setLocation(x, y);
00944 _desktop.add(outFrame);
00945 outFrame.setVisible(true);
00946 _fixedFrames.add(outFrame);
00947
00948 // Create frame for errors
00949
00950 JInternalFrame errFrame = new JInternalFrame("Errors",
00951 true, false, true, true);
00952 errFrame.getContentPane().add(errorText);
00953 errFrame.addInternalFrameListener(this);
00954 errFrame.pack();
00955 errFrame.setLocation(x, y - errFrame.getSize().height);
00956 _desktop.add(errFrame);
00957 errFrame.setVisible(true);
00958 _fixedFrames.add(errFrame);
00959 // This makes it invisible :-(
00960 // _desktop.getDesktopManager().iconifyFrame(errFrame);
00961 // This also makes it invisible :-(
00962 // try {
00963 // errFrame.setIcon(true);
00964 // } catch (java.beans.PropertyVetoException e) {}
00965
00966
00967 // Add StatusBars to parent frame below desktop
00968
00969 JPanel statusP = new JPanel();
00970 statusP.setLayout(new GridBagLayout());
00971 _stBar1 = new JTextField("StatusBar1");
00972 _stBar1.setEditable(false);
00973 HX.addGridComp(statusP, _stBar1, 0, 0, 1, 1,
00974 GridBagConstraints.HORIZONTAL, 1.0, 0.0, 0, 0);
00975 _stBar2 = new JTextField("StatusBar2");
00976 _stBar2.setEditable(false);
00977 HX.addGridComp(statusP, _stBar2, 1, 0, 1, 1,
00978 GridBagConstraints.HORIZONTAL, 1.0, 0.0, 0, 0);
00979 parent.getContentPane().add("South", statusP);
00980
00981
00982 // Add ViewerControlBar to desktop
00983
00984 _vcb = new ViewerControlBar();
00985 _vcb.addViewerModeListener(this);
00986 JInternalFrame vcbFrame = new JInternalFrame("ViewerControlBar",
00987 false, false, false, true);
00988 vcbFrame.getContentPane().add(_vcb);
00989 vcbFrame.addInternalFrameListener(this);
00990 vcbFrame.pack();
00991 _desktop.add(vcbFrame);
00992 vcbFrame.setVisible(true);
00993 // Should be based on desktop, but that is not packed yet.
00994 x = parent.getSize().width - vcbFrame.getSize().width;
00995 y = 0;
00996 vcbFrame.setLocation(x, y);
00997 _fixedFrames.add(vcbFrame);
00998
00999 // Add Navigator to desktop
01000
01001 double[] values = {0.1, 0.2, 0.5, 1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 20.0};
01002 _navigator = new Navigator(this, 1.0, 0.1, 20.0, values, 2);
01003 JInternalFrame zoomFrame = new JInternalFrame("Navigator",
01004 false, false, false, true);
01005 zoomFrame.getContentPane().add(_navigator);
01006 zoomFrame.addInternalFrameListener(this);
01007 zoomFrame.pack();
01008 x = parent.getSize().width - zoomFrame.getSize().width;
01009 y = vcbFrame.getSize().height;
01010 zoomFrame.setLocation(x, y);
01011 _desktop.add(zoomFrame);
01012 zoomFrame.setVisible(true);
01013 _fixedFrames.add(zoomFrame);
01014
01015 // Create CorbaExtMenuBar:
01016
01017 //OutputStreamArea.println("Querying InterfaceRepository...");
01018 //org.omg.CORBA.Repository ir = ServiceRepository.instance().getRepository();
01019 _bmenu = new CorbaExtMenuBar(parent, this);
01020 _bmenu.addMenu("File");
01021 _bmenu.addMenuItem("File", "Open Image Java", "handleOpenImageJava");
01022 _bmenu.addMenuItem("File", "Open Server Image", "handleOpenServerImage");
01023 _bmenu.addMenuItem("File", "Open Server Sequence", "handleOpenServerSeq");
01024 _bmenu.addSeparator("File");
01025 _bmenu.addMenuItem("File", "Exit", "handleExit");
01026
01027 _bmenu.addMenu("Edit");
01028 _bmenu.addMenuItem("Edit", "Cut", (String)null);
01029 _bmenu.addMenuItem("Edit", "Copy", (String)null);
01030 _bmenu.addMenuItem("Edit", "Paste", "handlePaste");
01031
01032 _bmenu.addMenu("Preferences");
01033 _bmenu.addSubMenu("Preferences", "Look&Feel");
01034 String[] lf = { "Cross Platform", "System", "Motif" };
01035 _bmenu.addGroupMenu("Look&Feel", lf, "handleLF", lf[0]);
01036
01037 _bmenu.addMenu("Viewer");
01038 _bmenu.addMenuItem("Viewer", "New viewer", "handleNewViewer");
01039 _bmenu.addMenuItem("Viewer", "Refresh", null,
01040 new CallableMethod("doRefresh"),
01041 this, "handleViewerOp");
01042 _bmenu.addMenuItem("Viewer", "Clear", null,
01043 new CallableMethod("doClear"),
01044 this, "handleViewerOp");
01045 _bmenu.addMenuItem("Viewer", "Normal view", "handleNormalView");
01046 _bmenu.addMenuItem("Viewer", "Fit viewport to canvas", "handleFitViewportToCanvas");
01047 _bmenu.addSeparator("Viewer");
01048 _bmenu.addSubMenu("Viewer", "Set Default Drawing Color");
01049 _bmenu.addColorsMenu("Set Default Drawing Color", "handleDrawingColor");
01050 _bmenu.addSubMenu("Viewer", "Set Background Color");
01051 _bmenu.addColorsMenu("Set Background Color", "handleBackgroundColor");
01052 _bmenu.addSeparator("Viewer");
01053 _bmenu.addSubMenu("Viewer", "Default Display Mode");
01054 _bmenu.addGroupMenu("Default Display Mode", getRGBModes(), "handleDisplayMode", _displayMode);
01055 _bmenu.addSeparator("Viewer");
01056 _bmenu.addSubMenu("Viewer", "View Object");
01057 _bmenu.addMenuItem("View Object", "ImageRep",
01058 new CallableMethod("viewImageRep",
01059 "String", "image name", HxCorba.ImageRepHelper.id(),
01060 "boolean", "pop new viewer", "boolean"));
01061 _bmenu.addMenuItem("View Object", "Blob2d",
01062 new CallableMethod("viewBlob2d",
01063 "String", "blob name", HxCorba.Blob2dHelper.id(),
01064 "boolean", "pop new viewer", "boolean"));
01065 _bmenu.addMenuItem("View Object", "Polyline2d",
01066 new CallableMethod("viewPolyline2d",
01067 "String", "polyline name", HxCorba.Polyline2dHelper.id(),
01068 "boolean", "pop new viewer", "boolean"));
01069 _bmenu.addMenuItem("View Object", "BSplineCurve",
01070 new CallableMethod("viewBSplineCurve",
01071 "String", "b-spline name", HxCorba.BSplineCurveHelper.id(),
01072 "boolean", "pop new viewer", "boolean"));
01073 _bmenu.addMenuItem("View Object", "SampledBSplineCurve",
01074 new CallableMethod("viewSampledBSplineCurve",
01075 "String", "b-spline name", HxCorba.SampledBSplineCurveHelper.id(),
01076 "boolean", "pop new viewer", "boolean"));
01077 _bmenu.addMenuItem("Viewer", "View All Images", "handleViewAllImages");
01078 _bmenu.addSeparator("Viewer");
01079 _bmenu.addMenuItem("Viewer", "make Image", "handleMakeImage");
01080 //_bmenu.addMenuItem("Viewer", "to HxImageRep", "handleToHxImageRep");
01081
01082 _bmenu.addMenu("Tools");
01083 _bmenu.addMenuItem("Tools", "Registry Viewer", "handleRegistryViewer");
01084 //_bmenu.addMenuItem("Tools", "Sa Repository Viewer", "handleSaRepositoryViewer");
01085 _bmenu.addMenuItem("Tools", "Pixel Editor", "handlePixelEditor");
01086 _bmenu.addSeparator("Tools");
01087 _bmenu.addMenuItem("Tools", "Stub Browser", "handleStubBrowser");
01088 _bmenu.addMenuItem("Tools", "Image Browser", "handleImageBrowser");
01089 _bmenu.addMenuItem("Tools", "App Browser", "handleAppBrowser");
01090 _bmenu.addMenuItem("Tools", "Operations", "handleOperationsBrowser");
01091 _bmenu.addMenuItem("Tools", "IDL Script", "handleIDLScript");
01092 _bmenu.addSeparator("Tools");
01093 _bmenu.addMenuItem("Tools", "Register App", "handleRegisterApp");
01094
01095 _bmenu.addMenu("Object");
01096 _bmenu.addMenuItem("Object", "New java image",
01097 new CallableMethod("handleNewJavaImage",
01098 "int", "width", "int",
01099 "int", "height", "int",
01100 "Color", "background color", "Color"));
01101 _bmenu.addCorbaOperationMenu("Object", "Java image to HxImageRep",
01102 "Constructor", "importImage");
01103 _bmenu.addCorbaOperationMenu("Object", "Java polyline to HxPolyline2d",
01104 "Constructor", "importPolyline");
01105 _bmenu.addSeparator("Object");
01106 _bmenu.addMenuItem("Object", "Label cermet",
01107 new CallableMethod("handleLabelCermet",
01108 "String", "cermet name", HxCorba.ImageRepHelper.id()));
01109 _bmenu.addMenuItem("Object", "Example BSpline",
01110 (CallableMethod)null);
01111 /*new CallableMethod("handleExampleBSpline",
01112 "int", "Polyong ID", "int",
01113 "int", "Degree", "int",
01114 "boolean", "Interpolate", "boolean"));*/
01115 _bmenu.addSeparator("Object");
01116 _bmenu.addMenuItem("Object", "TestSomething", "handleTestSomething");
01117
01118 _bmenu.addCorbaObjectsMenu();
01119 _bmenu.addCorbaObjectMenu("Constructor");
01120 _bmenu.addCorbaObjectMenu("ImageRep");
01121 _bmenu.addCorbaObjectMenu("GlobalOps");
01122 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images");
01123 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Arithmetic");
01124 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Conversions");
01125 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Color");
01126 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Detector");
01127 /*
01128 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Export");
01129 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Filter");
01130 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Generation");
01131 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Geometric");
01132 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Mask");
01133 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Morphology");
01134 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Morphology2");
01135 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Motion");
01136 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Noise");
01137 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Pixel");
01138 _bmenu.addCorbaObjectMenu("GlobalOps/Menu/Images/Segmentation");
01139 */
01140
01141 parent.getContentPane().add(_desktop);
01142 parent.setJMenuBar(_bmenu);
01143
01144 _bmenu.add(_windowMenu);
01145 updateWindowMenu();
01146
01147 parent.show();
01148
01149 _desktop.setDropTarget(new DropTarget(_desktop, _objManager));
01150
01151 // handleSystemLF();
01152
01153 OutputStreamArea.println("Done.");
01154 out.capture();
01155
01156 return true;
01157 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001