зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
fed99aaa94
Коммит
dde32a9331
|
@ -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>
|
||||
|
|
|
@ -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> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> <FONT ID="NavBarFont1Rev"><B>Class</B></FONT> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
|
||||
</EM>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../grendel/widgets/ToolBarButton.html"><B>PREV CLASS</B></A>
|
||||
<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>
|
||||
<A HREF="TreePath.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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[] aPath)</CODE>
|
||||
|
||||
<BR>
|
||||
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 aPath)</CODE>
|
||||
|
||||
<BR>
|
||||
Constructs a TreePath from a Vector of nodes</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<!-- ========== 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> boolean</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object aObject)</CODE>
|
||||
|
||||
<BR>
|
||||
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> int</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#getLength()">getLength</A></B>()</CODE>
|
||||
|
||||
<BR>
|
||||
Returns the length of the path</TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="white" ID="TableRowColor">
|
||||
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||
<CODE> java.lang.Object[]</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#getPath()">getPath</A></B>()</CODE>
|
||||
|
||||
<BR>
|
||||
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> java.lang.Object</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#getTip()">getTip</A></B>()</CODE>
|
||||
|
||||
<BR>
|
||||
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> int</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreePath.html#hashCode()">hashCode</A></B>()</CODE>
|
||||
|
||||
<BR>
|
||||
Overloaded so different objects with the same contents hash
|
||||
to the same value</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<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>
|
||||
|
||||
<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[] 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 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 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> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> <FONT ID="NavBarFont1Rev"><B>Class</B></FONT> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
|
||||
</EM>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../grendel/widgets/ToolBarButton.html"><B>PREV CLASS</B></A>
|
||||
<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>
|
||||
<A HREF="TreePath.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
SUMMARY: INNER | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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">
|
||||
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||
<CODE> 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> 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> aPath)</CODE>
|
||||
|
||||
<BR>
|
||||
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> 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> 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> aPath,
|
||||
boolean aCollapsed)</CODE>
|
||||
|
||||
<BR>
|
||||
|
@ -328,7 +328,7 @@ public boolean <B>isLeaf</B>(java.lang.Object 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> 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> 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> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> <FONT ID="NavBarFont1Rev"><B>Class</B></FONT> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
|
||||
</EM>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../grendel/widgets/TreeTableModelBroadcaster.html"><B>PREV CLASS</B></A>
|
||||
NEXT CLASS</FONT></TD>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A>
|
||||
<A HREF="TreeTableModelEvent.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
SUMMARY: INNER | <A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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>
|
||||
|
||||
<!-- ======== 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 aSource,
|
||||
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A> aPath)</CODE>
|
||||
|
||||
<BR>
|
||||
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 aSource,
|
||||
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A> aPath,
|
||||
java.lang.Object[] aChildren)</CODE>
|
||||
|
||||
<BR>
|
||||
Constructor for event with a TreePath and children.</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<!-- ========== 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> java.lang.Object[]</CODE></FONT></TD>
|
||||
<TD><CODE><B><A HREF="../../grendel/widgets/TreeTableModelEvent.html#getChildren()">getChildren</A></B>()</CODE>
|
||||
|
||||
<BR>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR BGCOLOR="white" ID="TableRowColor">
|
||||
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
|
||||
<CODE> <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>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<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 aSource,
|
||||
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A> 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 aSource,
|
||||
<A HREF="../../grendel/widgets/TreePath.html">TreePath</A> aPath,
|
||||
java.lang.Object[] 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> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> <FONT ID="NavBarFont1Rev"><B>Class</B></FONT> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A> </TD>
|
||||
<TD BGCOLOR="#EEEEFF" ID="NavBarCell1"> <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
|
||||
</EM>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../grendel/widgets/TreeTableModelBroadcaster.html"><B>PREV CLASS</B></A>
|
||||
NEXT CLASS</FONT></TD>
|
||||
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
|
||||
<A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A>
|
||||
<A HREF="TreeTableModelEvent.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
SUMMARY: INNER | <A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
|
||||
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
|
||||
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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> <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>
|
||||
<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> <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 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}));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.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));
|
||||
}
|
||||
|
||||
|
@ -145,12 +146,12 @@ public class MessagePanel extends GeneralPanel {
|
|||
if (fMessageLoadThread != null) {
|
||||
mLogger.info("Killing msg thread");
|
||||
fMessageLoadThread.interrupt();
|
||||
try {
|
||||
fMessageLoadThread.join();
|
||||
}
|
||||
catch ( InterruptedException ie ) {
|
||||
// ignore
|
||||
}
|
||||
try {
|
||||
fMessageLoadThread.join();
|
||||
}
|
||||
catch ( InterruptedException ie ) {
|
||||
// ignore
|
||||
}
|
||||
fMessageLoadThread = null;
|
||||
}
|
||||
}
|
||||
|
@ -173,12 +174,12 @@ public class MessagePanel extends GeneralPanel {
|
|||
if (fMessageLoadThread != null) {
|
||||
mLogger.info("Killing msg thread");
|
||||
fMessageLoadThread.interrupt();
|
||||
try {
|
||||
fMessageLoadThread.join();
|
||||
}
|
||||
catch ( InterruptedException ie ) {
|
||||
// ignore
|
||||
}
|
||||
try {
|
||||
fMessageLoadThread.join();
|
||||
}
|
||||
catch ( InterruptedException ie ) {
|
||||
// ignore
|
||||
}
|
||||
notifyStatus(fLabels.getString("messageLoadedStatus"));
|
||||
}
|
||||
fMessageLoadThread =
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -17,7 +17,7 @@
|
|||
* Copyright (C) 1997 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Contributor(s):
|
||||
*
|
||||
* Created: Will Scullin <scullin@netscape.com>, 21 Aug 1997.
|
||||
*
|
||||
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
Загрузка…
Ссылка в новой задаче