Public Methods | |
WorldApp (JFrame frame) | |
void | actionPerformed (ActionEvent e) |
void | addMachine (MachineElement e, int x, int y) |
void | removeMachine (MachineElement e) |
void | addImage (HxCorba.ImageRep image, String name) |
void | quitEditing () |
void | dragOver (DropTargetDragEvent event) |
void | dragExit (DropTargetEvent event) |
void | drop (final DropTargetDropEvent event) |
void | dragEnter (DropTargetDragEvent event) |
void | dropActionChanged (DropTargetDragEvent event) |
JToolBar | getToolBar () |
Static Public Methods | |
void | main (String[] args) |
|
00055 { 00056 OutputStreamArea.println("Starting WorldApp..."); 00057 PropertyDialog.frame = frame; 00058 Images.tracker = frame; 00059 00060 frame.addWindowListener(new WindowAdapter() { 00061 public void windowClosing(WindowEvent e) { 00062 _world.removeAll(); // elements can do clean-up handling ComponentRemoved event 00063 } 00064 }); 00065 00066 createContents(); 00067 00068 for(int i=0; i<_allButtons.length; i++) 00069 _allButtons[i].addActionListener(this); 00070 00071 _world.setBackground(Color.lightGray); 00072 _world.setPreferredSize(new Dimension(700,400)); 00073 _editor.setSize(new Dimension(2000,2000)); 00074 00075 _butUse.setSelected(true); 00076 //selectButton(_butUse); 00077 _editor.setVisible(false); 00078 00079 new DropTarget((Component)_world, (DropTargetListener)this); 00080 } |
|
00027 { 00028 //System.loadLibrary("HxLibJavam"); 00029 00030 JFrame frame = new JFrame("ImageWorld"); 00031 frame.setDefaultCloseOperation(3); 00032 00033 //OutputStreamArea out = new OutputStreamArea(10,50); 00034 ErrorStreamArea err = new ErrorStreamArea(frame, 0, 0); 00035 CorbaMediator med = new FullCorbaMediator(args); 00036 00037 SilentLookupManager lookupMgr = new SilentLookupManager(); 00038 ServiceRepository.instance().setLookupManager(lookupMgr); 00039 00040 WorldApp app = new WorldApp(frame); 00041 00042 app.addMachine(new LoadElement(), 100, 70); 00043 app.addMachine(new BpoElement(),300,50); 00044 app.addMachine(new UpoElement(), 315, 200); 00045 app.addMachine(new ViewElement(), 500, 100); 00046 app.addMachine(new TrashElement(), 150, 225); 00047 00048 frame.getContentPane().add(app); 00049 frame.setLocation(50,50); 00050 frame.pack(); 00051 frame.show(); 00052 } |
|
00120 { 00121 //selectButton((JButton)e.getSource()); 00122 00123 if(e.getSource() == _butUse) { 00124 _editor.setVisible(false); 00125 _world.setLayer(_editor, - _EDIT_LAYER); 00126 } 00127 else { 00128 _editor.setVisible(true); 00129 _world.setLayer(_editor, _EDIT_LAYER); 00130 } 00131 00132 if (e.getSource() == _butDelete) { 00133 _editor.setDeleteMode(); 00134 } 00135 else if (e.getSource() == _butMove) { 00136 _editor.setMoveMode(); 00137 } 00138 else if (e.getSource() == _butLoad) { 00139 _editor.setMachineMode(new LoadElement()); 00140 } 00141 else if (e.getSource() == _butVideoLoad) { 00142 _editor.setMachineMode(new VideoLoadElement()); 00143 } 00144 else if (e.getSource() == _butView) { 00145 _editor.setMachineMode(new ViewElement()); 00146 } 00147 else if (e.getSource() == _butPlay) { 00148 _editor.setMachineMode(new PlayElement()); 00149 } 00150 else if (e.getSource() == _butTV) { 00151 _editor.setMachineMode(new TVElement()); 00152 } 00153 else if (e.getSource() == _butBpo) { 00154 _editor.setMachineMode(new BpoElement()); 00155 } 00156 else if (e.getSource() == _butUpo) { 00157 _editor.setMachineMode(new UpoElement()); 00158 } 00159 else if (e.getSource() == _butInquiry) { 00160 _editor.setMachineMode(new InquiryElement()); 00161 } 00162 else if (e.getSource() == _butApp) { 00163 _editor.setMachineMode(new InputElement()); 00164 } 00165 else if (e.getSource() == _butTrans) { 00166 _editor.setMachineMode(new OutputElement()); 00167 } 00168 else if (e.getSource() == _butTrash) { 00169 _editor.setMachineMode(new TrashElement()); 00170 } 00171 else if (e.getSource() == _butOps) { 00172 MachineElement opMachine = createOpMachine(); 00173 if(opMachine == null) 00174 quitEditing(); 00175 else 00176 _editor.setMachineMode(opMachine); 00177 } 00178 } |
|
00181 { 00182 e.setLocation(new Point(x, y)); 00183 _world.add(e, new Integer(_MACHINE_LAYER)); 00184 if(e instanceof ContainerListener) 00185 _world.addContainerListener((ContainerListener)e); 00186 00187 _editor.addMachine(e); 00188 e.init(); 00189 _world.repaint(); 00190 } |
|
00193 { 00194 _world.remove(e); 00195 _world.repaint(); 00196 } |
|
00199 { 00200 ImageElement elem = new ImageElement(image, name); 00201 00202 Dimension size = getSize(); 00203 if((size.width == 0) || (size.height == 0)) // still not shown 00204 size = _world.getPreferredSize(); 00205 00206 Point point = new Point(0,0); 00207 point.translate(_rand.nextInt(size.width), _rand.nextInt(size.height)); 00208 elem.setLocation(point); 00209 _world.add(elem, new Integer(_IMAGE_LAYER)); 00210 _world.repaint(); 00211 } |
|
00214 { 00215 _butUse.setSelected(true); 00216 _editor.setVisible(false); 00217 _world.setLayer(_editor, - _EDIT_LAYER); 00218 } |
|
00222 { 00223 //System.out.println("over "+new Object()); 00224 if(event.isDataFlavorSupported(HxCorbaDataFlavor.imageFlavor) || 00225 event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { 00226 event.acceptDrag(event.getDropAction()); 00227 setDragPosition(event.getLocation()); 00228 }else 00229 event.rejectDrag(); 00230 } |
|
00234 { 00235 setDragPosition(null); 00236 } |
|
00240 { 00241 if(!event.isDataFlavorSupported(HxCorbaDataFlavor.imageFlavor) && 00242 !event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { 00243 event.rejectDrop(); 00244 return; 00245 } 00246 00247 try { 00248 event.acceptDrop(event.getDropAction()); 00249 Transferable transferable = event.getTransferable(); 00250 final Object data; 00251 00252 DataFlavor fl = HxCorbaDataFlavor.imageFlavor; 00253 if(transferable.isDataFlavorSupported(fl)) { 00254 data = transferable.getTransferData(fl); 00255 Thread t = new Thread() { 00256 public void run() { 00257 doDrop((ObjectTransfer)data, ImageElement.getLocalDrag(), event); 00258 } 00259 }; 00260 t.start(); 00261 event.getDropTargetContext().dropComplete(true); 00262 return; 00263 } 00264 00265 fl = DataFlavor.javaFileListFlavor; 00266 if(transferable.isDataFlavorSupported(fl)) { 00267 data = transferable.getTransferData(fl); 00268 Thread t = new Thread() { 00269 public void run() { 00270 doDrop((java.util.List)data, event); 00271 } 00272 }; 00273 t.start(); 00274 event.getDropTargetContext().dropComplete(true); 00275 return; 00276 } 00277 } 00278 catch (java.io.IOException exception) { 00279 exception.printStackTrace(); 00280 event.rejectDrop(); 00281 }catch (UnsupportedFlavorException ufException ) { 00282 ufException.printStackTrace(); 00283 event.rejectDrop(); 00284 } 00285 } |
|
00288 {} |
|
00289 {} |
|
00292 { 00293 return _toolBar; 00294 } |