Author: bdonlan
Date: 2005-05-29 21:30:02 -0400 (Sun, 29 May 2005)
New Revision: 742

Modified:
   trunk/clients/Javer2/src/org/haverdev/javer2/ChannelPane.java
   trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.form
   trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.java
   trunk/clients/Javer2/src/org/haverdev/javer2/Pane.java
   trunk/clients/Javer2/src/org/haverdev/javer2/QueryPane.java
   trunk/clients/Javer2/src/org/haverdev/javer2/ServerPane.java
Log:
Closable tabs

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/ChannelPane.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/ChannelPane.java       
2005-05-30 01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/ChannelPane.java       
2005-05-30 01:30:02 UTC (rev 742)
@@ -19,6 +19,7 @@
     String channel;
     Listener l = new Listener();
     TreeSet users = new TreeSet();
+    JaverForm form;
     
     class Listener extends Callback {
         // TODO: part self
@@ -76,7 +77,8 @@
     }
     
     /** Creates new form ChannelPane */
-    public ChannelPane(Client cli, String channel) {
+    public ChannelPane(JaverForm form, Client cli, String channel) {
+        this.form = form;
         initComponents();
         client = cli;
         this.channel = channel;
@@ -116,6 +118,17 @@
         });
     }
     
+    public String getChannel() {
+        return channel;
+    }
+    
+    public void closePane() {
+        client.sendPart(channel);
+        client.removeNotify(l);
+        form.removePane(this);
+        form.channelQueries.remove(channel);
+    }
+    
     /** This method is called from within the constructor to
      * initialize the form.
      * WARNING: Do NOT modify this code. The content of this method is

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.form
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.form 2005-05-30 
01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.form 2005-05-30 
01:30:02 UTC (rev 742)
@@ -35,7 +35,6 @@
         <Component class="javax.swing.JButton" name="jButton1">
           <Properties>
             <Property name="text" type="java.lang.String" value="Send"/>
-            <Property name="actionCommand" type="java.lang.String" 
value="Send"/>
           </Properties>
           <Events>
             <EventHandler event="actionPerformed" 
listener="java.awt.event.ActionListener" 
parameters="java.awt.event.ActionEvent" handler="sendLine"/>

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.java 2005-05-30 
01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/JaverForm.java 2005-05-30 
01:30:02 UTC (rev 742)
@@ -109,7 +109,7 @@
         channel = channel.toLowerCase();
         if (channelQueries.containsKey(channel))
             return (Pane)channelQueries.get(channel);
-        Pane chan = new ChannelPane(cli, channel);
+        Pane chan = new ChannelPane(this, cli, channel);
         addPane(chan);
         channelQueries.put(channel, chan);
         return chan;
@@ -121,7 +121,7 @@
         name = name.toLowerCase();
         if (privateQueries.containsKey(name))
             return (QueryPane)privateQueries.get(name);
-        QueryPane p = new QueryPane(cli, name);
+        QueryPane p = new QueryPane(this, cli, name);
         addPane(p);
         privateQueries.put(name, p);
         return p;
@@ -248,6 +248,10 @@
         currentPane().act(arg);
     }
     
+    void slash_CLOSE(String arg) {
+        currentPane().closePane();
+    }
+    
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JTextField inputBox;
     private javax.swing.JButton jButton1;

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/Pane.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/Pane.java      2005-05-30 
01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/Pane.java      2005-05-30 
01:30:02 UTC (rev 742)
@@ -16,4 +16,6 @@
     public void speak(String line);
 
     public void act(String line);
+    
+    public void closePane();
 }

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/QueryPane.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/QueryPane.java 2005-05-30 
01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/QueryPane.java 2005-05-30 
01:30:02 UTC (rev 742)
@@ -16,6 +16,7 @@
     Client client;
     String name;
     Listener listener;
+    JaverForm form;
     
     class Listener extends Callback {
         public void onQuit(String who, String reason, String detail) {
@@ -25,7 +26,8 @@
     }
     
     /** Creates a new instance of QueryPane */
-    public QueryPane(Client client, String name) {
+    public QueryPane(JaverForm form, Client client, String name) {
+        this.form = form;
         this.client = client;
         this.name = name;
         // XXX: this reference never dies. fixit
@@ -55,4 +57,10 @@
         return "Private query: " + name;
     }
     
+    public void closePane() {
+        client.removeNotify(listener);
+        form.removePane(this);
+        form.privateQueries.remove(name);
+    }
+    
 }

Modified: trunk/clients/Javer2/src/org/haverdev/javer2/ServerPane.java
===================================================================
--- trunk/clients/Javer2/src/org/haverdev/javer2/ServerPane.java        
2005-05-30 01:29:54 UTC (rev 741)
+++ trunk/clients/Javer2/src/org/haverdev/javer2/ServerPane.java        
2005-05-30 01:30:02 UTC (rev 742)
@@ -27,4 +27,8 @@
     public String getCaption() {
         return "Server";
     }
+    
+    public void closePane() {
+        putLine("Can't close the server pane :(");
+    }
 }


Reply via email to