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
Родитель fed99aaa94
Коммит dde32a9331
23 изменённых файлов: 69 добавлений и 4873 удалений

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

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

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

@ -1,305 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Sun Aug 01 23:07:55 MDT 1999 -->
<TITLE>
: Class TreePath
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../grendel/widgets/ToolBarButton.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../grendel/widgets/TreeTable.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TreePath.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
grendel.widgets</FONT>
<BR>
Class TreePath</H2>
<PRE>
java.lang.Object
|
+--<B>grendel.widgets.TreePath</B>
</PRE>
<HR>
<DL>
<DT>public class <B>TreePath</B><DT>extends java.lang.Object</DL>
<P>
Object that represents the path through a tree to a node.
Provides equals and hash methods to ensure expected behaviors.
<P>
<HR>
<P>
<!-- ======== INNER CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#TreePath(java.lang.Object[])">TreePath</A></B>(java.lang.Object[]&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a TreePath from an array of nodes</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#TreePath(java.util.Vector)">TreePath</A></B>(java.util.Vector&nbsp;aPath)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a TreePath from a Vector of nodes</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<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/TreePath.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;aObject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overloaded so that different objects with same contents
are considered equal.</TD>
</TR>
<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/TreePath.html#getLength()">getLength</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the length of the path</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#getPath()">getPath</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the tree path associated with this object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#getTip()">getTip</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the last node in the path</TD>
</TR>
<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/TreePath.html#hashCode()">hashCode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overloaded so different objects with the same contents hash
to the same value</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone,
finalize,
getClass,
notify,
notifyAll,
toString,
wait,
wait,
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="TreePath(java.lang.Object[])"><!-- --></A><H3>
TreePath</H3>
<PRE>
public <B>TreePath</B>(java.lang.Object[]&nbsp;aPath)</PRE>
<DL>
<DD>Constructs a TreePath from an array of nodes</DL>
<HR>
<A NAME="TreePath(java.util.Vector)"><!-- --></A><H3>
TreePath</H3>
<PRE>
public <B>TreePath</B>(java.util.Vector&nbsp;aPath)</PRE>
<DL>
<DD>Constructs a TreePath from a Vector of nodes</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="getPath()"><!-- --></A><H3>
getPath</H3>
<PRE>
public java.lang.Object[] <B>getPath</B>()</PRE>
<DL>
<DD>Returns the tree path associated with this object.</DL>
<HR>
<A NAME="getTip()"><!-- --></A><H3>
getTip</H3>
<PRE>
public java.lang.Object <B>getTip</B>()</PRE>
<DL>
<DD>Returns the last node in the path</DL>
<HR>
<A NAME="getLength()"><!-- --></A><H3>
getLength</H3>
<PRE>
public int <B>getLength</B>()</PRE>
<DL>
<DD>Returns the length of the path</DL>
<HR>
<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;aObject)</PRE>
<DL>
<DD>Overloaded so that different objects with same contents
are considered equal.<DD><DL>
<DT><B>Overrides:</B><DD>equals in class java.lang.Object</DL>
</DD>
</DL>
<HR>
<A NAME="hashCode()"><!-- --></A><H3>
hashCode</H3>
<PRE>
public int <B>hashCode</B>()</PRE>
<DL>
<DD>Overloaded so different objects with the same contents hash
to the same value<DD><DL>
<DT><B>Overrides:</B><DD>hashCode in class java.lang.Object</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../grendel/widgets/ToolBarButton.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../grendel/widgets/TreeTable.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TreePath.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
</BODY>
</HTML>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

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

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

