下面列出了org.eclipse.swt.widgets.Text#setFocus ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void edit(final TableItem item, final TableEditor tableEditor) {
final Text text = new Text(table, SWT.NONE);
text.setText(item.getText(targetColumn));
text.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
item.setText(targetColumn, text.getText());
text.dispose();
}
});
tableEditor.setEditor(text, item, targetColumn);
text.setFocus();
text.selectAll();
}
private void edit(final TableItem item, final TableEditor tableEditor) {
final Text text = new Text(table, SWT.NONE);
text.setText(item.getText(targetColumn));
text.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
item.setText(targetColumn, text.getText());
text.dispose();
}
});
tableEditor.setEditor(text, item, targetColumn);
text.setFocus();
text.selectAll();
}
private void edit(final TableItem item, final TableEditor tableEditor) {
final Text text = new Text(table, SWT.NONE);
text.setText(item.getText(targetColumn));
text.addFocusListener(new FocusAdapter() {
@Override
public void focusLost(final FocusEvent e) {
item.setText(targetColumn, text.getText());
text.dispose();
}
});
tableEditor.setEditor(text, item, targetColumn);
text.setFocus();
text.selectAll();
}
private void createNewTraceNameGroup(Composite parent) {
Font font = parent.getFont();
Composite folderGroup = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
folderGroup.setLayout(layout);
folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
String name = fTrace.getName();
// New trace name label
Label newTraceLabel = new Label(folderGroup, SWT.NONE);
newTraceLabel.setFont(font);
newTraceLabel.setText(Messages.CopyTraceDialog_TraceNewName);
// New trace name entry field
fNewTraceName = new Text(folderGroup, SWT.BORDER);
GridData data = new GridData(GridData.FILL_HORIZONTAL);
data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
fNewTraceName.setLayoutData(data);
fNewTraceName.setFont(font);
fNewTraceName.setFocus();
fNewTraceName.setText(name);
fNewTraceName.setSelection(0, name.length());
fNewTraceName.addListener(SWT.Modify, event -> validateNewTraceName());
}
@Override
protected Control createDialogArea(Composite parent){
Composite ret = new Composite(parent, SWT.NONE);
ret.setLayout(new GridLayout());
ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_date); //$NON-NLS-1$
dp = new DatePickerCombo(ret, SWT.NONE);
dp.setDate(new Date());
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_amount); //$NON-NLS-1$
// nf=NumberFormat.getCurrencyInstance();
amount = new Text(ret, SWT.BORDER);
// amount.setText(rn.getOffenerBetrag().getAmountAsString());
amount.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_remark); //$NON-NLS-1$
bemerkung = new Text(ret, SWT.MULTI | SWT.BORDER);
bemerkung.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
amount.setFocus();
return ret;
}
public void createControl(Composite parent) {
Composite result= new Composite(parent, SWT.NONE);
setControl(result);
GridLayout layout= new GridLayout();
layout.numColumns= 2;
layout.verticalSpacing= 8;
result.setLayout(layout);
initializeDefaultSettings();
addVisibilityControl(result);
Text textField= addFieldNameField(result);
addDeclareFinalCheckbox(result);
addDeclareAsStaticCheckbox(result);
textField.setFocus();
setPageComplete(false);
Dialog.applyDialogFont(result);
PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.CONVERT_ANONYMOUS_TO_NESTED_WIZARD_PAGE);
}
private void createClassNameInput(Composite result) {
Label label= new Label(result, SWT.LEAD);
label.setText(RefactoringMessages.ExtractClassWizard_label_class_name);
final Text text= new Text(result, SWT.SINGLE | SWT.BORDER);
fClassNameDecoration= new ControlDecoration(text, SWT.TOP | SWT.LEAD);
text.setText(fDescriptor.getClassName());
text.selectAll();
text.setFocus();
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
fDescriptor.setClassName(text.getText());
validateRefactoring();
}
});
GridData gridData= new GridData(GridData.FILL_HORIZONTAL);
gridData.horizontalIndent= FieldDecorationRegistry.getDefault().getMaximumDecorationWidth();
text.setLayoutData(gridData);
}
private void createClassNameInput(Composite result) {
Label label= new Label(result, SWT.LEAD);
label.setText(RefactoringMessages.IntroduceParameterObjectWizard_classnamefield_label);
final Text text= new Text(result, SWT.SINGLE | SWT.BORDER);
text.setText(fProcessor.getClassName());
text.selectAll();
text.setFocus();
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
fProcessor.setClassName(text.getText());
updateSignaturePreview();
validateRefactoring();
}
});
text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}
private void buildLoginText() {
final Text text = new Text(shell, SWT.BORDER);
text.setText(login == null ? "" : login);
text.setLayoutData(new GridData(GridData.FILL, GridData.END, true, false, 3, 1));
text.setFocus();
text.addListener(SWT.Modify, e -> {
login = text.getText();
changeButtonOkState();
});
}
@Override
protected Control createDialogArea(Composite parent) {
Composite area = (Composite) super.createDialogArea(parent);
Composite container = new Composite(area, SWT.NONE);
container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
GridLayout layout = new GridLayout(1, false);
container.setLayout(layout);
txtTitle = new Text(container, SWT.BORDER);
txtTitle.setMessage("Please enter issue title...");
txtTitle.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
txtIssue = new Text(container, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
txtIssue.setMessage("Please enter issue description...");
txtIssue.setFocus();
txtIssue.setLayoutData(new GridData(GridData.FILL_BOTH));
Composite container2 = new Composite(container, SWT.NONE);
GridLayout layout2 = new GridLayout(2, false);
container2.setLayout(layout2);
Label lbtInfo = new Label(container2, SWT.NONE);
lbtInfo.setText("Additonaly, to the issue description CogniCrypt will send:");
GridData dataGrid = new GridData();
dataGrid.grabExcessHorizontalSpace = true;
dataGrid.horizontalAlignment = GridData.FILL;
combo = new Combo(container2, SWT.DROP_DOWN | SWT.READ_ONLY);
String[] items = new String[] {fileName, "Method", "None"};
combo.setItems(items);
combo.setLayoutData(dataGrid);
combo.select(1);
return area;
}
@Override
protected Control createDialogArea(Composite parent){
Composite ret = new Composite(parent, SWT.NONE);
ret.setLayout(new GridLayout());
ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_date); //$NON-NLS-1$
dp = new DatePickerCombo(ret, SWT.NONE);
dp.setDate(new Date());
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_amount); //$NON-NLS-1$
// nf=NumberFormat.getCurrencyInstance();
amount = new Text(ret, SWT.BORDER);
// amount.setText(rn.getOffenerBetrag().getAmountAsString());
amount.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_remark); //$NON-NLS-1$
bemerkung = new Text(ret, SWT.MULTI | SWT.BORDER);
bemerkung.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
amount.setFocus();
tableViewer = new TableViewer(ret, SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
GridData gd_Table = new GridData();
gd_Table.grabExcessHorizontalSpace = true;
gd_Table.horizontalSpan = 1;
gd_Table.minimumHeight = 100;
gd_Table.heightHint = 100;
tableViewer.getTable().setLayoutData(gd_Table);
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLinesVisible(false);
tableViewer.setContentProvider(new ArrayContentProvider());
TableViewerColumn colRnNumber = new TableViewerColumn(tableViewer, SWT.NONE);
colRnNumber.getColumn().setWidth(200);
colRnNumber.getColumn().setText(Messages.RnDialogs_invoiceNumber);
colRnNumber.setLabelProvider(new ColumnLabelProvider());
tableViewer.setInput(rnNumbers);
return ret;
}
private void createNewExperimentNameGroup(Composite parent) {
Font font = parent.getFont();
Composite folderGroup = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
folderGroup.setLayout(layout);
folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
String name = fExperiment.getName();
// New experiment name label
Label newExperimentLabel = new Label(folderGroup, SWT.NONE);
newExperimentLabel.setFont(font);
newExperimentLabel.setText(Messages.RenameExperimentDialog_ExperimentNewName);
// New experiment name entry field
fNewExperimentName = new Text(folderGroup, SWT.BORDER);
GridData data = new GridData(GridData.FILL_HORIZONTAL);
data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
fNewExperimentName.setLayoutData(data);
fNewExperimentName.setFont(font);
fNewExperimentName.setFocus();
fNewExperimentName.setText(name);
fNewExperimentName.setSelection(0, name.length());
fNewExperimentName.addListener(SWT.Modify, event -> validateNewExperimentName());
}
private void createNewTraceNameGroup(Composite parent) {
setStatusLineAboveButtons(true);
Font font = parent.getFont();
Composite folderGroup = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
folderGroup.setLayout(layout);
folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
String name = fElement.getName();
// New trace name label
Label newTaceLabel = new Label(folderGroup, SWT.NONE);
newTaceLabel.setFont(font);
newTaceLabel.setText(Messages.RenameTraceDialog_TraceNewName);
// New trace name entry field
GridData data = new GridData(GridData.FILL_HORIZONTAL);
data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
Text newElementName = new Text(folderGroup, SWT.BORDER);
newElementName.setLayoutData(data);
newElementName.setFont(font);
newElementName.setFocus();
newElementName.setText(name);
newElementName.setSelection(0, name.length());
newElementName.addListener(SWT.Modify, event -> validateNewTraceName());
fNewElementName = newElementName;
validateNewTraceName();
}
private void setFocusOn(Text txt, String string) {
if (txt != null) {
//System.out.println("seting focus on:"+string);
txt.setFocus();
lastWithFocus = txt;
lastWithFocusStr = string;
}
}
public boolean validate(boolean setFocus) {
if (!pageCreated) {
return true;
}
int errType = WizardPage.ERROR;
String err = null;
Text badTextControl = textHomePath;
String badTabName = null;
boolean badOnCurrentTab = true;
String homePath = textHomePath.getText().trim();
if (homePath.length() == 0) {
err = Messages.EditSdkDialog_EnterXdsHomeDir;
errType = WizardPage.WARNING;
} else if (!validatePath(homePath, true)) {
err = Messages.EditSdkDialog_InvalidXdsHome;
} else {
editedSdk.setSdkHomePath(homePath); // TODO: move the fuck out of this method
}
String name = textName.getText().trim();
if (err == null) {
badTextControl = textName;
if (name.length() == 0) {
err = Messages.EditSdkDialog_EnterNameForXds;
errType = WizardPage.WARNING;
} else if (!name.equals(sdkNameInRegistry) && sdkRegistry.findSdk(name) != null) {
err = Messages.EditSdkDialog_NameIsUsed;
} else {
editedSdk.setName(name); // TODO: move the fuck out of this method
}
}
badOnCurrentTab = false;
if (err == null) {
// Validate tabs
int maxErr = WizardPage.NONE;
for (EditSdkDialogTabAbstract tab : tabs) {
String msg[] = new String[]{null};
int typ[] = new int[]{0};
Text badTxt[] = new Text[]{null};
if (!tab.validate(msg, typ, badTxt)) {
if (tab.isCurrentTab() || // messages from the current tab has high priority
maxErr == WizardPage.NONE ||
maxErr == WizardPage.WARNING && typ[0] != WizardPage.WARNING)
{
err = msg[0];
errType = typ[0];
badTextControl = badTxt[0];
badTabName = tab.getTabName();
}
if (tab.isCurrentTab()) {
badOnCurrentTab = true;
badTabName = null;
break;
}
}
}
}
if (err != null && badTabName != null) {
err = "[" + badTabName + "]: " + err; //$NON-NLS-1$ //$NON-NLS-2$
}
dialogPage.setMessage(err, errType);
if (err != null) {
isSdkOk = false;
if (setFocus && badTextControl != null && badOnCurrentTab) {
badTextControl.setFocus();
}
} else {
Assert.isTrue(editedSdk.isValid(), "XDS editor validates invalid SDK"); //$NON-NLS-1$
isSdkOk = true;
}
dialogPage.setPageComplete(isSdkOk);
return isSdkOk;
}
@Override
public void widgetSelected(SelectionEvent e) {
String comboValue = comboField.getComboValue();
int val = 0;
try {
val = Integer.parseInt(comboValue);
} catch (NumberFormatException e1) {
Log.log(e1);
}
int testRunner = val;
String tag;
boolean addEquals = true;
boolean addSpace = false;
if (testRunner == TEST_RUNNER_PYDEV) {
tag = "--" + fTag;
} else if (testRunner == TEST_RUNNER_PY_TEST) {
if ("n".equals(fTag)) {
tag = "-" + fTag;
addEquals = false;
addSpace = true;
} else if ("showlocals".equals(fTag) || "runxfail".equals(fTag)) {
tag = "--" + fTag;
addEquals = false;
} else {
//durations, maxfail, tb
tag = "--" + fTag;
}
} else {
tag = fTag;
}
Text textControl = parametersField.getTextControl();
String currentText = textControl.getText();
StringTokenizer stringTokenizer = new StringTokenizer(currentText);
FastStringBuffer buf = new FastStringBuffer(currentText.length() * 2);
boolean found = false;
while (stringTokenizer.hasMoreTokens()) {
String tok = stringTokenizer.nextToken();
if (tok.startsWith(tag)) {
found = true;
}
buf.append(tok);
buf.append('\n');
}
if (!found) {
buf.append(tag);
if (addEquals) {
buf.append('=');
}
if (addSpace) {
buf.append(' ');
}
} else {
buf.deleteLast(); //remove the last '\n'
}
textControl.setText(buf.toString());
textControl.setSelection(textControl.getSize());
textControl.setFocus();
}
@Override
protected Control createDialogArea(Composite parent){
Composite ret = new Composite(parent, SWT.NONE);
ret.setLayout(new GridLayout());
ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_date); //$NON-NLS-1$
dp = new DatePickerCombo(ret, SWT.NONE);
dp.setDate(new Date());
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_amount); //$NON-NLS-1$
// nf=NumberFormat.getCurrencyInstance();
amount = new Text(ret, SWT.BORDER);
// amount.setText(rn.getOffenerBetrag().getAmountAsString());
amount.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
new Label(ret, SWT.NONE).setText(Messages.RnDialogs_remark); //$NON-NLS-1$
bemerkung = new Text(ret, SWT.MULTI | SWT.BORDER);
bemerkung.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
amount.setText(rn.getOffenerBetrag().getAmountAsString());
amount.setFocus();
new Label(ret, SWT.NONE).setText("Konto"); //$NON-NLS-1$
viewer = new ComboViewer(ret, SWT.BORDER);
viewer.setContentProvider(ArrayContentProvider.getInstance());
viewer.setLabelProvider(new LabelProvider() {
@Override
public String getText(Object element){
if (element instanceof Account) {
return ((Account) element).getNumeric() + " - " + ((Account) element).getName();
}
return super.getText(element);
}
});
List<Account> accounts = new ArrayList<>();
accounts.addAll(Account.getAccounts().values());
accounts.sort(new Comparator<Account>() {
@Override
public int compare(Account left, Account right){
return Integer.valueOf(left.getNumeric())
.compareTo(Integer.valueOf(right.getNumeric()));
}
});
viewer.setInput(accounts);
viewer.getCombo().setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
return ret;
}
public void widgetSelected( SelectionEvent e )
{
if ( e.getSource( ).equals( btnAdd ) )
{
String sKey = txtNewKey.getText( );
if ( sKey.length( ) > 0 && !propMap.containsKey( sKey ) )
{
String[] sProperty = new String[2];
sProperty[0] = sKey;
sProperty[1] = ""; //$NON-NLS-1$
TableItem tiProp = new TableItem( table, SWT.NONE );
tiProp.setText( sProperty );
table.select( table.getItemCount( ) - 1 );
updateModel( sProperty[0], sProperty[1] );
txtNewKey.setText( "" ); //$NON-NLS-1$
}
}
else if ( e.getSource( ).equals( btnRemove ) )
{
if ( table.getSelection( ).length != 0 )
{
int index = table.getSelectionIndex( );
String key = table.getSelection( )[0].getText( 0 );
ExtendedProperty property = propMap.get( key );
if ( property != null )
{
extendedProperties.remove( property );
propMap.remove( key );
table.remove( table.getSelectionIndex( ) );
table.select( index<table.getItemCount( ) ?index:table.getItemCount( )- 1 );
}
Control editor = editorValue.getEditor( );
if ( editor != null )
{
editor.dispose( );
}
}
}
else if ( e.getSource( ).equals( table ) )
{
Control oldEditor = editorValue.getEditor( );
if ( oldEditor != null )
oldEditor.dispose( );
// Identify the selected row
final TableItem item = (TableItem) e.item;
if ( item == null )
{
return;
}
// The control that will be the editor must be a child of the Table
Text newEditor = new Text( table, SWT.NONE );
newEditor.setText( item.getText( 1 ) );
newEditor.addListener( SWT.FocusOut, new Listener( ) {
public void handleEvent( Event event )
{
Text text = (Text) event.widget;
editorValue.getItem( ).setText( 1, text.getText( ) );
updateModel( item.getText( 0 ), text.getText( ) );
}
} );
newEditor.selectAll( );
newEditor.setFocus( );
editorValue.setEditor( newEditor, item, 1 );
}
btnRemove.setEnabled( !propDisabledMap.containsKey( table.getSelection( )[0].getText( 0 ) ) );
}
private void createTextCell( Composite parent, final int index )
throws IllegalArgumentException, IntrospectionException,
IllegalAccessException, InvocationTargetException
{
final Text tx = ControlProvider.createText( parent,
(String) Utility.getProperty( data, cellProperties[index] ) );
tx.setLayoutData( ControlProvider.getGridDataWithHSpan( 2 ) );
if ( index < 2 )// disable name and dataTypeName
{
tx.setEditable( false );
}
else
{
tx.addModifyListener( new ModifyListener( ) {
public void modifyText( ModifyEvent e )
{
try
{
if ( index == 2 )
{
boolean isUniqueName = isUnique( tx.getText( ), data );
if ( !isUniqueName )
updateStatus( getMiscStatus( IStatus.ERROR,
Messages.getString( "OutputColumnPage.OutputColumns.DuplicatedName" ) ) ); //$NON-NLS-1$
else
updateStatus( getOKStatus( ) );
}
Object txText = tx.getText( );
if ( tx.getText( ).trim( ).length( ) == 0 )
txText = null;
Utility.setProperty( data,
cellProperties[index],
txText );
}
catch ( Exception e1 )
{
ExceptionHandler.handle( e1 );
}
}
} );
}
if ( index == 2 )
{
tx.setFocus( );
}
}
/**
* http://www.eclipse.org/swt/snippets/
*/
@Override
public void handleEvent(Event event) {
final TableEditor editor = new TableEditor(table);
editor.horizontalAlignment = SWT.LEFT;
editor.grabHorizontal = true;
Rectangle clientArea = table.getClientArea();
if (table.getSelection().length != 1) {
return;
}
Rectangle bounds = table.getSelection()[0].getBounds();
Point pt = new Point(bounds.x, bounds.y);
int index = table.getTopIndex();
while (index < table.getItemCount()) {
boolean visible = false;
final SimpleTableItem item = (SimpleTableItem) table.getItem(index);
for (int i = 0; i < table.getColumnCount(); i++) {
Rectangle rect = item.getBounds(i);
if (rect.contains(pt)) {
final Text text = new Text(table, SWT.NONE);
Listener textListener = new TextListener(item, text);
text.addListener(SWT.FocusOut, textListener);
text.addListener(SWT.Traverse, textListener);
text.addListener(SWT.FocusOut, wizard);
editor.setEditor(text, item, i);
text.setText(item.getText(i));
text.selectAll();
text.setFocus();
return;
}
if (!visible && rect.intersects(clientArea)) {
visible = true;
}
}
if (!visible) {
return;
}
index++;
}
}