if ( isFocusIn ) { gc.setLineStyle( SWT.LINE_DOT ); gc.setLineWidth( 1 ); gc.setForeground( Display.getCurrent( ) .getSystemColor( SWT.COLOR_BLACK ) ); gc.drawRectangle( 1, 1, getSize( ).x - 3, this.getSize( ).y - 3 ); }
	public void paintControl( PaintEvent pe )	{		if ( isEnabled( ) && isFocusControl( ) )		{			isFocusIn = true;		}		Color cForeground = null;		Color cBackground = null;		cForeground = Display.getCurrent( ).getSystemColor( SWT.COLOR_BLACK );		cBackground = Display.getCurrent( )				.getSystemColor( SWT.COLOR_LIST_BACKGROUND );		GC gc = pe.gc;		gc.setBackground( cBackground );		gc.fillRectangle( 0, 0, this.getSize( ).x, this.getSize( ).y );		// Render a gray background to indicate focus		if ( isFocusIn )		{			gc.setBackground( Display.getCurrent( )					.getSystemColor( SWT.COLOR_LIST_SELECTION ) );			gc.fillRectangle( 1, 1, getSize( ).x - 3, this.getSize( ).y - 3 );		}		gc.setForeground( cForeground );		gc.setLineWidth( 1 );		gc.drawLine( 10,				this.getSize( ).y / 2,				this.getSize( ).x - 10,				this.getSize( ).y / 2 );		if ( iLineDecorator == LineDecorator.ARROW )		{			int[] points = {					this.getSize( ).x - 15,					this.getSize( ).y / 2 - 3,					this.getSize( ).x - 15,					this.getSize( ).y / 2 + 3,					this.getSize( ).x - 10,					this.getSize( ).y / 2			};			gc.setLineWidth( 3 );			gc.drawPolygon( points );		}		else if ( iLineDecorator == LineDecorator.CIRCLE )		{			gc.setLineWidth( 4 );			gc.drawOval( this.getSize( ).x - 14,					this.getSize( ).y / 2 - 3,					6,					6 );		}		// Render a boundary line to indicate focus		if ( isFocusIn )		{			gc.setLineStyle( SWT.LINE_DOT );			gc.setLineWidth( 1 );			gc.setForeground( Display.getCurrent( )					.getSystemColor( SWT.COLOR_BLACK ) );			gc.drawRectangle( 1, 1, getSize( ).x - 3, this.getSize( ).y - 3 );		}	}