@ -1,284 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Sun Aug 01 23:07:56 MDT 1999 -->
<TITLE>
: Class TreeTableModelEvent
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../grendel/widgets/TreeTableModelBroadcaster.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TreeTableModelEvent.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
grendel.widgets</FONT>
<BR>
Class TreeTableModelEvent</H2>
<PRE>
java.lang.Object
|
+--java.util.EventObject
|
+--<B>grendel.widgets.TreeTableModelEvent</B>
</PRE>
<HR>
<DL>
<DT>public class <B>TreeTableModelEvent</B><DT>extends java.util.EventObject</DL>
<P>
A TreeTableDataModel event. Used for reporting which node and possibly
which child nodes were involved in an event.
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../grendel/widgets/TreeTableDataModel.html"><CODE>TreeTableDataModel</CODE></A>,
<A HREF="../../grendel/widgets/TreeTableModelListener.html"><CODE>TreeTableModelListener</CODE></A>, <A HREF="../../serialized-form.html#grendel.widgets.TreeTableModelEvent">Serialized Form</A></DL>
<HR>
<P>
<!-- ======== INNER CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Fields inherited from class java.util.EventObject</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>source</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<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,
<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,
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,
java.lang.Object[]&nbsp;aChildren)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for event with a TreePath and children.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#getChildren()">getChildren</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../grendel/widgets/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#getPath()">getPath</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.util.EventObject</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>getSource,
toString</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath)"><!-- --></A><H3>
TreeTableModelEvent</H3>
<PRE>
public <B>TreeTableModelEvent</B>(java.lang.Object&nbsp;aSource,
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath)</PRE>
<DL>
<DD>Constructor for event with a TreePath.</DL>
<HR>
<A NAME="TreeTableModelEvent(java.lang.Object, grendel.widgets.TreePath, java.lang.Object[])"><!-- --></A><H3>
TreeTableModelEvent</H3>
<PRE>
public <B>TreeTableModelEvent</B>(java.lang.Object&nbsp;aSource,
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A>&nbsp;aPath,
java.lang.Object[]&nbsp;aChildren)</PRE>
<DL>
<DD>Constructor for event with a TreePath and children.</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="getPath()"><!-- --></A><H3>
getPath</H3>
<PRE>
public <A HREF="../../grendel/widgets/TreePath.html">TreePath</A> <B>getPath</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>The TreePath associated with this event</DL>
</DD>
</DL>
<HR>
<A NAME="getChildren()"><!-- --></A><H3>
getChildren</H3>
<PRE>
public java.lang.Object[] <B>getChildren</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Returns:</B><DD>The node children associated with this event. Can be null.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../grendel/widgets/TreeTableModelBroadcaster.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="TreeTableModelEvent.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
</BODY>
</HTML>

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

