<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050)https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548 -->
<!-- 1.0@bugzilla.org --><!-- 1.0@bugzilla.org --><HTML><HEAD><TITLE>Bug 4548 - DCR: TableTree should support icon in 1st column (1G06WFT)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"><LINK 
href="show_bug.cgi?id=36310" rel=Next><LINK href="show_bug.cgi?id=76101" 
rel=Last><LINK href="buglist.cgi?regetlastlist=1" rel=Up><LINK 
href="buglist.cgi?regetlastlist=1" rel=Contents>
<META content="MSHTML 6.00.2800.1476" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#551a8b aLink=#ff0000 link=#0000ee bgColor=#ffffff 
onload=""><!-- 1.0@bugzilla.org -->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD width="100%">
      <TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699 
        border=0><TBODY>
        <TR>
          <TD width=116 bgColor=#000000><IMG height=50 
            src="4548_files/EclipseBannerPic.jpg" width=115></TD>
          <TD width=637><A href="http://www.eclipse.org/"><IMG height=50 
            src="4548_files/gradient.jpg" width=282 border=0></A></TD>
          <TD width=250><IMG height=48 src="4548_files/eproject-simple.gif" 
            width=250></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left>
      <TABLE cellSpacing=2 cellPadding=0 border=0>
        <TBODY>
        <TR>
          <TD vAlign=top noWrap align=left><FONT size=+1><B>Bugzilla Bug 
            4548</B></FONT> </TD></TR></TBODY></TABLE></TD>
    <TD vAlign=center>&nbsp;</TD>
    <TD vAlign=center align=left>DCR: TableTree should support icon in 1st 
      column (1G06WFT)</TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><B>Bug 
List:</B> <A 
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A 
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is 
not in your list) &nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> 
<HR>

