org.eclipse.swt.widgets.Listener#handleEvent ( )源码实例Demo

下面列出了org.eclipse.swt.widgets.Listener#handleEvent ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: gwt-eclipse-plugin   文件: PulldownHandler.java
public Object execute(ExecutionEvent event) throws ExecutionException {
  // open the button's dropdown menu
  Object trigger = event.getTrigger();
  if (trigger instanceof Event) {
    Widget widget = ((Event) trigger).widget;
    if (widget instanceof ToolItem) {
      ToolItem toolItem = (ToolItem) widget;
      Listener[] listeners = toolItem.getListeners(SWT.Selection);
      if (listeners.length > 0) {
        Listener listener = listeners[0]; // should be only one listener
        // send an event to the widget to open the menu
        // see CommandContributionItem.openDropDownMenu(Event)
        Event e = new Event();
        e.type = SWT.Selection;
        e.widget = widget;
        e.detail = 4; // dropdown detail
        e.y = toolItem.getBounds().height; // position menu
        listener.handleEvent(e);
      }
    }
  }
  return null;
}
 
源代码2 项目: APICloud-Studio   文件: KeyBindingHelper.java
public static void handleEvent(Event e)
{
	IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class);

	Listener keyDownFilter = ((BindingService) bindingService).getKeyboard().getKeyDownFilter();
	boolean enabled = bindingService.isKeyFilterEnabled();
	Control focusControl = e.display.getFocusControl();
	try
	{
		bindingService.setKeyFilterEnabled(true);
		keyDownFilter.handleEvent(e);
	}
	finally
	{
		if (focusControl == e.display.getFocusControl()) // $codepro.audit.disable useEquals
		{
			bindingService.setKeyFilterEnabled(enabled);
		}
	}
}
 
源代码3 项目: birt   文件: ChartExpressionButton.java
protected void notifyChangeEvent( )
{
	String newExpr = eHelper.getExpression( );
	String newType = eHelper.getExpressionType( );
	Event event = new Event( );
	event.widget = eb.getControl( );
	event.detail = SWT.Modify;
	String[] data = new String[4];
	data[0] = lastExpr.getExpression( );
	data[1] = newExpr;
	data[2] = lastExpr.getType( );
	data[3] = newType;
	event.data = data;

	for ( Listener listener : listeners )
	{
		listener.handleEvent( event );
	}

	save( );
}
 
protected void updateTableOrExpressionMode(final boolean isTableMode) {
    initializeTableOrExpression(isTableMode);
    final Point defaultSize = mainComposite.getSize();
    final Point size = mainComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
    mainComposite.setSize(defaultSize.x, size.y);
    mainComposite.layout(true, true);

    for (final Listener listener : listeners) {
        listener.handleEvent(null);
    }
    for (final IExpressionModeListener l : modeListeners) {
        if (isTableMode) {
            l.useTable();
        } else {
            l.useSimpleExpression();
        }
    }
}
 
源代码5 项目: nebula   文件: Bug459484Test.java
/**
 * Checks what happens if 3/29/2015 is attempted to be changed
 * into 2/29/2015 which is not a valid date. The {@link Calendar} instance
 * used internally makes this into 3/1/2015 which should be reflected
 * in the {@link Text} widget.
 */
@Test
public void dateCorrectionAfterFocusLost() {
    Shell shell = new Shell();

    Locale locale = Locale.US;
    DateTimeFormatter formatter = new DateFormatter(locale);
    FormattedText formattedText = new FormattedText(shell);
    formattedText.setFormatter(formatter);

    Calendar calendar = Calendar.getInstance(locale);
    calendar.clear();
    calendar.set(2015, Calendar.MARCH, 29, 0, 0, 0);

    formattedText.setValue(calendar.getTime());
    formattedText.getControl().setFocus();
    formattedText.getControl().setText("2/29/2015");

    for (Listener listener : formattedText.getControl().getListeners(SWT.FocusOut)) {
    	listener.handleEvent(createEvent(SWT.FocusOut, formattedText.getControl()));
    }

    calendar.clear();
    calendar.set(2015, Calendar.MARCH, 1, 0, 0, 0);

    assertEquals("Expected corrected date value", calendar.getTime(), formattedText.getValue());
    assertEquals("Expected corrected date string", "3/1/2015", formattedText.getControl().getText());
}
 