@ -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> 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 <DD>Ensures that the capacity of the buffer is at least equal to the
specified minimum. 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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp; <DD>&nbsp;
<DT><A HREF="calypso/util/RWLock.html#enterInvariantReadLock()"><B>enterInvariantReadLock()</B></A> - <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> - <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Retrieves the next sibling of the given node. <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Returns the Y location of the give node <DD>Returns the Y location of the give node
<DT><A HREF="grendel/storage/MailDrop.html#getNumMessagesWaiting()"><B>getNumMessagesWaiting()</B></A> - <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> - <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> Method in class grendel.widgets.<A HREF="grendel/widgets/CollapsiblePanel.html">CollapsiblePanel</A>
<DD>Tells you whether this component is currently collapsed. <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Indicates whether the given node is collapsed. <DD>Indicates whether the given node is collapsed.
<DT><A HREF="grendel/widgets/Collapsible.html#isCollapsible()"><B>isCollapsible()</B></A> - <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> - <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> Static variable in class grendel.util.<A HREF="grendel/util/Constants.html">Constants</A>
<DD>Whether this is a Unix machine. <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Returns whether or not the give path is visible. <DD>Returns whether or not the give path is visible.
<DT><A HREF="calypso/util/StringBuf.html#isWhitespace()"><B>isWhitespace()</B></A> - <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> - <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> Constructor for class dog.mail.nntp.<A HREF="dog/mail/nntp/NNTPStore.html">NNTPStore</A>
<DD>Constructor. <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <DD>&nbsp;
<DT><A HREF="grendel/widgets/TreeTableModelListener.html#nodeCollapsed(grendel.widgets.TreeTableModelEvent)"><B>nodeCollapsed(TreeTableModelEvent)</B></A> - <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> - <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableModelListener.html">TreeTableModelListener</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <DD>&nbsp;
<DT><A HREF="grendel/storage/MailDrop.html#NONE"><B>NONE</B></A> - <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> - <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> 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. <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>&nbsp; <DD>&nbsp;
<DT><A HREF="grendel/search/NaryTermPanel.html#replaceTerm(grendel.search.TermPanel, grendel.search.TermPanel)"><B>replaceTerm(TermPanel, TermPanel)</B></A> - <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> - <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> Method in class calypso.util.<A HREF="calypso/util/RandomAccessFileWithByteLines.html">RandomAccessFileWithByteLines</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Selects the given TreePath. <DD>Selects the given TreePath.
<DT><A HREF="grendel/composition/CompositionPanel.html#selectAddressesTag"><B>selectAddressesTag</B></A> - <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> - <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> Method in class grendel.ui.<A HREF="grendel/ui/ProgressFrame.html">ProgressFrame</A>
<DD>&nbsp; <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> Method in class grendel.widgets.<A HREF="grendel/widgets/TreeTable.html">TreeTable</A>
<DD>Sets the last object on which the user clicked. <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> - <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> - <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> Method in class calypso.util.<A HREF="calypso/util/StringBuf.html">StringBuf</A>
<DD>Changes the character at the specified index to be ch. <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> Method in interface grendel.widgets.<A HREF="grendel/widgets/TreeTableDataModel.html">TreeTableDataModel</A>
<DD>Method to set the collapsed state of a node. <DD>Method to set the collapsed state of a node.
<DT><A HREF="grendel/widgets/ColumnModel.html#setColumnMargin(int)"><B>setColumnMargin(int)</B></A> - <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> - 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> Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelBroadcaster.html">TreeTableModelBroadcaster</A>
<DD>&nbsp; <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> Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>
<DD>Constructor for event with a TreePath. <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> Constructor for class grendel.widgets.<A HREF="grendel/widgets/TreeTableModelEvent.html">TreeTableModelEvent</A>
<DD>Constructor for event with a TreePath and children. <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> - <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> -

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

@ -1,57 +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: Jamie Zawinski <jwz@netscape.com>, 27 Aug 1997.
*/
package grendel.mime.html;
import grendel.mime.IMimeOperator;
import grendel.mime.IMimeObject;
import calypso.util.ByteBuf;
import java.io.PrintStream;
/** This class converts message/rfc822 to HTML: mainly this involves
emitting the headers, then letting the body handle itself.
*/
class MimeMessageOperator extends MimeContainerOperator {
MimeMessageOperator(IMimeObject object, PrintStream out) {
super(object, out);
}
public IMimeOperator createChild(IMimeObject object) {
NormalHeaderFormatter formatter = new NormalHeaderFormatter();
StringBuffer output = new StringBuffer(200);
formatter.formatHeaders(object.headers(), output);
// output.append("<P>");
if (object.contentType().equals("text/plain")) {
output.append("<pre>");
}
getOut().print(output.toString());
return super.createChild(object);
}
}

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

@ -1,63 +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: Jamie Zawinski <jwz@netscape.com>, 26 Aug 1997.
*/
package grendel.mime.html;
import calypso.util.ByteBuf;
import grendel.mime.IMimeObject;
import java.io.PrintStream;
/** This class converts text/plain (or unknown text/ types) to HTML.
@see MimeHTMLOperator
*/
class MimeTextOperator extends MimeLeafOperator {
StringBuffer buffer = null;
MimeTextOperator(IMimeObject object, PrintStream out) {
super(object, out);
buffer = new StringBuffer(200);
// getOut().print("<PRE VARIABLE>");
}
void decodeBytesToUnicode(ByteBuf in, StringBuffer out) {
// #### need to look at charset and do deep magic
for (int i = 0; i < in.length(); i++) {
out.append((char) in.byteAt(i));
}
}
public void pushBytes(ByteBuf b) {
buffer.setLength(0);
decodeBytesToUnicode(b, buffer);
TextHTMLConverter.quoteForHTML(buffer, true, true);
getOut().print(buffer.toString());
}
public void pushEOF() {
buffer = null;
// getOut().print("</PRE>");
}
}

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

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

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

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

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

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

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

