⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 examplecellmodifier.java

📁 用java 实现的IE browser适合于学者
💻 JAVA
字号:
/**
 * (c) Copyright Mirasol Op'nWorks Inc. 2002, 2003. 
 * http://www.opnworks.com
 * Created on Apr 2, 2003 by lgauthier@opnworks.com
 * 
 */

package com.hnjchina.example.tableviewer;
import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.swt.widgets.TableItem;

/**
 * This class implements an ICellModifier
 * An ICellModifier is called when the user modifes a cell in the 
 * tableViewer
 */

public class ExampleCellModifier implements ICellModifier {
	private TableViewerExample tableViewerExample;
	private String[] columnNames;
	
	/**
	 * Constructor 
	 * @param TableViewerExample an instance of a TableViewerExample 
	 */
	public ExampleCellModifier(TableViewerExample tableViewerExample) {
		super();
		this.tableViewerExample = tableViewerExample;
	}

	/**
	 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
	 */
	public boolean canModify(Object element, String property) {
		return true;
	}

	/**
	 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
	 */
	public Object getValue(Object element, String property) {

		// Find the index of the column
		int columnIndex = tableViewerExample.getColumnNames().indexOf(property);

		Object result = null;
		ExampleTask task = (ExampleTask) element;

		switch (columnIndex) {
			case 0 : // COMPLETED_COLUMN 
				result = new Boolean(task.isCompleted());
				break;
			case 1 : // DESCRIPTION_COLUMN 
				result = task.getDescription();
				break;
			case 2 : // OWNER_COLUMN 
				String stringValue = task.getOwner();
				String[] choices = tableViewerExample.getChoices(property);
				int i = choices.length - 1;
				while (!stringValue.equals(choices[i]) && i > 0)
					--i;
				result = new Integer(i);
				break;
			case 3 : // PERCENT_COLUMN 
				result = task.getPercentComplete() + "";
				break;
			default :
				result = "";
		}
		return result;	
	}

	/**
	 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
	 */
	public void modify(Object element, String property, Object value) {	

		// Find the index of the column 
		int columnIndex	= tableViewerExample.getColumnNames().indexOf(property);
			
		TableItem item = (TableItem) element;
		ExampleTask task = (ExampleTask) item.getData();
		String valueString;

		switch (columnIndex) {
			case 0 : // COMPLETED_COLUMN 
			    task.setCompleted(((Boolean) value).booleanValue());
				break;
			case 1 : // DESCRIPTION_COLUMN 
				valueString = ((String) value).trim();
				task.setDescription(valueString);
				break;
			case 2 : // OWNER_COLUMN 
				valueString = tableViewerExample.getChoices(property)[((Integer) value).intValue()].trim();
				if (!task.getOwner().equals(valueString)) {
					task.setOwner(valueString);
				}
				break;
			case 3 : // PERCENT_COLUMN
				valueString = ((String) value).trim();
				if (valueString.length() == 0)
					valueString = "0";
				task.setPercentComplete(Integer.parseInt(valueString));
				break;
			default :
			}
		tableViewerExample.getTaskList().taskChanged(task);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -