org.eclipse.swt.widgets.Widget#getData ( )源码实例Demo

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

源代码1 项目: nebula   文件: LazyItemsSelectionListener.java
@Override
public void widgetSelected(SelectionEvent e) {
	// An item is selected
	Widget item = e.item;
	if (item.getData(LAST_ITEM_LOADED) != null) {
		// The selected item must load another page.
		PageableController controller = super.getController(e.widget);
		if (controller.hasNextPage()) {
			// There is next page, increment the current page of the
			// controller
			controller.setCurrentPage(controller.getCurrentPage() + 1);
		}
		// Set as null the LAST_ITEM_LOADED flag to avoid loading data when
		// the item is selected (data is already loaded).
		item.setData(LAST_ITEM_LOADED, null);
	}
}
 
源代码2 项目: nebula   文件: CTreeComboViewer.java
private void virtualMaterializeItem(CTreeComboItem treeItem) {
	if (treeItem.getData() != null) {
		// already materialized
		return;
	}
	if (!contentProviderIsLazy) {
		return;
	}
	int index;
	Widget parent = treeItem.getParentItem();
	if (parent == null) {
		parent = treeItem.getParent();
	}
	Object parentElement = parent.getData();
	if (parentElement != null) {
		if (parent instanceof CTreeCombo) {
			index = ((CTreeCombo) parent).indexOf(treeItem);
		} else {
			index = ((CTreeComboItem) parent).indexOf(treeItem);
		}
		virtualLazyUpdateWidget(parent, index);
	}
}
 
源代码3 项目: nebula   文件: CTreeComboViewer.java
/** 
 * @see org.eclipse.jface.viewers.StructuredViewer#mapElement(java.lang.Object, org.eclipse.swt.widgets.Widget)
 */
protected void mapElement(Object element, final Widget item) {
	super.mapElement(element, item);
	// make sure to unmap elements if the tree is virtual
	if ((getTree().getStyle() & SWT.VIRTUAL) != 0) {
		// only add a dispose listener if item hasn't already on assigned
		// because it is reused
		if (item.getData(VIRTUAL_DISPOSE_KEY) == null) {
			item.setData(VIRTUAL_DISPOSE_KEY, Boolean.TRUE);
			item.addDisposeListener(new DisposeListener() {
				public void widgetDisposed(DisposeEvent e) {
					if (!treeIsDisposed) {
						Object data = item.getData();
						if (usingElementMap() && data != null) {
							unmapElement(data, item);
						}
					}
				}
			});
		}
	}
}
 
源代码4 项目: nebula   文件: CTreeComboViewer.java
/**
 * Update the widget at index.
 * 
 * @param widget
 * @param index
 */
private void virtualLazyUpdateWidget(Widget widget, int index) {
	boolean oldBusy = isBusy();
	setBusy(false);
	try {
		if (contentProviderIsTreeBased) {
			TreePath treePath;
			if (widget instanceof Item) {
				if (widget.getData() == null) {
					return;
				}
				treePath = getTreePathFromItem((Item) widget);
			} else {
				treePath = TreePath.EMPTY;
			}
			((ILazyTreePathContentProvider) getContentProvider()).updateElement(treePath, index);
		} else {
			((ILazyTreeContentProvider) getContentProvider()).updateElement(widget.getData(), index);
		}
	} finally {
		setBusy(oldBusy);
	}
}
 
源代码5 项目: xtext-xtend   文件: ConversionProblemsDialog.java
protected void handleMemberSelect(Widget item) {
	Object data = null;
	if (item != null)
		data = item.getData();
	if (data instanceof ICompilationUnit) {
		this.currentCU = (ICompilationUnit) data;
		problemsPane.setImage(CompareUI.getImage(this.currentCU.getResource()));
		String pattern = "Problems in file {0}";
		String title = MessageFormat.format(pattern, new Object[] { this.currentCU.getResource().getName() });
		problemsPane.setText(title);
		if (problemsTable != null) {
			problemsTable.setRedraw(false);
			problemsTable.removeAll();
			ConversionResult conversionResult = input.get(currentCU);
			for (String problem : conversionResult.getProblems()) {
				addProblemItem(problem);
			}
			problemsTable.setRedraw(true);
		}
	} else
		this.currentCU = null;
}
 