@ -1,287 +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>, 17 Dec 1997.
*
* Contributors: Jeff Galyan <talisman@anamorphic.com>
*/
package grendel.ui;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.mail.Message;
import javax.mail.MessagingException;
import calypso.util.Assert;
import grendel.storage.MessageExtra;
import grendel.storage.MessageExtraFactory;
import grendel.view.FolderView;
import grendel.view.MessageSetViewObserver;
import grendel.view.ViewedMessage;
import grendel.widgets.TreePath;
import grendel.widgets.TreeTableDataModel;
import grendel.widgets.TreeTableModelBroadcaster;
import grendel.widgets.TreeTableModelEvent;
import grendel.widgets.TreeTableModelListener;
//
// MessageModel. Maps a FolderView into a TreeTableDataModel.
//
class MessageModel implements TreeTableDataModel {
Hashtable fCollapsed = new Hashtable();
FolderView fView = null;
TreeTableModelListener fListeners;
ViewObserver fViewObserver = new ViewObserver();
Icon fMessageIcon;
Icon fMessageReadIcon;
public MessageModel() {
fMessageIcon = new ImageIcon("ui/images/msg-small.gif");
fMessageReadIcon = new ImageIcon("ui/images/msgRead-small.gif");
}
public void setFolderView(FolderView aView) {
if (fView != null) {
fView.removeObserver(fViewObserver);
}
fView = aView;
if (fView != null) {
fView.addObserver(fViewObserver);
}
}
public boolean showRoot() {
return true;
}
// Navigation stuff
public Object getRoot() {
return fView.getMessageRoot();
}
public boolean isLeaf(Object aNode) {
ViewedMessage node = (ViewedMessage) aNode;
return node.getChild() == null;
}
public Enumeration getChildren(Object aNode) {
return null;
}
public Object getChild(Object aNode) {
ViewedMessage node = (ViewedMessage) aNode;
return node.getChild();
}
public Object getNextSibling(Object aNode) {
ViewedMessage node = (ViewedMessage) aNode;
return node.getNext();
}
// Attributes
public void setCollapsed(TreePath aPath, boolean aCollapsed) {
TreeTableModelEvent event =
new TreeTableModelEvent(this, aPath);
if (aCollapsed) {
if (fCollapsed.put(aPath, "x") == null) {
if (fListeners != null) {
fListeners.nodeCollapsed(event);
}
}
} else {
if (fCollapsed.remove(aPath) != null) {
if (fListeners != null) {
fListeners.nodeExpanded(event);
}
}
}
}
public boolean isCollapsed(TreePath aPath) {
return fCollapsed.containsKey(aPath);
}
public Object getData(Object aNode, Object aID) {
ViewedMessage node = (ViewedMessage) aNode;
if (node.isDummy()) {
Message m = node.getChild().getMessage();
if (aID == FolderPanel.kReadID)
return Boolean.TRUE;
else if (aID == FolderPanel.kSubjectID) {
return Util.GetSubject(m);
}
return "";
}
Message m = node.getMessage();
Assert.Assertion(m != null);
if (m == null) {
return "";
} else if (aID == FolderPanel.kSubjectID) {
return Util.GetSubject(m);
} else {
MessageExtra mextra = MessageExtraFactory.Get(m);
Object result = null;
try {
if (aID == FolderPanel.kSenderID) {
result = mextra.getAuthor();
} else if (aID == FolderPanel.kDateID) {
result = mextra.simplifiedDate();
} else if (aID == FolderPanel.kReadID) {
result = mextra.isRead() ? Boolean.TRUE : Boolean.FALSE;
} else if (aID == FolderPanel.kFlagID) {
result = mextra.isFlagged() ? Boolean.TRUE : Boolean.FALSE;
} else if (aID == FolderPanel.kDeletedID) {
result = mextra.isDeleted() ? Boolean.TRUE : Boolean.FALSE;
} else {
throw new Error("unknown column");
}
} catch (MessagingException e) {
result = "???"; // ### Is this reasonable?
}
if (result == null) result = "";
return result;
}
}
public void setData(Object aNode, Object aID, Object aValue) {
ViewedMessage node = (ViewedMessage) aNode;
Message m = node.getMessage();
if (m != null) {
MessageExtra mextra = MessageExtraFactory.Get(m);
boolean b = ((Boolean) aValue).booleanValue();
try {
if (aID == FolderPanel.kReadID) {
System.out.println("marking " + Util.GetSubject(m) + " read " + b);
mextra.setIsRead(b);
} else if (aID == FolderPanel.kFlagID) {
mextra.setFlagged(b);
} else if (aID == FolderPanel.kDeletedID) {
mextra.setDeleted(b);
}
} catch (MessagingException e) {
// ### Shouldn't we report the error to the user or something?
}
}
}
public Icon getIcon(Object aNode) {
ViewedMessage node = (ViewedMessage) aNode;
Message m = node.getMessage();
if (m == null) {
return fMessageIcon;
} else {
try {
if (MessageExtraFactory.Get(m).isRead()) {
return fMessageReadIcon;
}
} catch (MessagingException e) {
}
return fMessageIcon;
}
}
public Icon getOverlayIcon(Object aNode) {
return null;
}
public void addTreeTableModelListener(TreeTableModelListener aListener) {
fListeners = TreeTableModelBroadcaster.add(fListeners, aListener);
}
public void removeTreeTableModelListener(TreeTableModelListener aListener) {
fListeners = TreeTableModelBroadcaster.remove(fListeners, aListener);
}
TreePath createTreePath(ViewedMessage aNode) {
Vector pathVector = new Vector();
while (aNode != null) {
pathVector.insertElementAt(aNode, 0);
aNode = aNode.getParent();
}
return new TreePath(pathVector);
}
class ViewObserver implements MessageSetViewObserver {
public void messagesChanged(Enumeration inserted,
Enumeration deleted,
Enumeration changed) {
if (fListeners != null) {
Object children[] = new Object[1];
ViewedMessage node;
TreePath path;
if (inserted != null) {
System.out.println("Inserted messages");
while (inserted.hasMoreElements()) {
node = (ViewedMessage) inserted.nextElement();
path = createTreePath(node.getParent());
children[0] = node;
fListeners.nodeInserted(new TreeTableModelEvent(this, path, children));
}
}
if (deleted != null) {
System.out.println("Deleted messages");
while (deleted.hasMoreElements()) {
node = (ViewedMessage) deleted.nextElement();
path = createTreePath(node.getParent());
children[0] = node;
fListeners.nodeDeleted(new TreeTableModelEvent(this, path, children));
}
}
if (changed != null) {
while (changed.hasMoreElements()) {
node = (ViewedMessage) changed.nextElement();
Message m = node.getMessage();
System.out.println("'" + Util.GetSubject(m) + "' changed");
path = createTreePath(node);
fListeners.nodeChanged(new TreeTableModelEvent(this, path, null));
}
}
}
}
}
}

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

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

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

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

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

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

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

