if (fHeaderPainter.setColor(rgb)) fSummaryHeader.redraw();
fHeaderPainter= new HeaderPainter(); fSummaryHeader.addPaintListener(fHeaderPainter); updateResolveStatus();
fHeaderPainter= new HeaderPainter(); fSummaryHeader.addPaintListener(fHeaderPainter); updateResolveStatus();
private void updateResolveStatus() { RGB rgb= null; if (showResolveUI()) { // we only show red or green if there is at least one incoming or conflicting change int unresolvedIncoming= 0; int unresolvedConflicting= 0; if (fMerger.hasChanges()) { for (Iterator<?> iterator = fMerger.changesIterator(); iterator .hasNext();) { Diff d = (Diff) iterator.next(); if (!d.isResolved()) { if (d.getKind() == RangeDifference.CONFLICT) { unresolvedConflicting++; break; // we can stop here because a conflict has the maximum priority } unresolvedIncoming++; } } } if (unresolvedConflicting > 0) rgb= SELECTED_CONFLICT; else if (unresolvedIncoming > 0) rgb= SELECTED_INCOMING; else rgb= RESOLVED; } if (fHeaderPainter.setColor(rgb)) fSummaryHeader.redraw(); }
public void paintControl(PaintEvent e) { Point s= fSummaryHeader.getSize(); if (fIndicatorColor != null) { Display d= fSummaryHeader.getDisplay(); e.gc.setBackground(getColor(d, fIndicatorColor)); int min= Math.min(s.x, s.y)-2*INSET; Rectangle r= new Rectangle((s.x-min)/2, (s.y-min)/2, min, min); e.gc.fillRectangle(r); if (d != null) drawBevelRect(e.gc, r.x, r.y, r.width -1, r.height -1, d.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW), d.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW)); e.gc.setForeground(fSeparatorColor); e.gc.setLineWidth(0 /* 1 */); e.gc.drawLine(0+1, s.y-1, s.x-1-1, s.y-1); } } }
@Override public void paintControl(PaintEvent e) { Point s= fSummaryHeader.getSize(); if (fIndicatorColor != null) { Display d= fSummaryHeader.getDisplay(); e.gc.setBackground(getColor(d, fIndicatorColor)); int min= Math.min(s.x, s.y)-2*INSET; Rectangle r= new Rectangle((s.x-min)/2, (s.y-min)/2, min, min); e.gc.fillRectangle(r); if (d != null) drawBevelRect(e.gc, r.x, r.y, r.width -1, r.height -1, d.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW), d.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW)); e.gc.setForeground(fSeparatorColor); e.gc.setLineWidth(0 /* 1 */); e.gc.drawLine(0+1, s.y-1, s.x-1-1, s.y-1); } } }