Inheritance diagram for OracleSurfApp::
Public Methods | |
void | handleNewImage (HxCorba.ImageRep img, String name) |
void | handleExit () |
This function is called by _bmenu if the associated menu item is selected. More... | |
void | handleViews () |
void | handleRandom () |
void | handleSearch () |
void | viewerEntered (ViewerEvent e) |
Method invoked when the mouse enters the viewer. More... | |
void | viewerExited (ViewerEvent e) |
Method invoked when the mouse leaves the viewer. More... | |
void | viewerSelected (ViewerEvent e) |
Method invoked when a viewer has been selected. More... | |
void | objectEntered (ViewerEvent e) |
Method invoked when the mouse passes over a CanvasObject for the first time. More... | |
void | objectProbed (ViewerEvent e) |
Method invoked when the mouse passes over a CanvasObject it had already entered. More... | |
void | objectSelected (ViewerEvent e) |
Implementation of ViewerInspectionListener. More... | |
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.
00035 { 00036 OracleSurfApp app = new OracleSurfApp(); 00037 app.doMain(args); 00038 00039 // doMain will call buildSample 00040 } |
|
00044 { 00045 if (img == null) 00046 return; 00047 00048 // Clear viewer and add new image. 00049 CanvasObject cObj = new CanvasCorbaImage(img); 00050 _mainViewer.doClear(); 00051 _mainViewer.addObject(cObj); 00052 00053 _queryImage = img; 00054 _queryName = name; 00055 00056 OutputStreamArea.println("Search Image: " + name); 00057 } |
|
This function is called by _bmenu if the associated menu item is selected.
00062 { 00063 quitSample(); 00064 } |
|
00067 { 00068 for (int i=0 ; i<_viewerNames.length ; i++) { 00069 _viewerImages[i] = _ctor.fromFile(_imageDir+"/"+_viewerNames[i]); 00070 if(_viewerImages[i] == null) { 00071 ErrorStreamArea.println(_ctor.getLastError()); 00072 return; 00073 } 00074 CanvasObject cObj = new CanvasCorbaImage(_viewerImages[i]); 00075 _viewer[i].doClear(); 00076 _viewer[i].addObject(cObj); 00077 _caption[i].setText(_viewerNames[i]); 00078 } 00079 _viewersPanel.invalidate(); 00080 } |
|
00083 { 00084 try { 00085 _viewerNames = _ses.random(_setName, _nrViewers); 00086 handleViews(); 00087 } 00088 catch(HxCorba.DatabaseException ex) { 00089 ErrorStreamArea.println(ex.message); 00090 } 00091 } |
|
00094 { 00095 if (_queryImage == null) { 00096 ErrorStreamArea.println("No query image."); 00097 return; 00098 } 00099 00100 try { 00101 _viewerNames = _ses.nearest(_queryName, _setName, _nrViewers); 00102 handleViews(); 00103 } 00104 catch(HxCorba.DatabaseException ex) { 00105 ErrorStreamArea.println(ex.message); 00106 } 00107 } |
|
Method invoked when the mouse enters the viewer.
Reimplemented from ViewerInspectionListener.
00111 {} |
|
Method invoked when the mouse leaves the viewer.
Reimplemented from ViewerInspectionListener.
00112 {} |
|
Method invoked when a viewer has been selected.
Reimplemented from ViewerInspectionListener.
00113 {} |
|
Method invoked when the mouse passes over a CanvasObject for the first time.
Reimplemented from ViewerInspectionListener.
00114 {} |
|
Method invoked when the mouse passes over a CanvasObject it had already entered.
Reimplemented from ViewerInspectionListener.
00115 {} |
|
Implementation of ViewerInspectionListener.
Reimplemented from ViewerInspectionListener.
00120 { 00121 CanvasViewer v = (CanvasViewer) e.getViewer(); 00122 int index = -1; 00123 for (int i=0 ; i<_nrViewers ; i++) { 00124 if (_viewer[i] == v) 00125 index = i; 00126 } 00127 if (index != -1) { 00128 OutputStreamArea.println("Image thumbnail selected: " + index); 00129 handleNewImage(_viewerImages[index], _viewerNames[index]); 00130 } 00131 } |
|
Reimplemented from SampleApp.
00141 { 00142 OutputStreamArea out = new OutputStreamArea(10, 80, false); 00143 ErrorStreamArea err = new ErrorStreamArea(parent, 3, 80); 00144 00145 OutputStreamArea.println("Initializing CorbaMediator..."); 00146 initCorbaMediator(args); 00147 setAdvancedLookupManager(parent); 00148 00149 _imageDir = getSampleProperty("ImageDir"); 00150 if(_imageDir.equals("")) { 00151 ErrorStreamArea.println("\"ImageDir\" property not defined!"); 00152 return false; 00153 } 00154 _setName = getSampleProperty("SetName"); 00155 if(_setName.equals("")) { 00156 ErrorStreamArea.println("\"SetName\" property not defined!"); 00157 return false; 00158 } 00159 00160 _ses = openDBSession(); 00161 if(_ses == null) return false; 00162 _ctor = ServiceRepository.instance().getConstructor(); 00163 if(_ctor == null) return false; 00164 00165 OutputStreamArea.println("Building "+getSampleName()+" GUI..."); 00166 00167 // Main panel 00168 00169 JPanel gui = new JPanel(new GridBagLayout()); 00170 00171 // Setup splitpanes 00172 00173 JSplitPane lowerLeft = new JSplitPane(JSplitPane.VERTICAL_SPLIT, out, err); 00174 lowerLeft.setOneTouchExpandable(true); 00175 lowerLeft.setDividerLocation(170); 00176 00177 _mainViewer = ViewerFactory.makeBasicViewer(); 00178 _mainViewer.addViewerInspectionListener(this); 00179 JSplitPane left = new JSplitPane(JSplitPane.VERTICAL_SPLIT, 00180 _mainViewer, lowerLeft); 00181 left.setOneTouchExpandable(true); 00182 left.setDividerLocation(512); 00183 00184 JSplitPane viewSP = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 00185 left, makeViewers()); 00186 viewSP.setOneTouchExpandable(true); 00187 viewSP.setDividerLocation(512); 00188 HX.addGridComp(gui, viewSP, 0, 0, 1, 1, 00189 GridBagConstraints.BOTH, 1.0, 1.0, 1, 1); 00190 00191 00192 // Create ExtMenuBar: 00193 00194 _bmenu = new ExtMenuBar(this); 00195 _bmenu.addMenu("File"); 00196 _bmenu.addMenuItem("File", "Exit", "handleExit"); 00197 00198 _bmenu.addMenu("Surf"); 00199 _bmenu.addMenuItem("Surf", "Random", "handleRandom"); 00200 _bmenu.addMenuItem("Surf", "Search", "handleSearch"); 00201 00202 parent.setJMenuBar(_bmenu); 00203 parent.getContentPane().add(gui, BorderLayout.CENTER); 00204 parent.setSize(1100, 840); 00205 parent.setLocation(0, 0); 00206 00207 OutputStreamArea.println("Done."); 00208 out.capture(); 00209 00210 return true; 00211 } |