// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.core.ui.editor.properties.controllers.creator;
import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.jface.fieldassist.DecoratedField;
import org.eclipse.jface.fieldassist.IControlCreator;
import org.eclipse.jface.fieldassist.TextControlCreator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
/**
* DOC ggu class global comment. Detailled comment <br/>
*
* An {@link IControlCreator} for SWT Text controls. <br>
* This is a convenience class for creating text controls to be supplied to a decorated field.<br>
* And this class implements to select all(hot key: Ctrl+A) contents of the Text control.
*
* @since 3.2
* @deprecated As of 3.3, clients should use {@link ControlDecoration} instead of {@link DecoratedField}.
*/
public class SelectAllTextControlCreator extends TextControlCreator {
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.fieldassist.TextControlCreator#createControl(org.eclipse.swt.widgets.Composite, int)
*/
@Override
public Control createControl(Composite parent, int style) {
Text text = new Text(parent, style);
addSelectAllListener(text);
return text;
}
/**
*
* DOC ggu Comment method "addSelectAllListener".
*
* @param text
*/
private void addSelectAllListener(final Text text) {
text.addListener(SWT.KeyDown, new Listener() {
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
text.selectAll();
}
}
});
}
}