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