@ -1,99 +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 Giao Nguyen
* <grail@cafebabe.org>. Portions created by Giao Nguyen are
* Copyright (C) 1999 Giao Nguyen. All
* Rights Reserved.
*
* Contributor(s):
* Morgan Schweers <morgan@vixen.com>
* R.J. Keller <rj.keller@beonex.com>
*/
package grendel.ui;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Map;
import java.util.HashMap;
import javax.swing.JMenuBar;
import javax.swing.JComponent;
import javax.swing.JFrame;
import org.w3c.dom.Element;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import com.trfenv.parsers.xul.XulParser;
import com.trfenv.parsers.Event;
/**
* Build a menu bar from an XML data source. This builder supports:
* <UL>
* <LI>Text label cross referencing to a DTD file.
* <LI>Action lookups.
* </UL>
*/
public class XMLMenuBuilder {
private Event[] mListener;
private Element root;
private JMenuBar mMenuBar;
private Map<String, JComponent> mIDs;
/**
* Build a menu builder which operates on XML formatted data
*
* @param aListener The action listener that contains the events
* for all the tags that will be parsed.
*/
public XMLMenuBuilder(Event[] aListener) {
mListener = aListener;
mIDs = new HashMap<String, JComponent>();
}
/**
*Builds a JMenuBar based on the input stream data.
*
* @param stream The input stream to read the XML data from.
* @param aWindow The parent window of this menubar.
*/
public JMenuBar buildFrom(String file, JFrame aWindow) {
XulParser parser = new XulParser(mListener, aWindow);
Document doc = XulParser.makeDocument(file);
root = doc.getDocumentElement();
//no, we don't support multiple menu bars. If there are multiple menubars, just take
//the first one.
Element menubarTag = (Element)root.getElementsByTagName("menubar").item(0);
mMenuBar = (JMenuBar)parser.parseTag(null, menubarTag);
mIDs = parser.getIDs();
return mMenuBar;
}
/**
*Returns a map containing the element ID as a string and the JComponent being
*the component that the ID connects to.
*/
public Map<String, JComponent> getElementsAndIDs()
{
return mIDs;
}
}

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

