Moving some events to use javax.swing.events rather than Grendel events to make fix for bug 3425 easier :: Make Grendel use Word Wrap on plain-text email messages :: fixed some exceptions being thrown

This commit is contained in:
rj.keller%beonex.com 2005-05-12 00:31:04 +00:00
Родитель 76634642da
Коммит 8c0a3f0dc0
23 изменённых файлов: 203 добавлений и 292 удалений

Просмотреть файл

@ -114,12 +114,11 @@
<target name="clean" description="Cleans up generated class files.">
<delete dir="dist"/>
<delete file="grendel.jar"/>
<delete dir="javadoc"/>
</target>
<target name="javadoc" description="Generate JavaDoc API information">
<mkdir dir="javadoc"/>
<javadoc destdir="javadoc">
<mkdir dir="docs"/>
<javadoc destdir="docs">
<fileset dir="." includes="**/*.java"/>
</javadoc>
</target>

Просмотреть файл

@ -60,7 +60,7 @@ Class TreePath</H2>
<PRE>
java.lang.Object
|
+--<B>grendel.widgets.TreePath</B>
+--<B>javax.swing.tree.TreePath</B>
</PRE>
<HR>
<DL>

Просмотреть файл

@ -169,7 +169,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#ensureVisible(grendel.widgets.TreePath)">ensureVisible</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#ensureVisible(javax.swing.tree.TreePath)">ensureVisible</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
@ -258,7 +258,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#getNodeHeight(grendel.widgets.TreePath)">getNodeHeight</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#getNodeHeight(javax.swing.tree.TreePath)">getNodeHeight</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
@ -266,7 +266,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#getNodeY(grendel.widgets.TreePath)">getNodeY</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#getNodeY(javax.swing.tree.TreePath)">getNodeY</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Y location of the give node</TD>
@ -391,7 +391,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#isVisible(grendel.widgets.TreePath)">isVisible</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#isVisible(javax.swing.tree.TreePath)">isVisible</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether or not the give path is visible.</TD>
@ -431,7 +431,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#repaint(grendel.widgets.TreePath)">repaint</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#repaint(javax.swing.tree.TreePath)">repaint</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
@ -439,7 +439,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#repaintFrom(grendel.widgets.TreePath)">repaintFrom</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#repaintFrom(javax.swing.tree.TreePath)">repaintFrom</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
@ -447,7 +447,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#select(grendel.widgets.TreePath)">select</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#select(javax.swing.tree.TreePath)">select</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects the given TreePath.</TD>
@ -455,7 +455,7 @@ TOP_ALIGNMENT</CODE></TD>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#setCaret(grendel.widgets.TreePath)">setCaret</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTable.html#setCaret(javax.swing.tree.TreePath)">setCaret</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the last object on which the user clicked.</TD>
@ -929,7 +929,7 @@ public <A HREF="../../grendel/widgets/TreePath.html">TreePath</A> <B>getCaret</B
</DL>
<HR>
<A NAME="setCaret(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="setCaret(javax.swing.tree.TreePath)"><!-- --></A><H3>
setCaret</H3>
<PRE>
public void <B>setCaret</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1068,7 +1068,7 @@ public int <B>getRowMargin</B>()</PRE>
</DL>
<HR>
<A NAME="select(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="select(javax.swing.tree.TreePath)"><!-- --></A><H3>
select</H3>
<PRE>
public void <B>select</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1103,7 +1103,7 @@ public void <B>navigateDown</B>()</PRE>
</DL>
<HR>
<A NAME="isVisible(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="isVisible(javax.swing.tree.TreePath)"><!-- --></A><H3>
isVisible</H3>
<PRE>
public boolean <B>isVisible</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1116,7 +1116,7 @@ public boolean <B>isVisible</B>(<A HREF="../../grendel/widgets/TreePath.html">Tr
</DL>
<HR>
<A NAME="ensureVisible(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="ensureVisible(javax.swing.tree.TreePath)"><!-- --></A><H3>
ensureVisible</H3>
<PRE>
public void <B>ensureVisible</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1127,7 +1127,7 @@ public void <B>ensureVisible</B>(<A HREF="../../grendel/widgets/TreePath.html">T
</DL>
<HR>
<A NAME="getNodeY(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="getNodeY(javax.swing.tree.TreePath)"><!-- --></A><H3>
getNodeY</H3>
<PRE>
public int <B>getNodeY</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1138,7 +1138,7 @@ public int <B>getNodeY</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePat
</DL>
<HR>
<A NAME="getNodeHeight(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="getNodeHeight(javax.swing.tree.TreePath)"><!-- --></A><H3>
getNodeHeight</H3>
<PRE>
public int <B>getNodeHeight</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1183,7 +1183,7 @@ public void <B>paintComponent</B>(java.awt.Graphics&nbsp;g)</PRE>
</DL>
<HR>
<A NAME="repaint(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="repaint(javax.swing.tree.TreePath)"><!-- --></A><H3>
repaint</H3>
<PRE>
public void <B>repaint</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -1194,7 +1194,7 @@ public void <B>repaint</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePat
</DL>
<HR>
<A NAME="repaintFrom(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="repaintFrom(javax.swing.tree.TreePath)"><!-- --></A><H3>
repaintFrom</H3>
<PRE>
public void <B>repaintFrom</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>

Просмотреть файл

@ -161,7 +161,7 @@ The <code>TreeTableDataModel</code> interface is used to mediate
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableDataModel.html#isCollapsed(grendel.widgets.TreePath)">isCollapsed</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableDataModel.html#isCollapsed(javax.swing.tree.TreePath)">isCollapsed</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates whether the given node is collapsed.</TD>
@ -185,7 +185,7 @@ The <code>TreeTableDataModel</code> interface is used to mediate
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableDataModel.html#setCollapsed(grendel.widgets.TreePath, boolean)">setCollapsed</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableDataModel.html#setCollapsed(javax.swing.tree.TreePath, boolean)">setCollapsed</A></B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,
boolean&nbsp;aCollapsed)</CODE>
<BR>
@ -328,7 +328,7 @@ public boolean <B>isLeaf</B>(java.lang.Object&nbsp;aNode)</PRE>
</DL>
<HR>
<A NAME="isCollapsed(grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="isCollapsed(javax.swing.tree.TreePath)"><!-- --></A><H3>
isCollapsed</H3>
<PRE>
public boolean <B>isCollapsed</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
@ -339,7 +339,7 @@ public boolean <B>isCollapsed</B>(<A HREF="../../grendel/widgets/TreePath.html">
</DL>
<HR>
<A NAME="setCollapsed(grendel.widgets.TreePath, boolean)"><!-- --></A><H3>
<A NAME="setCollapsed(javax.swing.tree.TreePath, boolean)"><!-- --></A><H3>
setCollapsed</H3>
<PRE>
public void <B>setCollapsed</B>(<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,

Просмотреть файл

@ -102,14 +102,14 @@ A TreeTableDataModel event. Used for reporting which node and possibly
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath)">TreeTableModelEvent</A></B>(java.lang.Object&nbsp;aSource,
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath)">TreeTableModelEvent</A></B>(java.lang.Object&nbsp;aSource,
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for event with a TreePath.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath, java.lang.Object[])">TreeTableModelEvent</A></B>(java.lang.Object&nbsp;aSource,
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath, java.lang.Object[])">TreeTableModelEvent</A></B>(java.lang.Object&nbsp;aSource,
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,
java.lang.Object[]&nbsp;aChildren)</CODE>
@ -187,7 +187,7 @@ wait</CODE></TD>
</TR>
</TABLE>
<A NAME="TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath)"><!-- --></A><H3>
<A NAME="TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath)"><!-- --></A><H3>
TreeTableModelEvent</H3>
<PRE>
public <B>TreeTableModelEvent</B>(java.lang.Object&nbsp;aSource,
@ -196,7 +196,7 @@ public <B>TreeTableModelEvent</B>(java.lang.Object&nbsp;aSource,
<DD>Constructor for event with a TreePath.</DL>
<HR>
<A NAME="TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath, java.lang.Object[])"><!-- --></A><H3>
<A NAME="TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath, java.lang.Object[])"><!-- --></A><H3>
TreeTableModelEvent</H3>
<PRE>
public <B>TreeTableModelEvent</B>(java.lang.Object&nbsp;aSource,

Просмотреть файл

@ -1574,7 +1574,7 @@ Method in class calypso.util.<A HREF="calypso/util/StringBuf.html">StringBuf</A>
Method in class calypso.util.<A HREF="calypso/util/ByteBuf.html">ByteBuf</A>
<DD>Ensures that the capacity of the buffer is at least equal to the
specified minimum.
<DT><A HREF="grendel/widgets/TreeTable.html#ensureVisible(grendel.widgets.TreePath)"><B>ensureVisible(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#ensureVisible(javax.swing.tree.TreePath)"><B>ensureVisible(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp;
<DT><A HREF="calypso/util/RWLock.html#enterInvariantReadLock()"><B>enterInvariantReadLock()</B></A> -
@ -3012,10 +3012,10 @@ Method in interface grendel.view.<A HREF="grendel/view/ViewedFolder.html">Viewed
<DT><A HREF="grendel/widgets/TreeTableDataModel.html#getNextSibling(java.lang.Object)"><B>getNextSibling(Object)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Retrieves the next sibling of the given node.
<DT><A HREF="grendel/widgets/TreeTable.html#getNodeHeight(grendel.widgets.TreePath)"><B>getNodeHeight(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#getNodeHeight(javax.swing.tree.TreePath)"><B>getNodeHeight(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTable.html#getNodeY(grendel.widgets.TreePath)"><B>getNodeY(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#getNodeY(javax.swing.tree.TreePath)"><B>getNodeY(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Returns the Y location of the give node
<DT><A HREF="grendel/storage/MailDrop.html#getNumMessagesWaiting()"><B>getNumMessagesWaiting()</B></A> -
@ -4023,7 +4023,7 @@ Method in interface grendel.widgets.<A HREF="grendel/widgets/Collapsible.html">C
<DT><A HREF="grendel/widgets/CollapsiblePanel.html#isCollapsed()"><B>isCollapsed()</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/CollapsiblePanel.html">CollapsiblePanel</A>
<DD>Tells you whether this component is currently collapsed.
<DT><A HREF="grendel/widgets/TreeTableDataModel.html#isCollapsed(grendel.widgets.TreePath)"><B>isCollapsed(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableDataModel.html#isCollapsed(javax.swing.tree.TreePath)"><B>isCollapsed(TreePath)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Indicates whether the given node is collapsed.
<DT><A HREF="grendel/widgets/Collapsible.html#isCollapsible()"><B>isCollapsible()</B></A> -
@ -4197,7 +4197,7 @@ Method in interface grendel.view.<A HREF="grendel/view/MessageSetView.html">Mess
<DT><A HREF="grendel/util/Constants.html#ISUNIX"><B>ISUNIX</B></A> -
Static variable in class grendel.util.<A HREF="grendel/util/Constants.html">Constants</A>
<DD>Whether this is a Unix machine.
<DT><A HREF="grendel/widgets/TreeTable.html#isVisible(grendel.widgets.TreePath)"><B>isVisible(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#isVisible(javax.swing.tree.TreePath)"><B>isVisible(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Returns whether or not the give path is visible.
<DT><A HREF="calypso/util/StringBuf.html#isWhitespace()"><B>isWhitespace()</B></A> -
@ -4920,10 +4920,10 @@ Variable in class grendel.storage.<A HREF="grendel/storage/NewsStore.html">NewsS
<DT><A HREF="dog/mail/nntp/NNTPStore.html"><B>NNTPStore</B></A> - class dog.mail.nntp.<A HREF="dog/mail/nntp/NNTPStore.html">NNTPStore</A>.<DD>The storage class implementing the NNTP Usenet news protocol.<DT><A HREF="dog/mail/nntp/NNTPStore.html#NNTPStore(javax.mail.Session, javax.mail.URLName)"><B>NNTPStore(Session, URLName)</B></A> -
Constructor for class dog.mail.nntp.<A HREF="dog/mail/nntp/NNTPStore.html">NNTPStore</A>
<DD>Constructor.
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeChanged(grendel.widgets.TreeTableModelEvent)"><B>nodeChanged(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeChanged(grendel.widgets.TreeTableModelEvent)"><B>treeNodesChanged(TreeModelEvent)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeChanged(grendel.widgets.TreeTableModelEvent)"><B>nodeChanged(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeChanged(grendel.widgets.TreeTableModelEvent)"><B>treeNodesChanged(TreeModelEvent)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeCollapsed(grendel.widgets.TreeTableModelEvent)"><B>nodeCollapsed(TreeTableModelEvent)</B></A> -
@ -4932,22 +4932,22 @@ Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListe
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeCollapsed(grendel.widgets.TreeTableModelEvent)"><B>nodeCollapsed(TreeTableModelEvent)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeDeleted(grendel.widgets.TreeTableModelEvent)"><B>nodeDeleted(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeDeleted(grendel.widgets.TreeTableModelEvent)"><B>treeNodesRemoved(TreeModelEvent)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeDeleted(grendel.widgets.TreeTableModelEvent)"><B>nodeDeleted(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeDeleted(grendel.widgets.TreeTableModelEvent)"><B>treeNodesRemoved(TreeModelEvent)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeExpanded(grendel.widgets.TreeTableModelEvent)"><B>nodeExpanded(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeExpanded(grendel.widgets.TreeTableModelEvent)"><B>treeExpanded(TreeExpansionEvent)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeExpanded(grendel.widgets.TreeTableModelEvent)"><B>nodeExpanded(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeExpanded(grendel.widgets.TreeTableModelEvent)"><B>treeExpanded(TreeExpansionEvent)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeInserted(grendel.widgets.TreeTableModelEvent)"><B>nodeInserted(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeInserted(grendel.widgets.TreeTableModelEvent)"><B>treeNodesInserted(TreeModelEvent)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeInserted(grendel.widgets.TreeTableModelEvent)"><B>nodeInserted(TreeTableModelEvent)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#nodeInserted(grendel.widgets.TreeTableModelEvent)"><B>treeNodesInserted(TreeModelEvent)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/storage/MailDrop.html#NONE"><B>NONE</B></A> -
@ -5731,10 +5731,10 @@ Method in class grendel.view.<A HREF="grendel/view/ViewedStoreBase.html">ViewedS
<DT><A HREF="dog/mail/nntp/Newsgroup.html#renameTo(javax.mail.Folder)"><B>renameTo(Folder)</B></A> -
Method in class dog.mail.nntp.<A HREF="dog/mail/nntp/Newsgroup.html">Newsgroup</A>
<DD>NNTP folders can't be created, deleted, or renamed.
<DT><A HREF="grendel/widgets/TreeTable.html#repaint(grendel.widgets.TreePath)"><B>repaint(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#repaint(javax.swing.tree.TreePath)"><B>repaint(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTable.html#repaintFrom(grendel.widgets.TreePath)"><B>repaintFrom(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#repaintFrom(javax.swing.tree.TreePath)"><B>repaintFrom(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp;
<DT><A HREF="grendel/search/NaryTermPanel.html#replaceTerm(grendel.search.TermPanel, grendel.search.TermPanel)"><B>replaceTerm(TermPanel, TermPanel)</B></A> -
@ -5912,7 +5912,7 @@ Constructor for class grendel.storage.<A HREF="grendel/storage/SearchResultsFold
<DT><A HREF="calypso/util/RandomAccessFileWithByteLines.html#seek(long)"><B>seek(long)</B></A> -
Method in class calypso.util.<A HREF="calypso/util/RandomAccessFileWithByteLines.html">RandomAccessFileWithByteLines</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTable.html#select(grendel.widgets.TreePath)"><B>select(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#select(javax.swing.tree.TreePath)"><B>select(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Selects the given TreePath.
<DT><A HREF="grendel/composition/CompositionPanel.html#selectAddressesTag"><B>selectAddressesTag</B></A> -
@ -6099,7 +6099,7 @@ Method in interface grendel.storage.mdb.<A HREF="grendel/storage/mdb/nsIMdbStore
<DT><A HREF="grendel/ui/ProgressFrame.html#setCanceled(boolean)"><B>setCanceled(boolean)</B></A> -
Method in class grendel.ui.<A HREF="grendel/ui/ProgressFrame.html">ProgressFrame</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTable.html#setCaret(grendel.widgets.TreePath)"><B>setCaret(TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTable.html#setCaret(javax.swing.tree.TreePath)"><B>setCaret(TreePath)</B></A> -
Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Sets the last object on which the user clicked.
<DT><A HREF="grendel/widgets/Column.html#setCellEditor(grendel.widgets.CellEditor)"><B>setCellEditor(CellEditor)</B></A> -
@ -6111,7 +6111,7 @@ Method in class grendel.widgets.<A HREF="grendel/widgets/Column.html">Column</A>
<DT><A HREF="calypso/util/StringBuf.html#setCharAt(int, char)"><B>setCharAt(int, char)</B></A> -
Method in class calypso.util.<A HREF="calypso/util/StringBuf.html">StringBuf</A>
<DD>Changes the character at the specified index to be ch.
<DT><A HREF="grendel/widgets/TreeTableDataModel.html#setCollapsed(grendel.widgets.TreePath, boolean)"><B>setCollapsed(TreePath, boolean)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableDataModel.html#setCollapsed(javax.swing.tree.TreePath, boolean)"><B>setCollapsed(TreePath, boolean)</B></A> -
Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Method to set the collapsed state of a node.
<DT><A HREF="grendel/widgets/ColumnModel.html#setColumnMargin(int)"><B>setColumnMargin(int)</B></A> -
@ -7067,10 +7067,10 @@ Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">T
between the underlying data store and the TreeTable.<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html"><B>TreeTableModelBroadcaster</B></A> - class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>.<DD>&nbsp;<DT><A HREF="grendel/widgets/TreeTableModelBroadcaster.html#TreeTableModelBroadcaster(grendel.widgets.TreeTableModelListener, grendel.widgets.TreeTableModelListener)"><B>TreeTableModelBroadcaster(TreeTableModelListener, TreeTableModelListener)</B></A> -
Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelEvent.html"><B>TreeTableModelEvent</B></A> - class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>.<DD>A TreeTableDataModel event.<DT><A HREF="grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath)"><B>TreeTableModelEvent(Object, TreePath)</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelEvent.html"><B>TreeTableModelEvent</B></A> - class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>.<DD>A TreeTableDataModel event.<DT><A HREF="grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath)"><B>TreeTableModelEvent(Object, TreePath)</B></A> -
Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>
<DD>Constructor for event with a TreePath.
<DT><A HREF="grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath, java.lang.Object[])"><B>TreeTableModelEvent(Object, TreePath, Object[])</B></A> -
<DT><A HREF="grendel/widgets/TreeTableModelEvent.html#TreeTableModelEvent(java.lang.Object, javax.swing.tree.TreePath, java.lang.Object[])"><B>TreeTableModelEvent(Object, TreePath, Object[])</B></A> -
Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>
<DD>Constructor for event with a TreePath and children.
<DT><A HREF="grendel/widgets/TreeTableModelListener.html"><B>TreeTableModelListener</B></A> - interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>.<DD>&nbsp;<DT><A HREF="calypso/util/ByteBuf.html#trim()"><B>trim()</B></A> -

Просмотреть файл

@ -45,8 +45,9 @@ class MimeMessageOperator extends MimeContainerOperator {
StringBuffer output = new StringBuffer(200);
formatter.formatHeaders(object.headers(), output);
// output.append("<P>");
if (object.contentType().equals("text/plain")) {
output.append("<pre>");
if (object.contentType() == null ||
object.contentType().equals("text/plain")) {
output.append("<tt>");
}
getOut().print(output.toString());

Просмотреть файл

@ -53,7 +53,10 @@ class MimeTextOperator extends MimeLeafOperator {
buffer.setLength(0);
decodeBytesToUnicode(b, buffer);
TextHTMLConverter.quoteForHTML(buffer, true, true);
getOut().print(buffer.toString());
String strData = buffer.toString();
strData = strData.replace(" ", "&nbsp;");
strData = strData.replace("\n", "<br>");
getOut().print(strData);
}
public void pushEOF() {

Просмотреть файл

@ -38,10 +38,10 @@ import javax.mail.MessagingException;
import grendel.view.ViewedMessage;
import javax.swing.tree.TreePath;
import javax.swing.event.ChangeEvent;
import grendel.widgets.StatusEvent;
import grendel.widgets.TreePath;
import com.trfenv.parsers.Event;
@ -134,7 +134,7 @@ public class FolderFrame extends GeneralFrame {
while (selection.hasMoreElements()) {
path = (TreePath) selection.nextElement();
if (path != null) {
ViewedMessage node = (ViewedMessage) path.getTip();
ViewedMessage node = (ViewedMessage) path.getPath()[path.getPath().length -1];
master.displayMessage(node.getMessage());
}
}

Просмотреть файл

@ -93,7 +93,7 @@ import grendel.widgets.SelectionManager;
import grendel.widgets.StatusEvent;
import grendel.widgets.ToggleCellEditor;
import grendel.widgets.ToggleCellRenderer;
import grendel.widgets.TreePath;
import javax.swing.tree.TreePath;
import grendel.widgets.TreeTable;
import grendel.widgets.TreeTableDataModel;
@ -643,7 +643,7 @@ public class FolderPanel extends GeneralPanel {
Enumeration messages = selection.getSelection();
while (messages.hasMoreElements()) {
TreePath path = (TreePath) messages.nextElement();
Message msg = ((ViewedMessage) path.getTip()).getMessage();
Message msg = ((ViewedMessage) path.getPath()[path.getPath().length -1]).getMessage();
if (msg != null) {
msgVector.insertElementAt(msg, msgVector.size());
}
@ -660,7 +660,7 @@ public class FolderPanel extends GeneralPanel {
Enumeration messages = selection.getSelection();
while (messages.hasMoreElements()) {
TreePath path = (TreePath) messages.nextElement();
ViewedMessage msg = (ViewedMessage) path.getTip();
ViewedMessage msg = (ViewedMessage) path.getPath()[path.getPath().length -1];
if (msg != null) {
msgVector.insertElementAt(msg, msgVector.size());
}

Просмотреть файл

@ -60,8 +60,11 @@ import javax.swing.JScrollPane;
import javax.swing.JViewport;
import javax.swing.KeyStroke;
import javax.swing.ToolTipManager;
import javax.swing.tree.TreePath;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeModelEvent;
//import javax.swing.plaf.BorderUIResource;
import calypso.util.ArrayEnumeration;
@ -96,7 +99,6 @@ import grendel.widgets.SelectionListener;
import grendel.widgets.SelectionManager;
import grendel.widgets.StatusEvent;
import grendel.widgets.TextCellEditor;
import grendel.widgets.TreePath;
import grendel.widgets.TreeTable;
import grendel.widgets.TreeTableDataModel;
import grendel.widgets.TreeTableModelBroadcaster;
@ -279,7 +281,7 @@ public class MasterPanel extends GeneralPanel {
SelectionManager selection = fFolderTree.getSelectionManager();
if (selection.getSelectionCount() == 1) {
TreePath path = (TreePath) selection.getSelection().nextElement();
res = GetViewedFolder(path.getTip());
res = GetViewedFolder(path.getPath()[path.getPath().length - 1]);
}
return res;
}
@ -290,7 +292,7 @@ public class MasterPanel extends GeneralPanel {
Enumeration folders = selection.getSelection();
while (folders.hasMoreElements()) {
TreePath path = (TreePath) folders.nextElement();
Object folder = path.getTip();
Object folder = path.getPath()[path.getPath().length - 1];
if (folder != null) {
folderVector.insertElementAt(folder, folderVector.size());
}
@ -639,19 +641,19 @@ class FolderModel implements TreeTableDataModel {
// Attributes
public void setCollapsed(TreePath aPath, boolean aCollapsed) {
TreeTableModelEvent event =
new TreeTableModelEvent(this, aPath);
TreeExpansionEvent event =
new TreeExpansionEvent(this, aPath);
if (aCollapsed) {
if (fCollapsed.remove(aPath) != null) {
if (fListeners != null) {
fListeners.nodeCollapsed(event);
fListeners.treeCollapsed(event);
}
}
} else {
if (fCollapsed.put(aPath, "x") == null) {
if (fListeners != null) {
fListeners.nodeExpanded(event);
fListeners.treeExpanded(event);
}
}
}
@ -806,14 +808,14 @@ class FolderModel implements TreeTableDataModel {
void updateFolder(ViewedFolder aFolder) {
TreePath path = createTreePath(aFolder);
if (fListeners != null && path != null) {
fListeners.nodeChanged(new TreeTableModelEvent(this, path, null));
fListeners.treeNodesChanged(new TreeModelEvent(this, path));
}
}
void updateFolderCreated(ViewedFolder aFolder) {
TreePath path = createTreePath(aFolder.getParentFolder());
if (fListeners != null && path != null) {
fListeners.nodeInserted(new TreeTableModelEvent(this, path,
fListeners.treeNodesInserted(new TreeModelEvent(this, path, null,
new Object[] {aFolder}));
}
}
@ -821,7 +823,7 @@ class FolderModel implements TreeTableDataModel {
void updateFolderDeleted(ViewedFolder aFolder) {
TreePath path = createTreePath(aFolder.getParentFolder());
if (fListeners != null && path != null) {
fListeners.nodeDeleted(new TreeTableModelEvent(this, path,
fListeners.treeNodesRemoved(new TreeModelEvent(this, path, null,
new Object[] {aFolder}));
}
}

Просмотреть файл

@ -32,6 +32,8 @@ import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeExpansionEvent;
import javax.mail.Message;
import javax.mail.MessagingException;
@ -43,7 +45,7 @@ import grendel.storage.MessageExtraFactory;
import grendel.view.FolderView;
import grendel.view.MessageSetViewObserver;
import grendel.view.ViewedMessage;
import grendel.widgets.TreePath;
import javax.swing.tree.TreePath;
import grendel.widgets.TreeTableDataModel;
import grendel.widgets.TreeTableModelBroadcaster;
import grendel.widgets.TreeTableModelEvent;
@ -111,19 +113,19 @@ class MessageModel implements TreeTableDataModel {
// Attributes
public void setCollapsed(TreePath aPath, boolean aCollapsed) {
TreeTableModelEvent event =
new TreeTableModelEvent(this, aPath);
TreeExpansionEvent event =
new TreeExpansionEvent(this, aPath);
if (aCollapsed) {
if (fCollapsed.put(aPath, "x") == null) {
if (fListeners != null) {
fListeners.nodeCollapsed(event);
fListeners.treeCollapsed(event);
}
}
} else {
if (fCollapsed.remove(aPath) != null) {
if (fListeners != null) {
fListeners.nodeExpanded(event);
fListeners.treeExpanded(event);
}
}
}
@ -256,7 +258,7 @@ class MessageModel implements TreeTableDataModel {
path = createTreePath(node.getParent());
children[0] = node;
fListeners.nodeInserted(new TreeTableModelEvent(this, path, children));
fListeners.treeNodesInserted(new TreeModelEvent(this, path));
}
}
if (deleted != null) {
@ -267,7 +269,7 @@ class MessageModel implements TreeTableDataModel {
path = createTreePath(node.getParent());
children[0] = node;
fListeners.nodeDeleted(new TreeTableModelEvent(this, path, children));
fListeners.treeNodesRemoved(new TreeModelEvent(this, path));
}
}
if (changed != null) {
@ -278,7 +280,7 @@ class MessageModel implements TreeTableDataModel {
System.out.println("'" + Util.GetSubject(m) + "' changed");
path = createTreePath(node);
fListeners.nodeChanged(new TreeTableModelEvent(this, path, null));
fListeners.treeNodesChanged(new TreeModelEvent(this, path));
}
}
}

Просмотреть файл

@ -48,7 +48,7 @@ import java.util.ResourceBundle;
import javax.swing.Action;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.JEditorPane;
import javax.swing.JTextPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
@ -99,7 +99,7 @@ import java.util.logging.Level;
*/
public class MessagePanel extends GeneralPanel {
// JTextArea fTextArea;
JEditorPane fTextArea;
JTextPane fTextArea;
// URLComponent fViewer;
Thread fMessageLoadThread;
Message fMessage;
@ -126,11 +126,12 @@ public class MessagePanel extends GeneralPanel {
makeRealHTML = true;
fTextArea = new JEditorPane();
fTextArea = new JTextPane();
fTextArea.setEditable(false);
fTextArea.setContentType("text/html");
fTextArea.setFont(new Font("Helvetica", Font.PLAIN, 12));
fTextArea.setBorder(BorderFactory.createLoweredBevelBorder());
add(new JScrollPane(fTextArea));
}

Просмотреть файл

@ -41,7 +41,7 @@ import javax.mail.Store;
import grendel.view.ViewedFolder;
import grendel.view.ViewedMessage;
import grendel.widgets.TreePath;
import javax.swing.tree.TreePath;
import com.trfenv.parsers.Event;
@ -176,7 +176,7 @@ class MasterFrame extends GeneralFrame {
path = (TreePath) selection.nextElement();
if (path != null) {
Object node = path.getTip();
Object node = path.getPath()[path.getPath().length - 1];
Folder folder = null;
if (node instanceof ViewedFolder) {

Просмотреть файл

@ -56,7 +56,7 @@ import grendel.view.ViewedMessage;
import grendel.widgets.GrendelToolBar;
import grendel.widgets.Spring;
import grendel.widgets.StatusEvent;
import grendel.widgets.TreePath;
import javax.swing.tree.TreePath;
import com.trfenv.parsers.Event;
@ -258,6 +258,8 @@ class UnifiedMessageFrame extends GeneralFrame {
fPanel.remove(splitter1);
splitter1 = new JSplitPane();
splitter2 = new JSplitPane();
splitter1.setOneTouchExpandable(true);
splitter2.setOneTouchExpandable(true);
if (relayout == false) {
@ -393,7 +395,7 @@ class UnifiedMessageFrame extends GeneralFrame {
}
if (path != null && !selection.hasMoreElements()) {
// not multiple selection
ViewedMessage node = (ViewedMessage) path.getTip();
ViewedMessage node = (ViewedMessage) path.getPath()[path.getPath().length - 1];
fMessage.setMessage(node.getMessage());
} else {
fMessage.setMessage(null);
@ -408,7 +410,7 @@ class UnifiedMessageFrame extends GeneralFrame {
while (selection.hasMoreElements()) {
path = (TreePath) selection.nextElement();
if (path != null) {
ViewedMessage node = (ViewedMessage) path.getTip();
ViewedMessage node = (ViewedMessage) path.getPath()[path.getPath().length - 1];
master.displayMessage(node.getMessage());
}
}
@ -427,7 +429,7 @@ class UnifiedMessageFrame extends GeneralFrame {
Folder folder = null;
if (path != null && !selection.hasMoreElements()) {
// not multiple selection
node = path.getTip();
node = path.getPath()[path.getPath().length - 1];
}
folder = MasterPanel.getFolder(node);

Просмотреть файл

@ -29,6 +29,7 @@ import java.awt.event.ActionListener;
import java.util.Map;
import java.util.HashMap;
import java.util.logging.*;
import javax.swing.JMenuBar;
import javax.swing.JComponent;
@ -55,6 +56,8 @@ public class XMLMenuBuilder {
private Element root;
private JMenuBar mMenuBar;
private Logger logger = Logger.getLogger("grendel.ui.XMLMenuBuilder");
private Map<String, JComponent> mIDs;
/**
@ -77,6 +80,8 @@ public class XMLMenuBuilder {
public JMenuBar buildFrom(String file, JFrame aWindow) {
XulParser parser = new XulParser(mListener, aWindow);
logger.info("Parsing XML file: " + file);
Document doc = XulParser.makeDocument(file);
root = doc.getDocumentElement();
@ -85,6 +90,9 @@ public class XMLMenuBuilder {
Element menubarTag = (Element)root.getElementsByTagName("menubar").item(0);
mMenuBar = (JMenuBar)parser.parseTag(null, menubarTag);
mIDs = parser.getIDs();
logger.info("Parsing Successful!");
return mMenuBar;
}

Просмотреть файл

@ -1,39 +1,39 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Grendel mail/news client.
*
* The Initial Developer of the Original Code is
* R.J. Keller.
* Portions created by the Initial Developer are Copyright (C) 2005
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Grendel mail/news client.
-
- The Initial Developer of the Original Code is
- R.J. Keller.
- Portions created by the Initial Developer are Copyright (C) 2005
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<!DOCTYPE window [
<!ENTITY % menuLabelsDTD SYSTEM "MenuLabels.dtd" >

Просмотреть файл

@ -1,109 +0,0 @@
/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Grendel mail/news client.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1997 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Created: Will Scullin <scullin@netscape.com>, 28 Aug 1997.
*/
package grendel.widgets;
import java.util.Vector;
/**
* Object that represents the path through a tree to a node.
* Provides equals and hash methods to ensure expected behaviors.
*
* @author Will Scullin
*/
public class TreePath {
Object fPath[];
/**
* Constructs a TreePath from an array of nodes
*/
public TreePath(Object aPath[]) {
fPath = aPath;
}
/**
* Constructs a TreePath from a Vector of nodes
*/
public TreePath(Vector aPath) {
fPath = new Object[aPath.size()];
aPath.copyInto(fPath);
}
/**
* Returns the tree path associated with this object.
*/
public Object[] getPath() {
return fPath;
}
/**
* Returns the last node in the path
*/
public Object getTip() {
return fPath[fPath.length - 1];
}
/**
* Returns the length of the path
*/
public int getLength() {
return fPath.length;
}
/**
* Overloaded so that different objects with same contents
* are considered equal.
*/
public boolean equals(Object aObject) {
if (aObject instanceof TreePath) {
Object path[] = ((TreePath) aObject).getPath();
int length = path.length;
if (length == fPath.length) {
for (int i = length - 1; i >= 0; i--) {
if (path[i] != fPath[i]) {
return false;
}
}
return true;
}
}
return false;
}
/**
* Overloaded so different objects with the same contents hash
* to the same value
*/
public int hashCode() {
return getTip().hashCode();
}
}

Просмотреть файл

@ -61,6 +61,9 @@ import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicGraphicsUtils;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.tree.TreePath;
import grendel.dnd.DropTarget;
import grendel.dnd.DropTargetComponent;
@ -674,7 +677,7 @@ public class TreeTable extends JComponent implements Scrollable,
public int getNodeY(TreePath aPath) {
Object path[] = aPath.getPath();
int length = aPath.getLength();
int length = aPath.getPath().length;
int index = 0;
int y = 0;
TreeNode traverse = fRoot;
@ -787,7 +790,7 @@ public class TreeTable extends JComponent implements Scrollable,
*/
synchronized TreeNode findTreeNode(TreePath aPath) {
return findTreeNodeRecurse(fRoot, aPath.getPath(), 0, aPath.getLength() - 1);
return findTreeNodeRecurse(fRoot, aPath.getPath(), 0, aPath.getPath().length - 1);
}
synchronized void resizeAndRepaint() {
@ -1466,7 +1469,7 @@ public class TreeTable extends JComponent implements Scrollable,
}
class TreeModelListener implements TreeTableModelListener {
public void nodeExpanded(TreeTableModelEvent aEvent) {
public void treeExpanded(TreeExpansionEvent aEvent) {
synchronized (fTreeTable) {
// We take the leap of faith here that we're not
// expanding an already expanded node
@ -1476,7 +1479,7 @@ public class TreeTable extends JComponent implements Scrollable,
resizeAndRepaintFrom(aEvent.getPath());
}
public void nodeCollapsed(TreeTableModelEvent aEvent) {
public void treeCollapsed(TreeExpansionEvent aEvent) {
synchronized (fTreeTable) {
// We take the leap of faith here that we're not
// collapsing an already collapsed node
@ -1495,9 +1498,9 @@ public class TreeTable extends JComponent implements Scrollable,
resizeAndRepaintFrom(aEvent.getPath());
}
public void nodeInserted(TreeTableModelEvent aEvent) {
public void treeNodesInserted(TreeModelEvent aEvent) {
synchronized (fTreeTable) {
TreePath path = aEvent.getPath();
TreePath path = aEvent.getTreePath();
if (path.getPath().length == 0) { // something at the root changed
reload();
resizeAndRepaint();
@ -1505,30 +1508,22 @@ public class TreeTable extends JComponent implements Scrollable,
TreeNode node = findTreeNode(path);
if (node != null) { // visible node changed
node.reload(); // Redo everything for now
resizeAndRepaintFrom(aEvent.getPath());
resizeAndRepaintFrom(aEvent.getTreePath());
}
}
}
}
public void nodeDeleted(TreeTableModelEvent aEvent) {
synchronized (fTreeTable) {
TreePath path = aEvent.getPath();
if (path.getPath().length == 0) { // something at the root changed
reload();
resizeAndRepaint();
} else {
TreeNode node = findTreeNode(path);
if (node != null) { // visible node changed
node.reload(); // Redo everything for now
resizeAndRepaintFrom(aEvent.getPath());
}
}
}
public void treeNodesRemoved(TreeModelEvent aEvent) {
treeNodesInserted(aEvent);
}
public void nodeChanged(TreeTableModelEvent aEvent) {
repaint(aEvent.getPath());
public void treeStructureChanged(TreeModelEvent aEvent) {
treeNodesInserted(aEvent);
}
public void treeNodesChanged(TreeModelEvent aEvent) {
repaint(aEvent.getTreePath());
}
}

Просмотреть файл

@ -29,6 +29,7 @@ package grendel.widgets;
import java.util.Enumeration;
import javax.swing.Icon;
import javax.swing.tree.TreePath;
/**
* The <code>TreeTableDataModel</code> interface is used to mediate

Просмотреть файл

@ -21,9 +21,13 @@
*
* Created: Will Scullin <scullin@netscape.com>, 18 Sep 1997.
*/
package grendel.widgets;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeModelEvent;
import grendel.widgets.TreeTableModelListener;
public class TreeTableModelBroadcaster implements TreeTableModelListener {
TreeTableModelListener a, b;
@ -61,28 +65,33 @@ public class TreeTableModelBroadcaster implements TreeTableModelListener {
return add(a2, b2);
}
public void nodeExpanded(TreeTableModelEvent aEvent) {
a.nodeExpanded(aEvent);
b.nodeExpanded(aEvent);
public void treeExpanded(TreeExpansionEvent aEvent) {
a.treeExpanded(aEvent);
b.treeExpanded(aEvent);
}
public void nodeCollapsed(TreeTableModelEvent aEvent) {
a.nodeCollapsed(aEvent);
b.nodeCollapsed(aEvent);
public void treeCollapsed(TreeExpansionEvent aEvent) {
a.treeCollapsed(aEvent);
b.treeCollapsed(aEvent);
}
public void nodeInserted(TreeTableModelEvent aEvent) {
a.nodeInserted(aEvent);
b.nodeInserted(aEvent);
public void treeNodesInserted(TreeModelEvent aEvent) {
a.treeNodesInserted(aEvent);
b.treeNodesInserted(aEvent);
}
public void nodeDeleted(TreeTableModelEvent aEvent) {
a.nodeDeleted(aEvent);
b.nodeDeleted(aEvent);
public void treeNodesRemoved(TreeModelEvent aEvent) {
a.treeNodesRemoved(aEvent);
b.treeNodesRemoved(aEvent);
}
public void nodeChanged(TreeTableModelEvent aEvent) {
a.nodeChanged(aEvent);
b.nodeChanged(aEvent);
public void treeNodesChanged(TreeModelEvent aEvent) {
a.treeNodesChanged(aEvent);
b.treeNodesChanged(aEvent);
}
public void treeStructureChanged(TreeModelEvent aEvent) {
a.treeStructureChanged(aEvent);
b.treeStructureChanged(aEvent);
}
}

Просмотреть файл

@ -25,6 +25,7 @@
package grendel.widgets;
import java.util.EventObject;
import javax.swing.tree.TreePath;
/**
* A TreeTableDataModel event. Used for reporting which node and possibly

Просмотреть файл

@ -25,11 +25,7 @@
package grendel.widgets;
import java.util.EventListener;
import javax.swing.event.*;
public interface TreeTableModelListener extends EventListener {
public void nodeExpanded(TreeTableModelEvent aEvent);
public void nodeCollapsed(TreeTableModelEvent aEvent);
public void nodeInserted(TreeTableModelEvent aEvent);
public void nodeDeleted(TreeTableModelEvent aEvent);
public void nodeChanged(TreeTableModelEvent aEvent);
public interface TreeTableModelListener extends TreeExpansionListener, TreeModelListener {
}