private MouseMotionListener getScrollerMouseMotionListener() {
		return new MouseMotionAdapter() {
			public void mouseDragged(MouseEvent e) {
				if (!needDragging || getColorSchemeByUsage())
					return;
				DNAScrollerModel dnamodel = getModel();
				if (dnamodel == null)
					return;
				if (!dnamodel.isStrandsAvailable())
					return;
				int w = minWidth;
				Point curentPoint = e.getPoint();
				if (curentPoint.x >= w - charw || curentPoint.x < 0) {
					defineScrollBar(curentPoint.x);
				}
				else if (startPoint != null) {
					int deltax = curentPoint.x - startPoint.x;
					op.setX(initOpX + deltax);
					scroller.repaint();
					scrollBar.repaint();
				}
			}
		};
	}