@ -1,147 +0,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 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"?>
<!DOCTYPE window [
<!ENTITY % menuLabelsDTD SYSTEM "MenuLabels.dtd" >
%menuLabelsDTD;
]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<keyset><!--
<key modifiers="accel" key="&folderNewAccel;" oncommand="msgNew"/>
--></keyset>
<menubar id="mail.multi_pane">
<menu id="FileMenu" label="&multiFileLabel;" accesskey="&multiFileAccel;">
<menupopup>
<menu label="&newLabel;" accesskey="&newAccel;">
<menupopup>
<menuitem id="msgNew" onclick="msgNew" label="&msgNewLabel;" accesskey="&msgNewAccel;"/>
<menuitem id="folderNew" onclick="folderNew" label="&folderNewLabel;" accesskey="&folderNewAccel;"/>
<menuitem id="newAccount" onclick="prefSrvs" label="&accountNewLabel;" accesskey="&accountNewAccel;"/>
</menupopup>
</menu>
<menuitem id="msgOpen" onclick="msgOpen" label="&msgOpenLabel;" accesskey="&msgOpenAccel;"/>
<menuitem id="msgSaveAs" onclick="msgSaveAs" label="&msgSaveAsLabel;" accesskey="&msgSaveAsAccel;"/>
<menuseparator/>
<menuitem id="msgGetNew" onclick="msgGetNew" label="&msgGetNewLabel;" accesskey="&msgGetNewAccel;"/>
<menuseparator/>
<menuitem id="appExit" onclick="appExit" label="&appExitLabel;" accesskey="&appExitAccel;"/>
</menupopup>
</menu>
<menu id="EditMenu" label="&multiEditLabel;" accesskey="&multiEditAccel;">
<menupopup>
<menuitem id="editUndo" onclick="editUndo" label="&editUndoLabel;" accesskey="&editUndoAccel;"/>
<menuitem id="editRedo" onclick="editRedo" label="&editRedoLabel;" accesskey="&editRedoAccel;"/>
<menuseparator/>
<menuitem id="editCut" onclick="editCut" label="&editCutLabel;" accesskey="&editCutAccel;"/>
<menuitem id="editCopy" onclick="editCopy" label="&editCopyLabel;" accesskey="&editCopyAccel;"/>
<menuitem id="editPaste" onclick="editPaste" label="&editPasteLabel;" accesskey="&editPasteAccel;"/>
<menuseparator/>
<menuitem id="folderDelete" onclick="folderDelete" label="&folderDeleteLabel;" accesskey="&folderDeleteAccel;"/>
<menuseparator/>
<menuitem id="appSearch" onclick="appSearch" label="&appSearchLabel;" accesskey="&appSearchAccel;"/>
<menuitem id="appRunFilters" onclick="appRunFilters" label="&appRunFiltersLabel;" accesskey="&appRunFiltersAccel;"/>
</menupopup>
</menu>
<menu id="ViewMenu" label="&multiViewLabel;" accesskey="&multiViewAccel;">
<menupopup>
<menu id="toolbars" label="&toolbarsLabel;" accesskey="&toolbarsAccel;">
<menupopup>
<menuitem onclick="toggleMailToolbar" label="&mailToolbarsLabel;" accesskey="&mailToolbarsAccel;"/>
<menuitem onclick="toggleStatusbar" label="&statusbarLabel;" accesskey="&statusbarAccel;"/>
</menupopup>
</menu>
<menu id="SortMenu" label="&viewSortLabel;" accesskey="&viewSortAccel;">
<menupopup>
<menuitem id="toggleThreading" onclick="toggleThreading" label="&toggleThreadingLabel;" accesskey="&toggleThreadingAccel;"/>
<menuseparator/>
<menuitem id="sortAuthor" onclick="sortAuthor" label="&sortAuthorLabel;" accesskey="&sortAuthorAccel;"/>
<menuitem id="sortDate" onclick="sortDate" label="&sortDateLabel;" accesskey="&sortDateAccel;"/>
<menuitem id="sortNumber" onclick="sortNumber" label="&sortNumberLabel;" accesskey="&sortNumberAccel;"/>
<menuitem id="sortSubject" onclick="sortSubject" label="&sortSubjectLabel;" accesskey="&sortSubjectAccel;"/>
</menupopup>
</menu>
</menupopup>
</menu>
<menu id="MessageMenu" label="&multiMessageLabel;" accesskey="&multiMessageAccel;">
<menupopup>
<menuitem id="msgNew" onclick="msgNew" label="&msgNewLabel2;" accesskey="&msgNewAccel2;"/>
<menuseparator/>
<menuitem id="msgReply" onclick="msgReply" label="&msgReplyLabel;" accesskey="&msgReplyAccel;"/>
<menuitem id="msgReplyAll" onclick="msgReplyAll" label="&msgReplyAllLabel;" accesskey="&msgReplyAllAccel;"/>
<menuitem id="fwdQuoted" onclick="fwdQuoted" label="&fwdQuotedLabel;" accesskey="&fwdQuotedAccel;"/>
<menuitem id="fwdInline" onclick="fwdInline" label="&fwdInlineLabel;" accesskey="&fwdInlineAccel;"/>
<menuitem id="fwdAttachment" onclick="fwdAttachment" label="&fwdAttachmentLabel;" accesskey="&fwdAttachmentAccel;"/>
<menuseparator/>
<menu id="msgMark" label="&msgMarkLabel;" accesskey="&msgMarkAccel;">
<menupopup>
<menuitem id="markMsgRead" onclick="markMsgRead" label="&markMsgReadLabel;" accesskey="&markMsgReadAccel;"/>
<menuitem id="markThreadRead" onclick="markThreadRead" label="&markThreadReadLabel;" accesskey="&markThreadReadAccel;"/>
<menuitem id="markAllRead" onclick="markAllRead" label="&markAllReadLabel;" accesskey="&markAllReadAccel;"/>
</menupopup>
</menu>
</menupopup>
</menu>
<menu id="PrefsMenu" label="&multiPrefsLabel;" accesskey="&multiPrefsAccel;">
<menupopup>
<menuitem onclick="openAddressBook" label="&addressBookLabel;" accesskey="&addressBookAccel;"/>
<menuseparator/>
<menuitem id="prefGeneral" onclick="prefGeneral" label="&prefGeneralLabel;" accesskey="&prefGeneralAccel;"/>
<menuitem id="prefIds" onclick="prefIds" label="&prefIdsLabel;" accesskey="&prefIdsAccel;"/>
<menuitem id="prefSrvs" onclick="prefSrvs" label="&prefSrvsLabel;" accesskey="&prefSrvsAccel;"/>
<menuitem id="prefUI" onclick="prefUI" label="&prefUILabel;" accesskey="&prefUIAccel;"/>
</menupopup>
</menu>
<menu id="HelpMenu" label="&helpLabel;" accesskey="&helpAccel;">
<menupopup>
<menuitem onclick="openHelp" label="&contentsLabel;" accesskey="&contentsAccel;"/>
<menuitem onclick="openReleaseNotes" label="&releaseNotesLabel;" accesskey="&releaseNotesAccel;"/>
<menuitem onclick="openAbout" label="&aboutLabel;" accesskey="&aboutAccel;"/>
</menupopup>
</menu>
</menubar>
</window>

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

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

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

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

