org.eclipse.core.runtime.ListenerList#org.eclipse.swt.events.TraverseEvent源码实例Demo

下面列出了org.eclipse.core.runtime.ListenerList#org.eclipse.swt.events.TraverseEvent 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

private Control createHeader(Composite parent, Font font, String message) {
	Composite header= new Composite(parent, SWT.NONE);
	GridLayout layout= new GridLayout();
	layout.numColumns= 2;
	layout.marginWidth= 0; layout.marginHeight= 0;
	header.setLayout(layout);
	header.setFont(font);
	Label label= new Label(header, SWT.NONE);
	label.setText(message);
	label.setFont(font);
	label.addTraverseListener(new TraverseListener() {
		public void keyTraversed(TraverseEvent e) {
			if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
				e.detail= SWT.TRAVERSE_NONE;
				fFilter.setFocus();
			}
		}
	});
	GridData gd= new GridData(GridData.FILL_HORIZONTAL);
	label.setLayoutData(gd);
	
	createViewMenu(header);
	return header;
}
 
@Override
protected Text createTextControl(Composite parent) {
	Text text= new Text(parent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
	text.addTraverseListener(new TraverseListener() {
		public void keyTraversed(TraverseEvent event) {
			switch (event.detail) {
				case SWT.TRAVERSE_ESCAPE:
				case SWT.TRAVERSE_PAGE_NEXT:
				case SWT.TRAVERSE_PAGE_PREVIOUS:
					event.doit= true;
					break;
				case SWT.TRAVERSE_RETURN:
				case SWT.TRAVERSE_TAB_NEXT:
				case SWT.TRAVERSE_TAB_PREVIOUS:
					if ((event.stateMask & SWT.MODIFIER_MASK) != 0) {
						event.doit= true;
					}
					break;
			}

		}
	});
	return text;
}
 
源代码3 项目: birt   文件: ExpressionSyntaxColoringPage.java
private TraverseListener getTraverseListener( )
{
	return new TraverseListener( ) {

		/**
		 * @see org.eclipse.swt.events.TraverseListener#keyTraversed(TraverseEvent)
		 */
		public void keyTraversed( TraverseEvent e )
		{
			if ( e.widget instanceof StyledText )
			{
				if ( ( e.detail == SWT.TRAVERSE_TAB_NEXT )
						|| ( e.detail == SWT.TRAVERSE_TAB_PREVIOUS ) )
					e.doit = true;
			}
		}
	};
}
 
源代码4 项目: e4macs   文件: HistoryMinibuffer.java
public void keyTraversed(TraverseEvent e) {
	switch (e.detail) {
		case SWT.TRAVERSE_MNEMONIC:
			if ((e.stateMask & SWT.MOD3) != 0) {
				switch (e.character) {
					case PREV:
					case NEXT:
						// if no key binding (which would take precedence) 
						// then pass to our handlers it directly
						if (!hasBinding(e)){
							handleTraverseEvent(e);
						}
				}
			}
			break;
		default:
	}
}
 
源代码5 项目: e4macs   文件: HistoryMinibuffer.java
/**
 * Disable eclipse traversal event, and dispatch into our Alt/Ctrl
 * handlers in place of it
 * 
 * @param e the trapped TraverseEvent
 */
protected void handleTraverseEvent(TraverseEvent e) {
	// setting detail to NONE but doit=true disables further processing
	e.detail = SWT.TRAVERSE_NONE;
	e.doit = true;

	Event ee = new Event();
	ee.character = e.character;
	ee.doit = true;
	ee.stateMask = (e.stateMask & SWT.MODIFIER_MASK);
	ee.keyCode = e.keyCode;

	ee.display = e.display;
	ee.widget = e.widget;	// will throw an exception if not valid
	ee.time = e.time;
	ee.data = e.data;

	switch (ee.stateMask) {
		case SWT.CONTROL:	// Emacs+ key binding forces CTRL 
			dispatchCtrl(new VerifyEvent(ee));
			break;
		case SWT.ALT:	// AFAIK MOD3 is always ALT
			dispatchAlt(new VerifyEvent(ee));
			break;
	}
}
 
源代码6 项目: arx   文件: ComponentStatusLabel.java
/**
 * On mnemonic handler 
 *
 * @param event
 */
void onMnemonic(TraverseEvent event) {
    char mnemonic = _findMnemonic(text);
    if (mnemonic == '\0') return;
    if (Character.toLowerCase(event.character) != mnemonic) return;
    Composite control = this.getParent();
    while (control != null) {
        Control[] children = control.getChildren();
        int index = 0;
        while (index < children.length) {
            if (children[index] == this) break;
            index++;
        }
        index++;
        if (index < children.length) {
            if (children[index].setFocus()) {
                event.doit = true;
                event.detail = SWT.TRAVERSE_NONE;
            }
        }
        control = control.getParent();
    }
}
 
源代码7 项目: nebula   文件: InternalCompositeTable.java
/**
 * Handle the keyTraversed event on any child control in the table.
 * 
 * @param sender
 *            The row sending the event.
 * @param e
 *            The SWT TraverseEvent
 */
public void keyTraversed(TableRow sender, TraverseEvent e) {
	if (doMakeFocusedRowVisible()) return;

	if (parent.isTraverseOnTabsEnabled()) {
		if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
			if (currentColumn >= sender.getNumColumns() - 1) {
				e.detail = SWT.TRAVERSE_NONE;
				handleNextRowNavigation();
			}
		} else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
			if (currentColumn == 0) {
				e.detail = SWT.TRAVERSE_NONE;
				handlePreviousRowNavigation(sender);
			}
		} else if (e.detail == SWT.TRAVERSE_RETURN) {
			e.detail = SWT.TRAVERSE_NONE;
			if (currentColumn >= sender.getNumColumns() - 1) {
				handleNextRowNavigation();
			} else {
				deferredSetFocus(getControl(currentColumn + 1, currentRow),
						false);
			}
		}
	} else {
		if (e.detail == SWT.TRAVERSE_TAB_NEXT) {
			if (currentColumn >= sender.getNumColumns() - 1) {
				e.detail = SWT.TRAVERSE_NONE;
			}
		} else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
			if (currentColumn == 0) {
				e.detail = SWT.TRAVERSE_NONE;
			}
		}
	}
}
 
