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