rana_b      2003/01/20 07:17:06

  Modified:    ftpserver/src/java/org/apache/avalon/ftpserver/gui
                        FtpSpyContainerPanel.java
  Log:
  buttons enabled/disabled depending one the tab
  
  Revision  Changes    Path
  1.4       +29 -15    
jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/gui/FtpSpyContainerPanel.java
  
  Index: FtpSpyContainerPanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/gui/FtpSpyContainerPanel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FtpSpyContainerPanel.java 20 May 2002 10:20:17 -0000      1.3
  +++ FtpSpyContainerPanel.java 20 Jan 2003 15:17:06 -0000      1.4
  @@ -13,6 +13,7 @@
   import java.awt.*;
   import java.awt.event.*;
   import javax.swing.*;
  +import javax.swing.event.*;
   
   import org.apache.avalon.ftpserver.FtpUser;
   import org.apache.avalon.ftpserver.util.IoUtils;
  @@ -23,7 +24,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Rana Bhattacharyya</a>
    */
   public
  -class FtpSpyContainerPanel extends PluginPanel {
  +class FtpSpyContainerPanel extends PluginPanel implements ChangeListener {
   
       public static final String SPY_PAGE = 
"org/apache/avalon/ftpserver/gui/spy.html";
   
  @@ -50,6 +51,7 @@
           setLayout(new BorderLayout());
           mjTabbedPane = new JTabbedPane();
           mjTabbedPane.setPreferredSize(new Dimension(470, 340));
  +        mjTabbedPane.addChangeListener(this);
           add(mjTabbedPane, BorderLayout.CENTER);
   
           JPanel bottomPane = new JPanel();
  @@ -63,14 +65,6 @@
                }
           });
   
  -        mjCloseButton = new JButton("Close");
  -        bottomPane.add(mjCloseButton);
  -        mjCloseButton.addActionListener(new ActionListener() {
  -             public void actionPerformed(ActionEvent evt) {
  -                closePane();
  -             }
  -        });
  -
           mjDisconnectButton = new JButton("Disconnect");
           bottomPane.add(mjDisconnectButton);
           mjDisconnectButton.addActionListener(new ActionListener() {
  @@ -78,6 +72,14 @@
                   disconnectUser();
                }
           });
  +        
  +        mjCloseButton = new JButton("Close");
  +        bottomPane.add(mjCloseButton);
  +        mjCloseButton.addActionListener(new ActionListener() {
  +             public void actionPerformed(ActionEvent evt) {
  +                closePane();
  +             }
  +        });
           add(bottomPane, BorderLayout.SOUTH);
   
           // initialize component to be displayed if
  @@ -97,11 +99,11 @@
           finally {
               IoUtils.close(is);
           }
  +        
           mjAboutPane = new JScrollPane(editorPane,
                               JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                               JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
           mjTabbedPane.addTab("Spy", mjAboutPane);
  -
       }
   
   
  @@ -135,7 +137,7 @@
       private void disconnectUser() {
           Component selComp = mjTabbedPane.getSelectedComponent();
           if ( (selComp != null) && (selComp != mjAboutPane) ) {
  -            boolean bConf = 
GuiUtils.getConfirmation(getCommonHandler().getTopComponent(), "Do you want to 
close the connection?");
  +            boolean bConf = 
GuiUtils.getConfirmation(getCommonHandler().getTopFrame(), "Do you want to 
close the connection?");
               if(bConf) {
                   ((SpyPanel)selComp).disconnect();
               }
  @@ -146,12 +148,12 @@
        * Monitor connection
        */
       public void monitorConnection(FtpUser user) {
  -        String userName = getName(user);
  +        String userName = getCaption(user);
           String userSession = user.getSessionId();
   
           // don't add another tab if already being monitored
           int tabCount = mjTabbedPane.getTabCount();
  -        for(int i=tabCount; --i>=0; ) {
  +        for(int i=0; i<tabCount; i++) {
               Component selComp = mjTabbedPane.getComponentAt(i);
               if ( (selComp != null) && (selComp != mjAboutPane) ) {
                   String tabUserSessionId = ((SpyPanel)selComp).getSessionId();
  @@ -176,9 +178,9 @@
       }
   
       /**
  -     * Get name
  +     * Get tab caption.
        */
  -    private String getName(FtpUser user) {
  +    private String getCaption(FtpUser user) {
           String name = "";
           if (user != null) {
               name = user.getName();
  @@ -187,6 +189,18 @@
               }
           }
           return name;
  +    }
  +
  +
  +    /**
  +     * Tab change notification
  +     */    
  +    public void stateChanged(ChangeEvent e) {
  +        Component selComp = mjTabbedPane.getSelectedComponent();
  +        boolean isUserPane = selComp != mjAboutPane;
  +        mjClearButton.setEnabled(isUserPane);
  +        mjCloseButton.setEnabled(isUserPane);
  +        mjDisconnectButton.setEnabled(isUserPane);
       }
   
       /**
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to