wTargetFeedback( )
	{
		for ( int i = 0; i < selectedEditParts.size( ); i++ )
		{
			EditPart editPart = (EditPart) selectedEditParts.get( i );
			editPart.showTargetFeedback( getTargetRequest( ) );
		}
	}

	private static class MarqueeRectangleFigure extends Figure
	{

		private int offset = 0;

		private boolean schedulePaint = true;

		private static final int DELAY = 110; //animation delay in millisecond

		/**
		 * @see org.eclipse.draw2d.Figure#paintFigure(org.eclipse.draw2d.Graphics)
		 */
		protected void paintFigure( Graphics graphics )
		{
			Rectangle bounds = getBounds( ).getCopy( );
			graphics.translate( getLocation( ) );

			graphics.setXORMode( true );
			graphics.setForegroundColor( ColorConstants.white );
			graphics.setBackgroundColor( ColorConstants.black );

			graphics.setLineStyle( Graphics.LINE_DOT );

			int[] points = new int[6];

			points[0] = 0 + offset;
			points[1] = 0;
			points[2] = bounds.width - 1;
			points[3] = 0;
			points[4] = bounds.width - 1;
			points[5] = bounds.height - 1;

			graphics.drawPolyline( points );

			points[0] = 0;
			points[1] = 0 + offset;
			points[2] = 0;
			points[3] = bounds.height - 1;
			points[4] = bounds.width - 1;
			points[5] = bounds.height - 1;

			graphics.drawPolyline( points );

			graphics.translate( getLocation( ).getNegated( ) );

			if ( schedulePaint )
			{
				Display.getCurrent( ).timerExec( DELAY, new Runnable( ) {

					public void run( )
					{
						offset++;
						if ( offset > 5 )
							offset = 0;

						schedulePaint = true;
						repaint( );
					}
				} );
			}

			schedulePaint = false;
		}

	}

}

-- wherelimit.test
-- 
-- execsql {SELECT count(*) FROM t1}
SELECT count(*) FROM t1

//
//  QLPreviewPanel+iTerm.m
//  iTerm2
//
//  Created by Rony Fadel on 2/20/16.
//
//

#import "QLPreviewPanel+iTerm.h"

@implementation QLPreviewPanel (iTerm)

+ (instancetype)sharedPreviewPanelIfExists {
    if ([QLPreviewPanel sharedPreviewPanelExists]) {
        return [QLPreviewPanel sharedPreviewPanel];
    } else {
        return nil;