源代码8 项目: nebula   文件: TableRow.java
public void keyTraversed(TraverseEvent e) {
	/*
	 * FEATURE IN SWT: When SWT needs to resolve a mnemonic (accelerator)
	 * character, it recursively calls the traverse event down all
	 * controls in the containership hierarchy.  If e.doit is false,
	 * no control has yet matched the mnemonic, and we don't have to
	 * do anything since we don't do mnemonic matching and no mnemonic
	 * has matched.
	 */
	if (e.doit) {
		parent.keyTraversed(TableRow.this, e);
	}
}
 
源代码9 项目: http4e   文件: ImportDialog.java
protected void createButtonsForButtonBar( Composite parent){
   Button ok = createButton(parent, IDialogConstants.OK_ID, "Import Packet", true);
   createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
   ok.addMouseListener(okListener);
   ok.addTraverseListener(new TraverseListener() {

      public void keyTraversed( TraverseEvent e){
         if (SWT.TRAVERSE_RETURN == e.detail) {
         }
      }
   });
}
 
源代码10 项目: http4e   文件: ParameterizeDialog.java
protected void createButtonsForButtonBar( Composite parent){
   Button ok = createButton(parent, IDialogConstants.OK_ID, "Close", true);
   // createButton(parent, IDialogConstants.CANCEL_ID,
   // IDialogConstants.CANCEL_LABEL, false);
   ok.addMouseListener(okListener);
   ok.addTraverseListener(new TraverseListener() {

      public void keyTraversed( TraverseEvent e){
         if (SWT.TRAVERSE_RETURN == e.detail) {
         }
      }
   });
}
 
