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

AppBrowser Class Reference

List of all members.

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)

Constructor & Destructor Documentation

AppBrowser::AppBrowser   [inline]
 

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 }


Member Function Documentation

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

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 }

void AppBrowser::setFrame JFrame    f [inline]
 

00119 {
00120     _frame = f;
00121 }

void AppBrowser::actionPerformed ActionEvent    e [inline]
 

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 }

void AppBrowser::valueChanged TreeSelectionEvent    e [inline]
 

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 }

void AppBrowser::tableChanged TableModelEvent    e [inline]
 

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 }

void AppBrowser::dragGestureRecognized DragGestureEvent    event [inline]
 

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 }

void AppBrowser::dragDropEnd DragSourceDropEvent    event [inline]
 

00245 {}

void AppBrowser::dragEnter DragSourceDragEvent    event [inline]
 

00246 {}

void AppBrowser::dragOver DragSourceDragEvent    event [inline]
 

00247 { }

void AppBrowser::dragExit DragSourceEvent    event [inline]
 

00248 {}

void AppBrowser::dropActionChanged DragSourceDragEvent    event [inline]
 

00249 { }

void AppBrowser::dragOver DropTargetDragEvent    event [inline]
 

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 }

void AppBrowser::drop DropTargetDropEvent    event [inline]
 

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 }

void AppBrowser::dragEnter DropTargetDragEvent    event [inline]
 

00302 {}

void AppBrowser::dragExit DropTargetEvent    event [inline]
 

00303 {}

void AppBrowser::dropActionChanged DropTargetDragEvent    event [inline]
 

00304 {}

void AppBrowser::showDialog JPanel    p,
String    name
[inline, protected]
 

00313 {
00314     JDialog dlg = new JDialog(_frame, name, false);
00315     dlg.getContentPane().add(p);
00316     dlg.pack();
00317     dlg.setVisible(true);
00318 }


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