Hi Dave update: sorry!!! my fault! the bugs I experienced were completely my fault. There's no bad background-color returned when it has not been set before! Was probably some kind of evil-empire-reflex ;-))) The only thing that's not quite accurate is the control that does not expand horizontally to the full row-colum area and the background's not set to its complete horizontal extent (small gaps on the left and on the right), but no big deal! I'll try to patch InternalCompositeTable. I think that it would be nice to have that background-paining automagically (though handwork is no big deal either) done. What's your opinion?
Greets André > Hi Dave > > You're completely right with your guess that things break on windows. > Controls do not have the right color initialized - in other words: > controls look white but you get gray when you call getBackground(). In > cosequence my paintListener only works if you set background explicitly. > Is in a bug in the win32 SWT implementation (the java layer does not > reflect the real widget state) or is it a feature of the platform ;-) ? > I think it has to stay in the snippets rather than being called in > CompositeTable after replicating a row (which would have been neat). > > Regards > André > >> Hi Dave >> >> thanks for the hint! I posted the shots to flickr.com: >> >> http://www.flickr.com/photos/[EMAIL PROTECTED]/ >> >> I thought of putting this stuff to the snippets or maybe to a utility >> class (RowCompositeUtils.attachBackgroundPainter(Control control)?). >> That would keep full freedom in choosing row-objects. >> I developed that stuff on GTK+ (at home :-)) and I'll check tomorrow >> on windows (at work) if everything's fine in redmond land. >> >> to resume up things, here once more (for the list) the reason for this >> stuff: >> >> Screenshot1 shows that a text control does not take the whole vertical >> space in a column (same applies to checkboxes) if there are combos and >> buttons in the same row. If you put the background-color to the >> text-control only, it looks very ugly. It is no solution to stretch >> the text-control to fit to the vertical size of the row. Text control >> vertical align text to the top. >> >> Screenshot2 shows the results after appending my little paintListener. >> I fill the 'column'-area in the row with the same color as the >> control. Things look now right! >> >> >> Control rowControl = control.getParent(); >> rowControl.addPaintListener(new PaintListener() { >> >> public void paintControl(PaintEvent e) { >> Color initialBackground = e.gc.getBackground(); >> e.gc.setBackground(control.getBackground()); >> Control rowControl = ((Control) e.widget); >> Rectangle cellBounds = control.getBounds(); >> Rectangle bounds = new Rectangle( >> cellBounds.x, >> 0, >> cellBounds.width, >> rowControl.getBounds().height); >> e.gc.fillRectangle(bounds); >> e.gc.setBackground(initialBackground); >> } >> }); >> >> Thanks for your feedback!! >> André >> >> >> _______________________________________________ >> nebula-dev mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/nebula-dev >> >> >> > > > -- > André Dietisheim > Stv-Bereichsleiter Products > > Puzzle ITC GmbH > Eigerplatz 4 > CH-3007 Bern > Telefon +41 31 370 22 00 > Mobile +41 76 423 03 02 > Fax +41 31 370 22 01 > > Puzzle ist Mitglied der ODF Alliance: > <http://www.puzzle.ch/odfalliance/> > > > _______________________________________________ > nebula-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/nebula-dev > > > !DSPAM:45e3f1d837528510621087! -- André Dietisheim Stv-Bereichsleiter Products Puzzle ITC GmbH Eigerplatz 4 CH-3007 Bern Telefon +41 31 370 22 00 Mobile +41 76 423 03 02 Fax +41 31 370 22 01 Puzzle ist Mitglied der ODF Alliance: <http://www.puzzle.ch/odfalliance/> _______________________________________________ nebula-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/nebula-dev