源代码11 项目: xds-ide   文件: UiUtils.java
public static void disableTabTraversal(Control c){
  c.addTraverseListener(new TraverseListener () {
    public void keyTraversed(TraverseEvent e) {
      switch (e.detail) {
        case SWT.TRAVERSE_TAB_NEXT:
        case SWT.TRAVERSE_TAB_PREVIOUS: {
          e.doit = false;
        }
      }
    }
  });
}
 
源代码12 项目: xds-ide   文件: SwtUtils.java
public static void disableTabTraversal(Control c) {
	c.addTraverseListener(new TraverseListener() {
		public void keyTraversed(TraverseEvent e) {
			switch (e.detail) {
			case SWT.TRAVERSE_TAB_NEXT:
			case SWT.TRAVERSE_TAB_PREVIOUS: {
				e.doit = false;
			}
			}
		}
	});
}
 
源代码13 项目: ermasterr   文件: ListenerAppender.java
public static void addTraverseListener(final Text textArea) {
    textArea.addTraverseListener(new TraverseListener() {
        @Override
        public void keyTraversed(final TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
                e.doit = true;
            }
        }
    });
}
 
源代码14 项目: tlaplus   文件: FilteredItemsSelectionDialog.java
/**
 * Create a new header which is labelled by headerLabel.
 *
 * @param parent
 * @return Label the label of the header
 */
private Label createHeader(Composite parent) {
	Composite header = new Composite(parent, SWT.NONE);

	GridLayout layout = new GridLayout();
	layout.numColumns = 2;
	layout.marginWidth = 0;
	layout.marginHeight = 0;
	header.setLayout(layout);

	Label headerLabel = new Label(header, SWT.NONE);
	headerLabel.setText((getMessage() != null && getMessage().trim()
			.length() > 0) ? getMessage()
			: WorkbenchMessages.FilteredItemsSelectionDialog_patternLabel);
	headerLabel.addTraverseListener(new TraverseListener() {
		
		public void keyTraversed(TraverseEvent e) {
			if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
				e.detail = SWT.TRAVERSE_NONE;
				pattern.setFocus();
			}
		}
	});

	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
	headerLabel.setLayoutData(gd);

	createViewMenu(header);
	header.setLayoutData(gd);
	return headerLabel;
}
 
源代码15 项目: tlaplus   文件: FilteredItemsSelectionDialog.java
/**
 * Create the labels for the list and the progress. Return the list label.
 *
 * @param parent
 * @return Label
 */
private Label createLabels(Composite parent) {
	Composite labels = new Composite(parent, SWT.NONE);

	GridLayout layout = new GridLayout();
	layout.numColumns = 2;
	layout.marginWidth = 0;
	layout.marginHeight = 0;
	labels.setLayout(layout);

	Label listLabel = new Label(labels, SWT.NONE);
	listLabel
			.setText(WorkbenchMessages.FilteredItemsSelectionDialog_listLabel);

	listLabel.addTraverseListener(new TraverseListener() {
		
		public void keyTraversed(TraverseEvent e) {
			if (e.detail == SWT.TRAVERSE_MNEMONIC && e.doit) {
				e.detail = SWT.TRAVERSE_NONE;
				list.getTable().setFocus();
			}
		}
	});

	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
	listLabel.setLayoutData(gd);

	progressLabel = new Label(labels, SWT.RIGHT);
	progressLabel.setLayoutData(gd);

	labels.setLayoutData(gd);
	return listLabel;
}
 
源代码16 项目: gwt-eclipse-plugin   文件: SWTUtilities.java
/**
 * Creates a multi-line textbox.
 * 
 * @param parent a composite control which will be the parent of the new
 *          instance (cannot be null)
 * @param style the style of control to construct
 * @param allowTabs set to <code>true</code> to allow \t characters to be
 *          inserted.
 * @return the new textbox
 */
public static Text createMultilineTextbox(Composite parent, int style, final boolean allowTabs) {
  Text text = new Text(parent, style | SWT.MULTI);
  text.addTraverseListener(new TraverseListener() {
    public void keyTraversed(TraverseEvent e) {
      switch (e.detail) {
        case SWT.TRAVERSE_TAB_NEXT:
          e.doit = !allowTabs;
      }
    }
  });
  return text;
}
 
