Inheritance diagram for StubBrowser::

Public Methods | |
| StubBrowser () | |
| StubBrowser (HxCorba.App app) | |
| void | setPopupUser (Object user) |
| void | setFrame (JFrame frame) |
| void | addStubAction (String id, String label, Object user, String method) |
| void | actionPerformed (ActionEvent e) |
| void | mousePressed (MouseEvent e) |
| void | mouseEntered (MouseEvent e) |
| void | mouseExited (MouseEvent e) |
| void | mouseClicked (MouseEvent e) |
| void | mouseReleased (MouseEvent e) |
| void | stubAdded (String intfId, String name, Object stub) |
| void | stubRemoved (String intfId, String name) |
| void | setGuard (StubRepositoryGuard g) |
| void | valueChanged (TreeSelectionEvent e) |
| void | dragGestureRecognized (DragGestureEvent event) |
| void | dragDropEnd (DragSourceDropEvent event) |
| void | dragEnter (DragSourceDragEvent event) |
| void | dragOver (DragSourceDragEvent event) |
| void | dragExit (DragSourceEvent event) |
| void | dropActionChanged (DragSourceDragEvent event) |
| void | lostOwnership (Clipboard clipboard, Transferable contents) |
| void | dragOver (DropTargetDragEvent event) |
| void | drop (DropTargetDropEvent event) |
| void | dragEnter (DropTargetDragEvent event) |
| void | dragExit (DropTargetEvent event) |
| void | dropActionChanged (DropTargetDragEvent event) |
Static Public Methods | |
| void | main (String[] args) |
|
|
00072 {
00073 this(null);
00074 }
|
|
|
00077 {
00078 _app = app;
00079 doInit();
00080 }
|
|
|
00035 {
00036 JFrame f = new JFrame("StubBrowser");
00037 f.setDefaultCloseOperation(3); //EXIT_ON_CLOSE
00038
00039 OutputStreamArea.println("Initializing CorbaMediator...");
00040 final CorbaMediator med = new FullCorbaMediator(args);
00041
00042 OutputStreamArea.println("Registering App Servant...");
00043 StubManagerAppServant servant = new StubManagerAppServant();
00044 final String appName = med.registerApp(servant, "StubBrowser");
00045 if(appName != null) {
00046 OutputStreamArea.println("Registered as "+appName);
00047 f.setTitle(appName);
00048
00049 f.addWindowListener(new WindowAdapter() {
00050 public void windowClosing(WindowEvent evt) {
00051 med.unregisterApp(appName);
00052 System.exit(0);
00053 }
00054 });
00055 }
00056
00057 StubBrowser stb = new StubBrowser();
00058
00059 //System.loadLibrary("HxLibJavam");
00060 OutputStreamArea out = new OutputStreamArea(10,50);
00061 ErrorStreamArea err = new ErrorStreamArea(f, 0, 0);
00062 stb.add(out, BorderLayout.SOUTH);
00063
00064 f.getContentPane().add(stb);
00065 f.setSize(700, 550);
00066 f.show();
00067
00068 OutputStreamArea.println("Done");
00069 }
|
|
|
00083 {
00084 _popupUser = user;
00085 }
|
|
|
00088 {
00089 _frame = frame;
00090 }
|
|
||||||||||||||||||||
|
00093 {
00094 /* JButton b = new JButton(label);
00095 b.addActionListener(new StubAction(user, method));
00096
00097 JPanel p = getStubActions(id);
00098 p.add(b);*/
00099 }
|
|
|
00102 {
00103 Object src = e.getSource();
00104
00105 if((src == _butCut) || (src == _butCopy)) {
00106 Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
00107 Transferable tr = getSelectedTransferable(DataFlavor.stringFlavor);
00108 if(tr != null) clip.setContents(tr, this);
00109 }
00110
00111 if((src == _butCut) || (src == _butDelete)) {
00112 if(_selectedStub != null) {
00113 int row = _tree.getMinSelectionRow();
00114 _guard.removeStub(_selectedType, _selectedStub);
00115 if(row >= _tree.getRowCount()) row = row-1;
00116 _tree.setSelectionRow(row);
00117 }
00118 }
00119
00120 if(src == _butPaste) {
00121 Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
00122 Transferable tr = clip.getContents(this);
00123 if(tr == null) return;
00124
00125 try {
00126 String data = (String)tr.getTransferData(DataFlavor.stringFlavor);
00127 int index1 = data.indexOf('\t', 0);
00128 int index2 = data.indexOf('\t', index1+1);
00129 if((index1 == -1) || (index2 == -1))
00130 return;
00131
00132 String id = data.substring(0, index1);
00133 String ior = data.substring(index1+1, index2);
00134 String name = data.substring(index2+1);
00135 doDrop(id, name, ior);
00136 }catch(java.io.IOException ex) {
00137 }catch(UnsupportedFlavorException ex) {
00138 }
00139 }
00140 }
|
|
|
00144 {
00145 if(_popupUser == null) return;
00146
00147 if(e.isMetaDown()) { //Right button
00148 Point pt = e.getPoint();
00149 TreePath path = _tree.getPathForLocation(pt.x, pt.y);
00150 _tree.setSelectionPath(path);
00151
00152 if(_selectedType == null) return;
00153 JPopupMenu pm = getPopupMenu(_selectedType);
00154 if(pm != null) pm.show(_tree, pt.x, pt.y);
00155 }
00156 }
|
|
|
00159 {}
|
|
|
00160 {}
|
|
|
00161 {}
|
|
|
00162 {}
|
|
||||||||||||||||
|
Reimplemented from StubListener.
00166 {
00167 if(_renaming) return; //this is the stub we are renaming
00168
00169 DefaultTreeModel tModel = (DefaultTreeModel)_tree.getModel();
00170 StringTreeNode root = (StringTreeNode)tModel.getRoot();
00171
00172 int index = root.getChild(intfId);
00173 if(index == -1) {
00174 StringTreeNode node = new StringTreeNode(intfId) {
00175 public boolean isLeaf() { return false; }
00176 public void setUserObject(Object obj) {} //rename not allowed
00177 };
00178 root.insert(node, 0);
00179 tModel.nodesWereInserted(root, new int[] {0});
00180 index = 0;
00181 }
00182 StringTreeNode typeNode = (StringTreeNode)root.getChildAt(index);
00183
00184 index = typeNode.getChild(name);
00185 if(index != -1) return; //already exists
00186
00187 StringTreeNode stubNode = new StringTreeNode(name) {
00188 public void setUserObject(Object obj)
00189 {
00190 boolean ok = renameSelected(obj.toString());
00191 if(ok) super.setUserObject(obj);
00192 }
00193 };
00194
00195 typeNode.insert(stubNode, 0);
00196 tModel.nodesWereInserted(typeNode, new int[] {0});
00197
00198 _tree.setRootVisible(true);
00199 _tree.expandRow(0);
00200 _tree.setRootVisible(false);
00201 }
|
|
||||||||||||
|
Reimplemented from StubListener.
00205 {
00206 if(_renaming) return; //this is the stub we are renaming
00207
00208 DefaultTreeModel tModel = (DefaultTreeModel)_tree.getModel();
00209 StringTreeNode root = (StringTreeNode)tModel.getRoot();
00210
00211 int index = root.getChild(intfId);
00212 if(index == -1) return;
00213 StringTreeNode typeNode = (StringTreeNode)root.getChildAt(index);
00214
00215 index = typeNode.getChild(name);
00216 if(index == -1) return;
00217 StringTreeNode stubNode = (StringTreeNode)typeNode.getChildAt(index);
00218
00219 typeNode.remove(index);
00220 tModel.nodesWereRemoved(typeNode, new int[] {index}, new Object[] {stubNode});
00221 }
|
|
|
00224 {
00225 _guard = g;
00226 }
|
|
|
00231 {
00232 TreePath path = e.getNewLeadSelectionPath();
00233 int pathSize = 0;
00234 if(path != null) pathSize = path.getPathCount();
00235
00236 _selectedType = null;
00237 _selectedStub = null;
00238 if(pathSize > 1) _selectedType = path.getPathComponent(1).toString();
00239 if(pathSize > 2) _selectedStub = path.getPathComponent(2).toString();
00240
00241 StubInfo info = null;
00242 if(_selectedStub != null)
00243 info = getStubInfo(_selectedType, _selectedStub);
00244
00245 // info will be null if object is null, or it's not an
00246 // org.omg.CORBA.Object
00247
00248 _infoPanel.removeAll();
00249 if(info != null)
00250 _infoPanel.add(new StubInfoPanel(info), BorderLayout.CENTER);
00251 _infoPanel.validate();
00252 _infoPanel.repaint();
00253
00254 _butDelete.setEnabled((_selectedStub != null) && (_app == null));
00255 _butCut.setEnabled((_selectedStub != null) && (_app == null) && (info != null));
00256 _butCopy.setEnabled((_selectedStub != null) && (info != null));
00257 _butPaste.setEnabled(true);
00258 _butRefresh.setEnabled(_selectedType != null);
00259 }
|
|
|
00263 {
00264 /*boolean drag = false;
00265 Iterator it = event.iterator();
00266 while(it.hasNext()) {
00267 Object ev = it.next();
00268 if(ev instanceof MouseEvent)
00269 if(((MouseEvent)ev).getID() == MouseEvent.MOUSE_DRAGGED)
00270 drag = true;
00271 }
00272 if(!drag) return;*/
00273
00274 // a drag gesture has been initiated
00275
00276 // Avoid the node to enter in edit mode (JDK bug?)
00277 _tree.setEditable(false);
00278
00279 Transferable data = getSelectedTransferable(HxCorbaDataFlavor.objectFlavor);
00280 if(data != null)
00281 event.getDragSource().startDrag(event,
00282 DragSource.DefaultMoveNoDrop, data, this);
00283 }
|
|
|
00287 {
00288 _tree.setEditable(_app == null);
00289 }
|
|
|
00291 {}
|
|
|
00292 {}
|
|
|
00293 {}
|
|
|
00294 {}
|
|
||||||||||||
|
00297 {}
|
|
|
00301 {
00302 if(event.isDataFlavorSupported(HxCorbaDataFlavor.objectFlavor))
00303 event.acceptDrag(event.getDropAction());
00304 else
00305 event.rejectDrag();
00306 }
|
|
|
00310 {
00311 try {
00312 Transferable transferable = event.getTransferable();
00313 event.acceptDrop(event.getDropAction());
00314 final ObjectTransfer data = (ObjectTransfer)transferable.getTransferData(
00315 HxCorbaDataFlavor.objectFlavor);
00316 Thread t = new Thread() {
00317 public void run() {
00318 doDrop(data.getType(), data.getName(), data.getIOR());
00319 }
00320 };
00321 t.start();
00322 event.getDropTargetContext().dropComplete(true);
00323 }
00324 catch (java.io.IOException exception) {
00325 exception.printStackTrace();
00326 event.rejectDrop();
00327 }catch (UnsupportedFlavorException ufException ) {
00328 ufException.printStackTrace();
00329 event.rejectDrop();
00330 }
00331 }
|
|
|
00334 {}
|
|
|
00335 {}
|
|
|
00336 {}
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001