Horus Doc || Java GUI Reference || Doxygen's quick Index  

WorldApp Class Reference

List of all members.

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)

Constructor & Destructor Documentation

WorldApp::WorldApp JFrame    frame [inline]
 

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 }


Member Function Documentation

void WorldApp::main String    args[] [inline, static]
 

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 }

void WorldApp::actionPerformed ActionEvent    e [inline]
 

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 }

void WorldApp::addMachine MachineElement    e,
int    x,
int    y
[inline]
 

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 }

void WorldApp::removeMachine MachineElement    e [inline]
 

00193 {
00194     _world.remove(e);
00195     _world.repaint();
00196 }

void WorldApp::addImage HxCorba.ImageRep    image,
String    name
[inline]
 

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 }

void WorldApp::quitEditing   [inline]
 

00214 {
00215     _butUse.setSelected(true);
00216     _editor.setVisible(false);
00217     _world.setLayer(_editor, - _EDIT_LAYER);
00218 }

void WorldApp::dragOver DropTargetDragEvent    event [inline]
 

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 }

void WorldApp::dragExit DropTargetEvent    event [inline]
 

00234 {
00235     setDragPosition(null);
00236 }

void WorldApp::drop final DropTargetDropEvent    event [inline]
 

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 }

void WorldApp::dragEnter DropTargetDragEvent    event [inline]
 

00288 {}

void WorldApp::dropActionChanged DropTargetDragEvent    event [inline]
 

00289 {}

JToolBar WorldApp::getToolBar   [inline]
 

00292 {
00293     return _toolBar;
00294 }


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:29 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001