源代码17 项目: APICloud-Studio   文件: CommitCommentArea.java
public void keyTraversed(TraverseEvent e) {
	if (e.detail == SWT.TRAVERSE_RETURN && (e.stateMask & SWT.SHIFT) != 0) {
		e.doit = false;
		return;
	}
    if (e.detail == SWT.TRAVERSE_RETURN && (e.stateMask & SWT.CTRL) != 0) {
        e.doit = false;
        firePropertyChangeChange(OK_REQUESTED, null, null);
    }
}
 
源代码18 项目: erflute   文件: ListenerAppender.java
public static void addTraverseListener(final Text textArea) {
    textArea.addTraverseListener(new TraverseListener() {
        @Override
        public void keyTraversed(TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
                e.doit = true;
            }
        }
    });
}
 
源代码19 项目: sarl   文件: SARLArgumentsTab.java
private void createSREArgsText(Group group, Font font) {
	this.sreArgumentsText = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
	this.sreArgumentsText.addTraverseListener(new TraverseListener() {
		@Override
		public void keyTraversed(TraverseEvent event) {
			switch (event.detail) {
			case SWT.TRAVERSE_ESCAPE:
			case SWT.TRAVERSE_PAGE_NEXT:
			case SWT.TRAVERSE_PAGE_PREVIOUS:
				event.doit = true;
				break;
			case SWT.TRAVERSE_RETURN:
			case SWT.TRAVERSE_TAB_NEXT:
			case SWT.TRAVERSE_TAB_PREVIOUS:
				if ((SARLArgumentsTab.this.sreArgumentsText.getStyle() & SWT.SINGLE) != 0) {
					event.doit = true;
				} else {
					if (!SARLArgumentsTab.this.sreArgumentsText.isEnabled() || (event.stateMask & SWT.MODIFIER_MASK) != 0) {
						event.doit = true;
					}
				}
				break;
			default:
			}
		}
	});
	final GridData gd = new GridData(GridData.FILL_BOTH);
	gd.heightHint = HEIGHT_HINT;
	gd.widthHint = WIDTH_HINT;
	this.sreArgumentsText.setLayoutData(gd);
	this.sreArgumentsText.setFont(font);
	this.sreArgumentsText.addModifyListener(new ModifyListener() {
		@SuppressWarnings("synthetic-access")
		@Override
		public void modifyText(ModifyEvent evt) {
			scheduleUpdateJob();
		}
	});
	ControlAccessibleListener.addListener(this.sreArgumentsText, group.getText());
}
 
源代码20 项目: birt   文件: CustomPreviewTable.java
public void keyTraversed( TraverseEvent e )
{
	if ( e.character != SWT.TAB )
	{
		e.doit = false;
	}
}
 
源代码21 项目: birt   文件: AccordionLabel.java
void onMnemonic( TraverseEvent event )
{
	char mnemonic = _findMnemonic( text );
	if ( mnemonic == '\0' )
		return;
	if ( Character.toLowerCase( event.character ) != mnemonic )
		return;
	Composite control = this.getParent( );
	while ( control != null )
	{
		Control[] children = control.getChildren( );
		int index = 0;
		while ( index < children.length )
		{
			if ( children[index] == this )
				break;
			index++;
		}
		index++;
		if ( index < children.length )
		{
			if ( children[index].setFocus( ) )
			{
				event.doit = true;
				event.detail = SWT.TRAVERSE_NONE;
			}
		}
		control = control.getParent( );
	}
}
 
源代码22 项目: e4macs   文件: CompletionMinibuffer.java
/**
 * Enable tab completion by disabling tab traversal
 * 
 * @see com.mulgasoft.emacsplus.minibuffer.HistoryMinibuffer#keyTraversed(org.eclipse.swt.events.TraverseEvent)
 */
public void keyTraversed(TraverseEvent e) {
	switch (e.detail) {
	case SWT.TRAVERSE_TAB_NEXT:
		// ignore tab traversal
		e.doit = false;
		break;
	default:
		super.keyTraversed(e);
	}
}
 