<FORM name=changeform action=process_bug.cgi method=post><INPUT type=hidden 
value=20020527161709 name=delta_ts> <INPUT type=hidden value=2 
name=longdesclength> <INPUT type=hidden value=4548 name=id> 
<TABLE cellSpacing=1 cellPadding=1 border=0>
  <TBODY>
  <TR>
    <TD align=right><B>Bug#:</B> </TD>
    <TD><A href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548">4548</A> 
    </TD>
    <TD>&nbsp;</TD>
    <TD align=right><B>Platform:</B> </TD>
    <TD><SELECT name=rep_platform> <OPTION value=All selected>All</OPTION> 
        <OPTION value=Macintosh>Macintosh</OPTION> <OPTION value=PC>PC</OPTION> 
        <OPTION value="Power PC">Power PC</OPTION> <OPTION 
        value=Sun>Sun</OPTION> <OPTION value=Other>Other</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD>
    <TD align=right><B>Reporter:</B> </TD>
    <TD>erich_gamma@ch.ibm.com (Erich Gamma) </TD></TR>
  <TR>
    <TD align=right><B>Product:</B> </TD>
    <TD><SELECT name=product> <OPTION value=AJDT>AJDT</OPTION> <OPTION 
        value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION 
        value=CDT>CDT</OPTION> <OPTION value=CME>CME</OPTION> <OPTION 
        value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION> 
        <OPTION value=ECF>ECF</OPTION> <OPTION value=EMF>EMF</OPTION> <OPTION 
        value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION 
        value=GEF>GEF</OPTION> <OPTION value=GMT>GMT</OPTION> <OPTION 
        value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</OPTION> <OPTION 
        value=OMELET>OMELET</OPTION> <OPTION value=PDE>PDE</OPTION> <OPTION 
        value=Platform selected>Platform</OPTION> <OPTION 
        value=Pollinate>Pollinate</OPTION> <OPTION 
        value=Stellation>Stellation</OPTION> <OPTION value=UML2>UML2</OPTION> 
        <OPTION value=VE>VE</OPTION> <OPTION value="Web Tools">Web 
        Tools</OPTION> <OPTION value=WSVT>WSVT</OPTION> <OPTION 
        value=XSD>XSD</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD>
    <TD align=right><B>OS:</B> </TD>
    <TD><SELECT name=op_sys> <OPTION value=All selected>All</OPTION> <OPTION 
        value="AIX Motif">AIX Motif</OPTION> <OPTION value="Windows 95">Windows 
        95</OPTION> <OPTION value="Windows 98">Windows 98</OPTION> <OPTION 
        value="Windows CE">Windows CE</OPTION> <OPTION 
        value="Windows ME">Windows ME</OPTION> <OPTION 
        value="Windows 2000">Windows 2000</OPTION> <OPTION 
        value="Windows NT">Windows NT</OPTION> <OPTION 
        value="Windows XP">Windows XP</OPTION> <OPTION 
        value="Windows All">Windows All</OPTION> <OPTION value="MacOS X">MacOS 
        X</OPTION> <OPTION value=Linux>Linux</OPTION> <OPTION 
        value=Linux-GTK>Linux-GTK</OPTION> <OPTION 
        value=Linux-Motif>Linux-Motif</OPTION> <OPTION 
        value=HP-UX>HP-UX</OPTION> <OPTION value=Neutrino>Neutrino</OPTION> 
        <OPTION value=QNX-Photon>QNX-Photon</OPTION> <OPTION 
        value=Solaris>Solaris</OPTION> <OPTION 
        value=Solaris-GTK>Solaris-GTK</OPTION> <OPTION 
        value=Solaris-Motif>Solaris-Motif</OPTION> <OPTION value="Unix All">Unix 
        All</OPTION> <OPTION value=other>other</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD>
    <TD align=right><B>Add&nbsp;CC:</B> </TD>
    <TD><INPUT size=30 name=newcc> </TD></TR>
  <TR>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/describecomponents.cgi?product=Platform">Component</A>: 
      </B></TD>
    <TD><SELECT name=component> <OPTION value=Ant>Ant</OPTION> <OPTION 
        value=Compare>Compare</OPTION> <OPTION value=CVS>CVS</OPTION> <OPTION 
        value=Debug>Debug</OPTION> <OPTION value=Doc>Doc</OPTION> <OPTION 
        value=Help>Help</OPTION> <OPTION value=Intro>Intro</OPTION> <OPTION 
        value=Releng>Releng</OPTION> <OPTION value=Resources>Resources</OPTION> 
        <OPTION value=Runtime>Runtime</OPTION> <OPTION 
        value=Scripting>Scripting</OPTION> <OPTION value=Search>Search</OPTION> 
        <OPTION value=SWT selected>SWT</OPTION> <OPTION value=Team>Team</OPTION> 
        <OPTION value=Text>Text</OPTION> <OPTION value=UI>UI</OPTION> <OPTION 
        value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT> 
    </TD>
    <TD>&nbsp;</TD>
    <TD align=right><B>Version:</B> </TD>
    <TD><SELECT name=version> <OPTION value=1.0>1.0</OPTION> <OPTION 
        value=2.0 selected>2.0</OPTION> <OPTION value=2.0.1>2.0.1</OPTION> 
        <OPTION value=2.0.2>2.0.2</OPTION> <OPTION value=2.1>2.1</OPTION> 
        <OPTION value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> 
        <OPTION value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> 
        <OPTION value=3.0.1>3.0.1</OPTION> <OPTION value=3.1>3.1</OPTION></SELECT> 
    </TD>
    <TD>&nbsp;</TD>
    <TD vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
    <TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
  <TR>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/bug_status.html">Status</A>: </B></TD>
    <TD>RESOLVED</TD>
    <TD>&nbsp;</TD>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/bug_status.html#priority">Priority</A>:</B> 
    </TD>
    <TD><SELECT name=priority> <OPTION value=P1>P1</OPTION> <OPTION 
        value=P2>P2</OPTION> <OPTION value=P3>P3</OPTION> <OPTION 
        value=P4>P4</OPTION> <OPTION value=P5 selected>P5</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/bug_status.html">Resolution</A>: 
    </B></TD>
    <TD>WONTFIX</TD>
    <TD>&nbsp;</TD>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/bug_status.html#severity">Severity</A>:</B> 
    </TD>
    <TD><SELECT name=bug_severity> <OPTION value=blocker>blocker</OPTION> 
        <OPTION value=critical>critical</OPTION> <OPTION 
        value=major>major</OPTION> <OPTION value=normal selected>normal</OPTION> 
        <OPTION value=minor>minor</OPTION> <OPTION 
        value=trivial>trivial</OPTION> <OPTION 
        value=enhancement>enhancement</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/bug_status.html#assigned_to">Assigned&nbsp;To</A>: 
      </B></TD>
    <TD>veronika_irvine@ca.ibm.com (Veronika Irvine)</TD>
    <TD>&nbsp;</TD>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/notargetmilestone.html">Target 
      Milestone</A>: </B></TD>
    <TD><SELECT name=target_milestone> <OPTION value="2.0 M1">2.0 
        M1</OPTION> <OPTION value="2.0 M2">2.0 M2</OPTION> <OPTION 
        value="2.0 M3">2.0 M3</OPTION> <OPTION value="2.0 M4">2.0 M4</OPTION> 
        <OPTION value="2.0 M5">2.0 M5</OPTION> <OPTION value="2.0 M6">2.0 
        M6</OPTION> <OPTION value="2.0 F1">2.0 F1</OPTION> <OPTION 
        value="2.0 F2">2.0 F2</OPTION> <OPTION value="2.0 F3">2.0 F3</OPTION> 
        <OPTION value="2.0 F4">2.0 F4</OPTION> <OPTION 
        value=2.0.1>2.0.1</OPTION> <OPTION value=2.0.2>2.0.2</OPTION> <OPTION 
        value=2.1>2.1</OPTION> <OPTION value="2.1 M1">2.1 M1</OPTION> <OPTION 
        value="2.1 M2">2.1 M2</OPTION> <OPTION value="2.1 M3">2.1 M3</OPTION> 
        <OPTION value="2.1 M4">2.1 M4</OPTION> <OPTION value="2.1 M5">2.1 
        M5</OPTION> <OPTION value="2.1 RC1">2.1 RC1</OPTION> <OPTION 
        value="2.1 RC2">2.1 RC2</OPTION> <OPTION value="2.1 RC3">2.1 
        RC3</OPTION> <OPTION value="2.1 RC4">2.1 RC4</OPTION> <OPTION 
        value=2.1.1>2.1.1</OPTION> <OPTION value=2.1.2>2.1.2</OPTION> <OPTION 
        value=2.1.3>2.1.3</OPTION> <OPTION value=3.0>3.0</OPTION> <OPTION 
        value="3.0 M1">3.0 M1</OPTION> <OPTION value="3.0 M2">3.0 M2</OPTION> 
        <OPTION value="3.0 M3">3.0 M3</OPTION> <OPTION value="3.0 M4">3.0 
        M4</OPTION> <OPTION value="3.0 M5">3.0 M5</OPTION> <OPTION 
        value="3.0 M6">3.0 M6</OPTION> <OPTION value="3.0 M7">3.0 M7</OPTION> 
        <OPTION value="3.0 M8">3.0 M8</OPTION> <OPTION value="3.0 M9">3.0 
        M9</OPTION> <OPTION value="3.0 RC1">3.0 RC1</OPTION> <OPTION 
        value="3.0 RC2">3.0 RC2</OPTION> <OPTION value="3.0 RC3">3.0 
        RC3</OPTION> <OPTION value="3.0 RC4">3.0 RC4</OPTION> <OPTION 
        value=3.0.1>3.0.1</OPTION> <OPTION value=3.0.2>3.0.2</OPTION> <OPTION 
        value=3.1>3.1</OPTION> <OPTION value="3.1 M1">3.1 M1</OPTION> <OPTION 
        value="3.1 M2">3.1 M2</OPTION> <OPTION value="3.1 M3">3.1 M3</OPTION> 
        <OPTION value="3.1 M4">3.1 M4</OPTION> <OPTION value="3.1 M5">3.1 
        M5</OPTION> <OPTION value="3.1 M6">3.1 M6</OPTION> <OPTION value=--- 
        selected>---</OPTION></SELECT> </TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD align=right><B>URL: </B></TD>
    <TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></TR>
  <TR>
    <TD align=right><B>Summary:</B> </TD>
    <TD colSpan=7><INPUT size=60 
      value="DCR: TableTree should support icon in 1st column (1G06WFT)" 
      name=short_desc> </TD></TR>
  <TR>
    <TD align=right><B><A 
      href="https://bugs.eclipse.org/bugs/describekeywords.cgi">Keywords</A>: 
      </B>
    <TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- 1.0@bugzilla.org --><BR>
