blob: b7047a40bac3eec794bf86ee033bc00efc4ece49 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050) -->
<!-- --><!-- --><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=""><!-- -->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TD width="100%">
<TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#006699
<TD width=116 bgColor=#000000><IMG height=50
src="4548_files/EclipseBannerPic.jpg" width=115></TD>
<TD width=637><A href=""><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"
<TABLE cellSpacing=0 border=0>
<TD vAlign=top align=left>
<TABLE cellSpacing=2 cellPadding=0 border=0>
<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><!-- --><B>Bug
List:</B> <A
href="">First</A> <A
href="">Last</A> (This bug is
not in your list) &nbsp;&nbsp;<A
href="">Show list</A>
href="">Query page</A>
href="">Enter new bug</A>
<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>
<TD align=right><B>Bug#:</B> </TD>
<TD><A href="">4548</A>
<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 align=right><B>Reporter:</B> </TD>
<TD> (Erich Gamma) </TD></TR>
<TD align=right><B>Product:</B> </TD>
value=AspectJ>AspectJ</OPTION> <OPTION value=Birt>Birt</OPTION> <OPTION
value=Community>Community</OPTION> <OPTION value=ECESIS>ECESIS</OPTION>
value=Equinox>Equinox</OPTION> <OPTION value=ERCP>ERCP</OPTION> <OPTION
value=Hyades>Hyades</OPTION> <OPTION value=JDT>JDT</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
<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
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 align=right><B>Add&nbsp;CC:</B> </TD>
<TD><INPUT size=30 name=newcc> </TD></TR>
<TD align=right><B><A
<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>
value=Update>Update</OPTION> <OPTION value=WebDAV>WebDAV</OPTION></SELECT>
<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 vAlign=top align=right rowSpan=4><B>CC:</B> </TD>
<TD vAlign=top rowSpan=4><INPUT type=hidden name=cc> </TD></TR>
<TD align=right><B><A
href="">Status</A>: </B></TD>
<TD align=right><B><A
<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 align=right><B><A
<TD align=right><B><A
<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 align=right><B><A
<TD> (Veronika Irvine)</TD>
<TD align=right><B><A
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 align=right><B>URL: </B></TD>
<TD colSpan=7><INPUT size=60 name=bug_file_loc> </TD></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>
<TD align=right><B><A
<TD colSpan=7><INPUT size=60 name=keywords> </TD></TR></TBODY></TABLE><!-- --><BR>
<TABLE cellSpacing=0 cellPadding=4 border=1>
<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>
<TD colSpan=4><A
a New Attachment</A> (proposed patch, testcase, etc.) </TD>
All</A> </TD></TR></TBODY></TABLE><BR>
<TH align=right>Bug 4548 depends on:</TH>
<TD><INPUT name=dependson> </TD>
<TD rowSpan=2><A
dependency tree</A> </TD></TR>
<TH align=right>Bug 4548 blocks:</TH>
<TD><INPUT name=blocked> </TD></TR></TBODY></TABLE>
<TH><A href="">Votes</A>: </TH>
<TD>0&nbsp;&nbsp;&nbsp; <A
votes for this bug</A>&nbsp;&nbsp;&nbsp; <A
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="">View Bug
Activity</A> &nbsp; | &nbsp; <A
href="">Format For
Printing</A> </B></FONT></P></FORM>
<TD align=left><B><A
name=c0>Description</A>: </B></TD>
<TD align=right width="100%">Opened: 2001-10-11 14:18 </TD></TR></TBODY></TABLE>
<!-- --><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).
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:
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.
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="" name=c1>#1</A> From
<A href="">Veronika Irvine</A> 2002-05-27 16:17
------- </I><PRE>Closing this bug report. A new DCR should be raised from a better custom table
<!-- --><B>Bug List:</B> <A
href="">First</A> <A
href="">Last</A> (This bug is
not in your list) &nbsp;&nbsp;<A
href="">Show list</A>
href="">Query page</A>
href="">Enter new bug</A> <BR><!-- -->
<TABLE border=0>
<TD vAlign=top bgColor=#000000>
<TABLE cellSpacing=0 cellPadding=10 width="100%" bgColor=lightyellow
<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=""></A>. <BR><!-- -->
<FORM action=show_bug.cgi method=get>
<TABLE width="100%">
<TD>Actions: </TD>
<TD vAlign=center noWrap><A
href="">New</A> |
<A href="">Query</A> | <INPUT type=submit value=Find> bug # <INPUT size=6 name=id> |
<TD vAlign=center align=right><A
| <A