源代码23 项目: olca-app   文件: DQSystemInfoPage.java
private Text createTextCell(Composite composite, int heightFactor, int widthFactor) {
	Text text = toolkit.createText(composite, null, SWT.BORDER | SWT.MULTI | SWT.WRAP);
	text.addTraverseListener(new TraverseListener() {
		public void keyTraversed(TraverseEvent e) {
			if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
				e.doit = true;
			}
		}
	});
	setGridData(text, heightFactor, widthFactor);
	return text;
}
 
源代码24 项目: ermaster-b   文件: ListenerAppender.java
public static void addTraverseListener(final Text textArea) {
	textArea.addTraverseListener(new TraverseListener() {
		public void keyTraversed(TraverseEvent e) {
			if (e.detail == SWT.TRAVERSE_TAB_NEXT
					|| e.detail == SWT.TRAVERSE_TAB_PREVIOUS) {
				e.doit = true;
			}
		}
	});
}
 
源代码25 项目: hop   文件: TableView.java
private void editButton( TableItem row, int rownr, int colnr ) {
  beforeEdit = getItemText( row );
  fieldChanged = false;

  ColumnInfo colinfo = columns[ colnr - 1 ];

  if ( colinfo.isReadOnly() ) {
    return;
  }

  if ( colinfo.getDisabledListener() != null ) {
    boolean disabled = colinfo.getDisabledListener().isFieldDisabled( rownr );
    if ( disabled ) {
      return;
    }
  }

  button = new Button( table, SWT.PUSH );
  props.setLook( button, Props.WIDGET_STYLE_TABLE );
  String buttonText = columns[ colnr - 1 ].getButtonText();
  if ( buttonText != null ) {
    button.setText( buttonText );
  }
  button.setImage( GuiResource.getInstance().getImage( "ui/images/edittext.svg" ) );

  SelectionListener selAdpt = colinfo.getSelectionAdapter();
  if ( selAdpt != null ) {
    button.addSelectionListener( selAdpt );
  }

  buttonRownr = rownr;
  buttonColnr = colnr;

  // button.addTraverseListener(lsTraverse);
  buttonContent = row.getText( colnr );

  String tooltip = columns[ colnr - 1 ].getToolTip();
  if ( tooltip != null ) {
    button.setToolTipText( tooltip );
  } else {
    button.setToolTipText( "" );
  }
  button.addTraverseListener( lsTraverse ); // hop to next field
  button.addTraverseListener( new TraverseListener() {
    @Override
    public void keyTraversed( TraverseEvent arg0 ) {
      closeActiveButton();
    }
  } );

  editor.horizontalAlignment = SWT.LEFT;
  editor.verticalAlignment = SWT.TOP;
  editor.grabHorizontal = false;
  editor.grabVertical = false;

  Point size = button.computeSize( SWT.DEFAULT, SWT.DEFAULT );
  editor.minimumWidth = size.x;
  editor.minimumHeight = size.y - 2;

  // setRowNums();
  editor.layout();

  // Open the text editor in the correct column of the selected row.
  editor.setEditor( button );

  button.setFocus();

  // if the button loses focus, destroy it...
  /*
   * button.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { button.dispose(); } } );
   */
}
 
源代码26 项目: nebula   文件: AbstractSelectableRow.java
public void keyTraversed(TraverseEvent e) {
	// NOOP: this just lets us receive focus from SWT
}
 
源代码27 项目: nebula   文件: EmptyTablePlaceholder.java
public void keyTraversed(TraverseEvent e) {
}
 
源代码28 项目: nebula   文件: TimeSlot.java
public void keyTraversed(TraverseEvent e) {
	// NOOP: this just lets us receive focus from SWT
}
 
源代码29 项目: nebula   文件: Day.java
public void keyTraversed(TraverseEvent e) {
	// NOOP: this just lets us receive focus from SWT
}
 
源代码30 项目: tracecompass   文件: TimeCompressionBar.java
@Override
public void keyTraversed(TraverseEvent e) {
    if ((e.detail == SWT.TRAVERSE_TAB_NEXT) || (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)) {
        e.doit = true;
    }
}