源代码6 项目: nebula   文件: CTreeComboViewer.java
/** 
 * @see org.eclipse.jface.viewers.AbstractTreeViewer#createChildren(org.eclipse.swt.widgets.Widget)
 */
protected void createChildren(Widget widget) {
	if (contentProviderIsLazy) {
		Object element = widget.getData();
		if (element == null && widget instanceof CTreeComboItem) {
			// parent has not been materialized
			virtualMaterializeItem((CTreeComboItem) widget);
			// try getting the element now that updateElement was called
			element = widget.getData();
		}
		if (element == null) {
			// give up because the parent is still not materialized
			return;
		}
		Item[] children = getChildren(widget);
		if (children.length == 1 && children[0].getData() == null) {
			// found a dummy node
			virtualLazyUpdateChildCount(widget, children.length);
			children = getChildren(widget);
		}
		// touch all children to make sure they are materialized
		for (int i = 0; i < children.length; i++) {
			if (children[i].getData() == null) {
				virtualLazyUpdateWidget(widget, i);
			}
		}
		return;
	}
	super.createChildren(widget);
}
 
源代码7 项目: nebula   文件: VTracker.java
public static VControl getVControl(Widget widget) {
	if(widget instanceof Shell) {
		Control[] ca = ((Shell) widget).getTabList();
		if(ca.length > 0) {
			widget = ca[0];
		}
	}
	Object o = widget.getData("cwt_vcontrol");
	if(o instanceof VControl) {
		return (VControl) o;
	}
	return null;
}
 
源代码8 项目: nebula   文件: CTreeViewer.java
protected ViewerRow getViewerRowFromItem(Widget item) {
	ViewerRow part = (ViewerRow) item.getData(ViewerRow.ROWPART_KEY);

	if (part == null) {
		part = new CTreeViewerRow(((CTreeItem) item));
	}

	return part;
}
 
源代码9 项目: nebula   文件: GridViewer.java
protected ViewerRow getViewerRowFromItem(Widget item) {
    ViewerRow part = (ViewerRow) item.getData(ViewerRow.ROWPART_KEY);

    if (part == null) {
        part = new GridViewerRow(((GridItem) item));
    }

    return part;
}
 
源代码10 项目: nebula   文件: CTableTreeViewer.java
/**
    * Returns the tree path for the given item.
    * from abstracttreeviewer
    * @since 3.2
    */
   protected TreePath getTreePathFromItem(Widget item) {
	LinkedList segments = new LinkedList();
	while(item!=null) {
		Object segment = item.getData();
		Assert.isNotNull(segment);
		segments.addFirst(segment);
		item = ((CTableTreeItem) item).getParentItem();
	}
	return new TreePath(segments.toArray());
}
 
源代码11 项目: nebula   文件: CContainerViewer.java
protected void associate(Object element, Widget item) {
	Object data = item.getData();
	if (data != element) {
		if (data != null) {
			disassociate(item);
		}
		item.setData(element);
	}
	// Always map the element, even if data == element,
	// since unmapAllElements() can leave the map inconsistent
	// See bug 2741 for details.
	mapElement(element, item);
}
 
源代码12 项目: nebula   文件: CContainerViewer.java
protected List getSelectionFromWidget() {
	Widget[] items = container.getSelection();
	ArrayList list = new ArrayList(items.length);
	for (int i = 0; i < items.length; i++) {
		Widget item = items[i];
		Object e = item.getData();
		if (e != null)
			list.add(e);
	}
	return list;
}
 
源代码13 项目: nebula   文件: CContainerViewer.java
protected void disassociate(Widget item) {
	Object element = item.getData();
	Assert.isNotNull(element);
	//Clear the map before we clear the data
	unmapElement(element, item);
	item.setData(null);
}
 
源代码14 项目: xtext-eclipse   文件: OptionsConfigurationBlock.java
protected void controlChanged(Widget widget) {
	ControlData data = (ControlData) widget.getData();
	String newValue = null;
	if (widget instanceof Button) {
		newValue = data.getValue(((Button) widget).getSelection());
	} else if (widget instanceof Combo) {
		newValue = data.getValue(((Combo) widget).getSelectionIndex());
	} else {
		return;
	}
	String oldValue = setValue(data.getKey(), newValue);
	validateSettings(data.getKey(), oldValue, newValue);
}
 