<TABLE cellSpacing=0 cellPadding=4 border=1>
  <TBODY>
  <TR>
    <TH align=left bgColor=#cccccc>Attachment</TH>
    <TH align=left bgColor=#cccccc>Type</TH>
    <TH align=left bgColor=#cccccc>Modified</TH>
    <TH align=left bgColor=#cccccc>Status</TH>
    <TH align=left bgColor=#cccccc>Actions</TH></TR>
  <TR>
    <TD colSpan=4><A 
      href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=enter">Create 
      a New Attachment</A> (proposed patch, testcase, etc.) </TD>
    <TD><A 
      href="https://bugs.eclipse.org/bugs/attachment.cgi?bugid=4548&amp;action=viewall">View 
      All</A> </TD></TR></TBODY></TABLE><BR>
<TABLE>
  <TBODY>
  <TR>
    <TH align=right>Bug 4548 depends on:</TH>
    <TD></TD>
    <TD><INPUT name=dependson> </TD>
    <TD rowSpan=2><A 
      href="https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=4548">Show 
      dependency tree</A> </TD></TR>
  <TR>
    <TH align=right>Bug 4548 blocks:</TH>
    <TD></TD>
    <TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
<TABLE>
  <TBODY>
  <TR>
    <TH><A href="https://bugs.eclipse.org/bugs/votehelp.html">Votes</A>: </TH>
    <TD>0&nbsp;&nbsp;&nbsp; <A 
      href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_bug&amp;bug_id=4548">Show 
      votes for this bug</A>&nbsp;&nbsp;&nbsp; <A 
      href="https://bugs.eclipse.org/bugs/votes.cgi?action=show_user&amp;bug_id=4548">Vote 
      for this bug</A> </TD></TR></TBODY></TABLE><BR><B>Additional Comments:</B> <BR><TEXTAREA accessKey=c name=comment rows=10 wrap=hard cols=80></TEXTAREA> 
