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