源代码6 项目: nebula   文件: VControl.java
void handleEvent(Event event) {
	event.data = this;
	filterEvent(event);
	if(listeners != null && listeners.containsKey(event.type)) {
		Listener[] la = listeners.get(event.type).toArray(new Listener[listeners.get(event.type).size()]);
		for(Listener listener : la) {
			listener.handleEvent(event);
		}
	}
}
 
源代码7 项目: BiglyBT   文件: ShellManager.java
/**
 * <p>Invokes the handleEvent method specified by the SWT listener for each managed shell</p>
 * <p>The event's widget is set to the reference of the shell invoking it</p>
 * @param command A command implemented as a SWT Listener
 */
public final void performForShells(final Listener command)
{
    Iterator iter = shells.iterator();
    for(int i = 0; i < shells.size(); i++)
    {
        Shell aShell = (Shell)iter.next();
        Event evt = new Event();
        evt.widget = aShell;
        evt.data = this;
        command.handleEvent(evt);
    }
}
 
源代码8 项目: translationstudio8   文件: StyledTextCellEditor.java
public void close() {
	if (close) {
		return;
	}

	for (Listener listener : closingListeners) {
		Event event = new Event();
		event.data = this;
		listener.handleEvent(event);
	}

	close = true; // 状态改为已经关闭
	xliffEditor.getTable().removeDisposeListener(this);

	StyledText text = viewer.getTextWidget();
	if (text != null && !text.isDisposed()) {
		actionHandler.removeTextViewer();
		text.setMenu(null); // dispose前应去掉右键menu,因为右键menu是和nattable共享的
		viewer.reset();
		text.dispose();
		text = null;
	}

	// 如果 XLIFF 编辑器仍处于激活状态,则把焦点交给编辑器
	try {
		IWorkbenchPart activepart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
				.getActivePart();
		if (xliffEditor.equals(activepart)) {
			xliffEditor.setFocus();
		}
	} catch (NullPointerException e) {
	}

	// NatTable table = xliffEditor.getTable();
	// int[] rowPositions = new int[] { hsCellEditor.getRowPosition() };
	// table.doCommand(new AutoResizeCurrentRowsCommand(table, rowPositions, table.getConfigRegistry()));
}
 
源代码9 项目: translationstudio8   文件: TagStyleManager.java
public void setTagStyle(TagStyle tagStyle) {
	this.tagStyle = tagStyle;
	TagStyle.setTagStyle(tagStyle);

	Event event = new Event();
	event.data = tagStyle;
	for (Listener listener : tagStyleChangeListeners) {
		listener.handleEvent(event);
	}
}
 
源代码10 项目: tmxeditor8   文件: StyledTextCellEditor.java
public void close() {
	if (close) {
		return;
	}

	for (Listener listener : closingListeners) {
		Event event = new Event();
		event.data = this;
		listener.handleEvent(event);
	}

	close = true; // 状态改为已经关闭
	xliffEditor.getTable().removeDisposeListener(this);

	StyledText text = viewer.getTextWidget();
	if (text != null && !text.isDisposed()) {
		actionHandler.removeTextViewer();
		text.setMenu(null); // dispose前应去掉右键menu,因为右键menu是和nattable共享的
		viewer.reset();
		text.dispose();
		text = null;
	}

	// 如果 XLIFF 编辑器仍处于激活状态,则把焦点交给编辑器
	try {
		IWorkbenchPart activepart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
				.getActivePart();
		if (xliffEditor.equals(activepart)) {
			xliffEditor.setFocus();
		}
	} catch (NullPointerException e) {
	}

	// NatTable table = xliffEditor.getTable();
	// int[] rowPositions = new int[] { hsCellEditor.getRowPosition() };
	// table.doCommand(new AutoResizeCurrentRowsCommand(table, rowPositions, table.getConfigRegistry()));
}
 