<BR><BR><INPUT type=radio CHECKED value=none name=knob> Leave as 
<B>RESOLVED&nbsp;WONTFIX</B> <BR><INPUT type=radio value=reopen name=knob> 
Reopen bug <BR><INPUT type=radio value=verify name=knob> Mark bug as 
<B>VERIFIED</B><BR><INPUT type=radio value=close name=knob> Mark bug as 
<B>CLOSED</B><BR><INPUT type=submit value=Commit> <INPUT type=hidden 
value=process_bug name=form_name> 
<P><FONT size=+1><B><A 
href="https://bugs.eclipse.org/bugs/show_activity.cgi?id=4548">View Bug 
Activity</A> &nbsp; | &nbsp; <A 
href="https://bugs.eclipse.org/bugs/long_list.cgi?buglist=4548">Format For 
Printing</A> </B></FONT></P></FORM>
<TABLE>
  <TBODY>
  <TR>
    <TD align=left><B><A 
      href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c0" 
      name=c0>Description</A>: </B></TD>
    <TD align=right width="100%">Opened: 2001-10-11 14:18 </TD></TR></TBODY></TABLE>
<HR>
<!-- 1.0@bugzilla.org --><PRE>EG (8/24/00 3:41:25 PM)	
	TableTree doesn't support showing an icon in the first column. The icon is eaten up
	by the +/- icon.
	Not being able to have an icon in the first column reduces the applicability
	of TableTree (we would like to use it in the Java plugin, but we can't).

NOTES:

VI (8/24/00 10:54:39 AM)
	TableTree is implemented using the Windows table widget and this only allows
	one image per column.  Sorry, there's nothing we can do.

AW (24.08.00 17:31:06)
	Why not combining the +/- icon with the client's icon into a single icon?

EG (8/29/00 3:35:01 PM)
	JFace has support for compositing icons see: 
		com.ibm.jface.examples.compositeimage.CompositeImageExample

CM (3/17/01 5:29:49 PM)
	P1/M1 (April 1st, 2001)
	Need to know the priority of 1GAJ9KP: SWT:ALL - TableTree class has no selection support for the SWT.CHECK style
	because these two PRs may conflict.

CM (3/28/01 5:09:33 PM)
	We investigated using the Windows "state image" feature in Table, but this is already being used by
	checkboxes if the Table is created with check style. It would also mean that we would have to provide
	platform-specific public API on Table to allow TableTree class to set/get state images. So we decided
	against this.

	VI is going to investigate merging the [+]/[-] images with the user's image. We would try to write it
	in such a way that only those who actually put an image in the first column would have to pay for
	the added slowness. We suspect there may be issues such as background color/transparency
	problems, hit test problems, selection highlight problems, and cheese problems, but we will have
	to try it first before we know for sure.

VI (4/4/2001 10:41:59 AM)
	Two major issues which prevent us from merging the [+]/[-] with the user's image and using the normal first column image:
	1) Images of different sizes can be added to the control, however the size of the image displayed in the associated 
        Windows Common Control will be constrained to the size of the first image added to the ImageList.
		Images for all columns are added to the same ImageList and therefore must have the exact same height and WIDTH.
		This makes merging the +/- and the first column image have impact on every image in the TableTree
	2) There is a limit to how may images I can cram in the ImageList.  Having potentially 3 per row I think will quickly exceed the limit.

