/******************************************************************************* * Copyright (c) 2012 xored software, Inc. All rights reserved. This program and the accompanying * materials are made available under the terms of the Eclipse Public License v1.0 which accompanies * this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: * xored software, Inc. - initial API and implementation (Yuri Strot) ******************************************************************************/ package com.xored.glance.internal.ui.viewers; import com.xored.glance.ui.controls.text.styled.TextSelector; import org.eclipse.jface.text.Region; import org.eclipse.jface.text.TextSelection; import org.eclipse.jface.text.TextViewer; import org.eclipse.swt.custom.StyledText; public class ViewerSelector extends TextSelector { private final TextViewer viewer; private final StyledText control; public ViewerSelector(TextViewer viewer) { this.viewer = viewer; this.control = viewer.getTextWidget(); init(); } @Override protected StyledText getControl() { return control; } @Override protected Region getSelection() { TextSelection selection = (TextSelection) viewer.getSelection(); return new Region(selection.getOffset(), selection.getLength()); } @Override protected void reveal(int offset, int length) { viewer.revealRange(offset, length); } @Override protected void setSelection(int offset, int length) { viewer.setSelection(new TextSelection(offset, length)); } }