@ -1,88 +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>, 18 Sep 1997.
*/
package grendel.widgets;
public class TreeTableModelBroadcaster implements TreeTableModelListener {
TreeTableModelListener a, b;
public TreeTableModelBroadcaster(TreeTableModelListener a, TreeTableModelListener b) {
this.a = a;
this.b = b;
}
public static TreeTableModelListener add(TreeTableModelListener a, TreeTableModelListener b) {
if (a == null) return b;
if (b == null) return a;
return new TreeTableModelBroadcaster(a, b);
}
public static TreeTableModelListener remove(TreeTableModelListener a, TreeTableModelListener b) {
if (a == b || a == null) {
return null;
} else if (a instanceof TreeTableModelBroadcaster) {
return ((TreeTableModelBroadcaster)a).remove(b);
} else {
return a; // it's not here
}
}
public TreeTableModelListener remove(TreeTableModelListener c) {
if (c == a) return b;
if (c == b) return a;
TreeTableModelListener a2 = remove(a, c);
TreeTableModelListener b2 = remove(b, c);
if (a2 == a && b2 == b) {
return this; // it's not here
}
return add(a2, b2);
}
public void nodeExpanded(TreeTableModelEvent aEvent) {
a.nodeExpanded(aEvent);
b.nodeExpanded(aEvent);
}
public void nodeCollapsed(TreeTableModelEvent aEvent) {
a.nodeCollapsed(aEvent);
b.nodeCollapsed(aEvent);
}
public void nodeInserted(TreeTableModelEvent aEvent) {
a.nodeInserted(aEvent);
b.nodeInserted(aEvent);
}
public void nodeDeleted(TreeTableModelEvent aEvent) {
a.nodeDeleted(aEvent);
b.nodeDeleted(aEvent);
}
public void nodeChanged(TreeTableModelEvent aEvent) {
a.nodeChanged(aEvent);
b.nodeChanged(aEvent);
}
}

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

@ -1,75 +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>, 17 Sep 1997.
*/
package grendel.widgets;
import java.util.EventObject;
/**
* A TreeTableDataModel event. Used for reporting which node and possibly
* which child nodes were involved in an event.
*
* @see TreeTableDataModel
* @see TreeTableModelListener
*/
public class TreeTableModelEvent extends EventObject {
TreePath fPath;
Object fChildren[];
/**
* Constructor for event with a TreePath.
*/
public TreeTableModelEvent(Object aSource, TreePath aPath) {
this(aSource, aPath, null);
}
/**
* Constructor for event with a TreePath and children.
*/
public TreeTableModelEvent(Object aSource, TreePath aPath,
Object aChildren[]) {
super(aSource);
fPath = aPath;
fChildren = aChildren;
}
/**
* @return The TreePath associated with this event
*/
public TreePath getPath() {
return fPath;
}
/**
* @return The node children associated with this event. Can be null.
*/
public Object[] getChildren() {
return fChildren;
}
}

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

@ -1,35 +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>, 21 Aug 1997.
*/
package grendel.widgets;
import java.util.EventListener;
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);
}