Public Methods | |
| AppBrowser () | |
| void | setFrame (JFrame f) |
| void | actionPerformed (ActionEvent e) |
| void | valueChanged (TreeSelectionEvent e) |
| void | tableChanged (TableModelEvent 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 | 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) |
Protected Methods | |
| void | showDialog (JPanel p, String name) |
|
|
00061 {
00062 createContents();
00063
00064 _butNewNS.setEnabled(false);
00065 _butNewSrv.setEnabled(false);
00066 _butDelete.setEnabled(false);
00067 _butPing.setEnabled(false);
00068 _butRefresh.setEnabled(false);
00069 _butView.setEnabled(false);
00070
00071 for(int i=0; i<_allButtons.length; i++)
00072 _allButtons[i].addActionListener(this);
00073
00074 _tree.getSelectionModel().setSelectionMode(
00075 TreeSelectionModel.SINGLE_TREE_SELECTION);
00076
00077 //DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();
00078 //renderer.setLeafIcon(new ImageIcon(CorbaToolsRes.get_application()));
00079 //_tree.setCellRenderer(renderer);
00080
00081 ApplicationsManager appMgr = ApplicationsManager.defaultAppMgr();
00082 if(appMgr != null) {
00083 _treeModel = new AppTreeModel(appMgr);
00084 _tree.setModel(_treeModel);
00085 _tree.setRootVisible(true);
00086 //_tree.setEditable(true);
00087 _tree.getSelectionModel().addTreeSelectionListener(this);
00088 _tree.setSelectionRow(0); //select root
00089
00090 _tree.setDropTarget(new DropTarget(_tree, this));
00091
00092 int action = DnDConstants.ACTION_COPY_OR_MOVE;
00093 DragSource dSource = DragSource.getDefaultDragSource();
00094 dSource.createDefaultDragGestureRecognizer(_table, action, this);
00095 }
00096 else {
00097 // Set leaf with error message
00098 TreeNode root = new DefaultMutableTreeNode("Cannot find root NameServer");
00099 _tree.setModel(new DefaultTreeModel(root));
00100 _tree.setRootVisible(true);
00101 //_tree.setEditable(true);
00102 }
00103
00104 setPreferredSize(new Dimension(700,300));
00105 _frame = null;
00106 }
|
|
|
00037 {
00038 OutputStreamArea.println("Initializing CorbaMediator...");
00039 CorbaMediator med = new FullCorbaMediator(args);
00040
00041 JFrame f = new JFrame("App Browser");
00042 f.setDefaultCloseOperation(3); //EXIT_ON_CLOSE
00043
00044 //System.loadLibrary("HxLibJavam");
00045 OutputStreamArea out = new OutputStreamArea(10,60);
00046 ErrorStreamArea err = new ErrorStreamArea(f, 0, 0);
00047
00048 AppBrowser app = new AppBrowser();
00049 app.setFrame(f);
00050
00051 f.getContentPane().add(app);
00052 f.getContentPane().add(out, BorderLayout.SOUTH);
00053 f.pack();
00054 f.show();
00055
00056 OutputStreamArea.println("Done");
00057 }
|
|
|
00119 {
00120 _frame = f;
00121 }
|
|
|
00137 {
00138 AppTreeNode root = (AppTreeNode)_treeModel.getRoot();
00139 AppTableModel rootModel = root.getTableModel();
00140 ApplicationsManager rootManager = rootModel.getManager();
00141
00142 if(e.getSource() == _butNewNS) {
00143 doNewNameServer(root, rootModel, rootManager);
00144 return;
00145 }
00146 else if(e.getSource() == _butNewSrv) {
00147 doNewServer(root, rootModel, rootManager);
00148 return;
00149 }
00150
00151 AppTreeNode node = (AppTreeNode)_tree.getLastSelectedPathComponent();
00152 AppTableModel tModel = node.getTableModel();
00153 ApplicationsManager manager = tModel.getManager();
00154
00155 if(e.getSource() == _butRefresh) doRefresh(node, tModel, manager);
00156 else if(e.getSource() == _butDelete) doDelete(node, tModel, manager);
00157 else if(e.getSource() == _butView) doView(node, tModel, manager);
00158 else if(e.getSource() == _butPing) doPing(node, tModel, manager);
00159 }
|
|
|
00163 {
00164 if(_table.isEditing())
00165 {
00166 TableCellEditor editor = _table.getCellEditor(
00167 _table.getEditingRow(), _table.getEditingColumn());
00168 editor.stopCellEditing();
00169 }
00170
00171 AppTreeNode node = (AppTreeNode)_tree.getLastSelectedPathComponent();
00172 if(_tableModel != null) _tableModel.removeTableModelListener(this);
00173 _tableModel = null;
00174 String tableText = " ";
00175
00176 if(node != null) {
00177 _tableModel = node.getTableModel();
00178 _tableModel.addTableModelListener(this);
00179 if(_tableModel == null) tableText = node+" is not responding";
00180 else tableText = "Contents of "+node+" NameServer";
00181 }
00182
00183 _butNewNS.setEnabled(node == _treeModel.getRoot());
00184 _butNewSrv.setEnabled(node == _treeModel.getRoot());
00185 _butDelete.setEnabled(node == _treeModel.getRoot());
00186 _butView.setEnabled(_tableModel != null);
00187 _butPing.setEnabled(_tableModel != null);
00188 _butRefresh.setEnabled(_tableModel != null);
00189
00190 if(_tableModel == null) _table.setModel(new DefaultTableModel());
00191 else _table.setModel(_tableModel);
00192 _table.sizeColumnsToFit(-1);
00193 _tableLabel.setText(tableText);
00194 }
|
|
|
00198 {
00199 if(e.getType() != TableModelEvent.UPDATE) return;
00200
00201 int col = e.getColumn();
00202 int row = e.getFirstRow();
00203 if(col == TableModelEvent.ALL_COLUMNS) return;
00204
00205 if(!_tableModel.getColumnName(col).equals("Name")) return;
00206 if(!_tableModel.getValueAt(row, "Type").equals("NameServers")) return;
00207
00208 // The name of a NameServer has changed
00209 _treeModel.fireNodeRenamed((String)_tableModel.getValueAt(row, col));
00210 _tree.setSelectionRow(0); //select root
00211 }
|
|
|
00215 {
00216 // This method is called when the user edits the name of the app (with
00217 // no dragging). Maybe this doesn't happen with JDK1.3, but with JDK1.2
00218 // we have to check if there has been some dragging:
00219
00220 boolean drag = false;
00221 java.util.Iterator it = event.iterator();
00222 while(it.hasNext()) {
00223 Object ev = it.next();
00224 if(ev instanceof MouseEvent)
00225 if(((MouseEvent)ev).getID() == MouseEvent.MOUSE_DRAGGED)
00226 drag = true;
00227 }
00228 if(!drag) return;
00229
00230 // a drag gesture has been initiated
00231
00232 int row = _table.getSelectedRow();
00233 if(row != -1) {
00234 String type = (String)_tableModel.getValueAt(row, "Type");
00235 String name = (String)_tableModel.getValueAt(row, "Name");
00236 String ior = (String)_tableModel.getValueAt(row, "IOR");
00237 Transferable data = new AppTransfer(type, name, ior);
00238 event.getDragSource().startDrag(event,
00239 DragSource.DefaultMoveNoDrop, data, this);
00240 }
00241 }
|
|
|
00245 {}
|
|
|
00246 {}
|
|
|
00247 { }
|
|
|
00248 {}
|
|
|
00249 { }
|
|
|
00254 {
00255 int row = _tree.getRowForLocation(event.getLocation().x,event.getLocation().y);
00256 if(row == 0) { //root
00257 if(event.isDataFlavorSupported(HxCorbaDataFlavor.appFlavor)) {
00258 event.acceptDrag(event.getDropAction());
00259 return;
00260 }
00261 }
00262
00263 event.rejectDrag();
00264 }
|
|
|
00268 {
00269 int row = _tree.getRowForLocation(event.getLocation().x,event.getLocation().y);
00270 if(!(row == 0) && event.isDataFlavorSupported(HxCorbaDataFlavor.appFlavor)) {
00271 event.rejectDrop();
00272 return;
00273 }
00274
00275 event.acceptDrop(event.getDropAction());
00276
00277 AppTreeNode root = (AppTreeNode)_treeModel.getRoot();
00278 AppTableModel rootModel = root.getTableModel();
00279 ApplicationsManager rootManager = rootModel.getManager();
00280
00281 try {
00282 Transferable transferable = event.getTransferable();
00283 AppTransfer data =
00284 (AppTransfer)transferable.getTransferData(HxCorbaDataFlavor.appFlavor);
00285 org.omg.CORBA.Object obj = CorbaMediator.instance().string_to_object(data.getIOR());
00286 String resName = rootManager.putApplication(data.getType(), data.getName(), obj);
00287 rootModel.refreshData();
00288 if(data.getType().equals("NameServers"))
00289 _treeModel.fireNodeInserted(resName);
00290 event.getDropTargetContext().dropComplete(true);
00291 }
00292 catch (java.io.IOException exception) {
00293 exception.printStackTrace();
00294 event.rejectDrop();
00295 }catch (UnsupportedFlavorException ufException ) {
00296 ufException.printStackTrace();
00297 event.rejectDrop();
00298 }
00299 }
|
|
|
00302 {}
|
|
|
00303 {}
|
|
|
00304 {}
|
|
||||||||||||
|
00313 {
00314 JDialog dlg = new JDialog(_frame, name, false);
00315 dlg.getContentPane().add(p);
00316 dlg.pack();
00317 dlg.setVisible(true);
00318 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001