源代码15 项目: birt   文件: ExpressionButton.java
public void widgetSelected( SelectionEvent e )
{
	Widget widget = e.widget;
	if ( widget instanceof MenuItem )
	{
		String exprType = (String) widget.getData( );
		provider.handleSelectionEvent( exprType );
		refresh( );
	}
	else if ( widget instanceof MenuButton )
	{
		provider.handleSelectionEvent( getExpressionType( ) );
	}
}
 
protected void controlChanged(Widget widget) {
	ControlData data = (ControlData) widget.getData();
	String newValue = null;
	if (widget instanceof Button) {
		newValue = data.getValue(((Button) widget).getSelection());
	} else if (widget instanceof Combo) {
		newValue = data.getValue(((Combo) widget).getSelectionIndex());
	} else {
		return;
	}
	String oldValue = setValue(data.getKey(), newValue);
	reconcileControls();
	validateSettings(data.getKey(), oldValue, newValue);
}
 
protected void controlChanged(Widget widget) {
	ControlData data= (ControlData) widget.getData();
	String newValue= null;
	if (widget instanceof Button) {
		newValue= data.getValue(((Button)widget).getSelection());
	} else if (widget instanceof Combo) {
		newValue= data.getValue(((Combo)widget).getSelectionIndex());
	} else {
		return;
	}
	String oldValue= setValue(data.getKey(), newValue);
	validateSettings(data.getKey(), oldValue, newValue);
}
 
源代码18 项目: birt   文件: ClassSelectionButton.java
public void widgetSelected( SelectionEvent e )
{
	Widget widget = e.widget;
	if ( widget instanceof MenuItem )
	{
		String exprType = (String) widget.getData( );
		provider.handleSelectionEvent( exprType );
		refresh( );
	}
	if ( widget instanceof MenuButton )
	{
		provider.handleSelectionEvent( ( (MenuButtonProvider) provider ).getDefaultOptionType( ) );
	}
}
 
源代码19 项目: birt   文件: OptionsConfigurationBlock.java
protected void controlChanged( Widget widget )
{

	ControlData data = (ControlData) widget.getData( );
	String newValue = null;
	if ( widget instanceof Button )
	{
		if ( ( ( (Button) widget ).getStyle( ) & SWT.RADIO ) != 0 )
		{
			RadioComposite parent = (RadioComposite) ( (Button) widget ).getParent( );
			data = (ControlData) parent.getData( );
			newValue = data.getValue( parent.getBtnIndex( (Button) widget ) );
		}
		else
		{
			newValue = data.getValue( ( (Button) widget ).getSelection( ) );
		}

	}
	else if ( widget instanceof Combo )
	{
		newValue = data.getValue( ( (Combo) widget ).getSelectionIndex( ) );
	}
	else
	{
		return;
	}
	String oldValue = setValue( data.getKey( ), newValue );
	validateSettings( data.getKey( ), oldValue, newValue );
}
 
源代码20 项目: birt   文件: ExpressionCellEditor.java
protected void setExpressionCellEditorProvider(
		IExpressionCellEditorProvider provider )
{
	if ( provider != null && provider != this.provider )
	{
		this.provider = provider;

		provider.setInput( this );

		for ( int i = 0; i < menu.getItemCount( ); i++ )
		{
			menu.getItem( i ).dispose( );
			i--;
		}

		String[] types = this.provider.getExpressionTypes( );

		listener = new SelectionAdapter( ) {

			public void widgetSelected( SelectionEvent e )
			{
				Widget widget = e.widget;
				if ( widget instanceof MenuItem )
				{
					String exprType = (String) widget.getData( );
					ExpressionCellEditor.this.provider.handleSelectionEvent( exprType );
				}
				else if ( widget instanceof Button )
				{
					ExpressionCellEditor.this.provider.handleSelectionEvent( getExpressionType( ) );
				}
			}

		};

		for ( int i = 0; i < types.length; i++ )
		{
			MenuItem item = new MenuItem( menu, SWT.CHECK );
			item.setText( this.provider.getText( types[i] ) );
			item.setData( types[i] );
			item.addSelectionListener( listener );
		}

		if ( menu.getItemCount( ) <= 1 )
		{
			menu = null;
			button.addSelectionListener( listener );
		}

		refresh( );
	}
}