源代码11 项目: tmxeditor8   文件: TagStyleManager.java
public void setTagStyle(TagStyle tagStyle) {
	this.tagStyle = tagStyle;
	TagStyle.setTagStyle(tagStyle);

	Event event = new Event();
	event.data = tagStyle;
	for (Listener listener : tagStyleChangeListeners) {
		listener.handleEvent(event);
	}
}
 
源代码12 项目: birt   文件: PatternImageEditorDialog.java
public void notifyListeners( )
{
	Event event = new Event( );
	event.type = SWT.Modify;

	for ( Listener listener : listeners )
	{
		listener.handleEvent( event );
	}
}
 
源代码13 项目: birt   文件: IDEResourcePageHelper.java
private void notifyTextChange( String text )
{
	Event event = new Event( );
	event.text = text;
	List<Listener> list = listeners.get( SWT.Selection );
	for ( int i = 0; i < list.size( ); i++ )
	{
		Listener listener = list.get( i );
		listener.handleEvent( event );
	}
}
 
源代码14 项目: bonita-studio   文件: ExpressionCollectionViewer.java
@Override
public void widgetSelected(final SelectionEvent event) {
    super.widgetSelected(event);
    if (viewer != null && viewer.getSelection() != null
            && !viewer.getSelection().isEmpty()) {
        final int indexRowToRemove = viewer.getTable()
                .getSelectionIndex();
        removeRow(indexRowToRemove);
    }
    for (final Listener l : listeners) {
        l.handleEvent(new Event());
    }
}
 
源代码15 项目: pentaho-kettle   文件: WarningDialog.java
private Listener listenAndDispose( final Listener lsCancel ) {
  return new Listener() {
    @Override public void handleEvent( final Event event ) {
      lsCancel.handleEvent( event );
      shell.dispose();
    }
  };
}
 
源代码16 项目: nebula   文件: VControl.java
public final void paintControl(Event e) {
	if(painter != null && bounds.intersects(e.x, e.y, e.width, e.height) && isVisible()) {
		int alpha = e.gc.getAlpha();
		int fullX, fullY, fullW, fullH;
		fullX = bounds.x - 1;
		fullY = bounds.y - 1;
		if(parent != null) {
			fullW = Math.min(parent.bounds.x + parent.bounds.width - bounds.x, bounds.x + bounds.width) + 1;
			fullH = Math.min(parent.bounds.y + parent.bounds.height - bounds.y, bounds.y + bounds.height) + 1;
		} else {
			fullW = bounds.width;
			fullH = bounds.height;
		}
		int clientX, clientY, clientW, clientH;
		clientX = fullX + marginLeft;
		clientY = fullY + marginTop;
		clientW = fullW - marginLeft - marginRight;
		clientH = fullH - marginTop - marginBottom;

		e.gc.setClipping(fullX, fullY, fullW, fullH);
		setAlpha(e.gc);
		painter.paintBackground(this, e);

		if(clientW > 0 && clientH > 0) {
			e.gc.setClipping(clientX, clientY, clientW, clientH);
			setAlpha(e.gc);
			painter.paintContent(this, e);
		}

		e.gc.setClipping(fullX, fullY, fullW, fullH);
		setAlpha(e.gc);
		painter.paintBorders(this, e);

		if(!getEnabled()) {
			setAlpha(e.gc, 25);
			e.gc.setBackground(e.display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
			e.gc.fillRectangle(fullX, fullY, fullW, fullH);
		}
		
		e.gc.setClipping((Rectangle) null);
		e.gc.setAlpha(alpha);

		if(listeners.containsKey(SWT.Paint)) {
			for(Listener listener : listeners.get(SWT.Paint)) {
				listener.handleEvent(e);
			}
		}
	}
}
 
protected void fireSelectionChanged() {
    for (final Listener l : listeners) {
        l.handleEvent(new Event());
    }
}
 
源代码18 项目: bonita-studio   文件: DropDownMenuFigure.java
protected void fireVisibilityChanged() {
	for(Listener l : listeners){
		l.handleEvent(new Event()) ;
	}
	
}
 
 同类方法