VI (4/4/2001 05:20 PM)

	We have a PR that requests support for an image in the first column of a TableTree and I believe that you
	are the prime requestor.

	I have tried to make this work and below is the best I can do.  As you can see, there is a limitation on the
	underlying native widget which is that all images in the TableTree must have the exact same height and width.
	Consequently, when I leave enough room to merge the +/- image with the image you wish to show in the first column,
	this causes all the other images in the TableTree to be stretched width wise.

	&lt;picture&gt;

	It is my opinion that the current TableTree can not be made to work any better than this.  If this is not
	adequate for your use, the only alternative is to write a custom widget that does this and does not
	use the native widget.  Writing a full custom widget is not trivial.  It will probably require a month or
	two and will probably not give all the capability that is present in native List or Tree widgets (just
	because there are a lot of subtle things going on there and I won't have time to get them all).  I need
	to know if I should commence with a custom widget.  Also, as I have other responsibilities, Mike and I will
	have to discuss which of them will be set aside before I can do this work.

VI (4/27/2001 8:42:19 AM)
	Have received no feedback requesting a custom Tree or implementation of the solution presented above.
	Moving to Inactive.</PRE><BR><I>------- Additional Comment <A 
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=4548#c1" name=c1>#1</A> From 
<A href="mailto:veronika_irvine@ca.ibm.com">Veronika Irvine</A> 2002-05-27 16:17 
------- </I><PRE>java.lang.NullPointerException Closing this bug report.  A new DCR should be raised from a better custom table 
tree.</PRE>
<HR>
<!-- 1.0@bugzilla.org --><B>Bug List:</B> <A 
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36310">First</A> <A 
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76101">Last</A> (This bug is 
not in your list) &nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/buglist.cgi?regetlastlist=1">Show list</A> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/query.cgi">Query page</A> 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A 
href="https://bugs.eclipse.org/bugs/enter_bug.cgi">Enter new bug</A> <BR><!-- 1.0@bugzilla.org -->
<TABLE border=0>
  <TBODY>
  <TR>
    <TD vAlign=top bgColor=#000000>
      <TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow 
      border=0>
        <TBODY>
        <TR>
          <TD>This is <B>Bugzilla</B>: the Mozilla bug system. For more 
            information about what Bugzilla is and what it can do, see <A 
            href="http://www.bugzilla.org/">bugzilla.org</A>. <BR><!-- 1.0@bugzilla.org -->
            <FORM action=show_bug.cgi method=get>
            <TABLE width="100%">
              <TBODY>
              <TR>
                <TD>Actions: </TD>
                <TD vAlign=center noWrap><A 
                  href="https://bugs.eclipse.org/bugs/enter_bug.cgi">New</A> | 
                  <A href="https://bugs.eclipse.org/bugs/query.cgi">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> | 
                  <A 
                  href="https://bugs.eclipse.org/bugs/reports.cgi">Reports</A> 
                </TD>
                <TD>&nbsp;</TD>
                <TD vAlign=center align=right><A 
                  href="https://bugs.eclipse.org/bugs/createaccount.cgi">New&nbsp;Account</A> 
                  | <A 
                  href="https://bugs.eclipse.org/bugs/query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</A> 
                </TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
