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 :(");
+ }
}