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

📄 columnsorderdialog.java

📁 Eclipse RCP下编写的工作管理软件代码
💻 JAVA
字号:
/**
 * Simon Lei, CopyLeft 2005
 */
package net.sf.component.table;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;

/**
 * $Id: ColumnsOrderDialog.java 843 2005-09-12 02:54:04Z yflei $
 * Created Date: 2005-7-17
 * @author SimonLei
 */
public class ColumnsOrderDialog extends TitleAreaDialog {

	public ColumnsOrderDialog(Shell parentShell) {
		super(parentShell);
		setShellStyle( getShellStyle() | SWT.RESIZE);		
	}
	
	@Override
	protected Control createContents(Composite parent) {
		Control control = super.createContents(parent);
		setTitle( "列属性修改");
		setMessage( "修改本表各列的属性:");
		return control;
	}

	@Override
	protected Point getInitialSize() {
		return new Point( 600, 400);
	}

	private IBindedTableModel model;
	private List<Map> colsFromModel;
	
	public IBindedTableModel getModel() {
		return model;
	}

	public void setModel(IBindedTableModel model) {
		this.model = model;
	}

	@Override
	protected Control createDialogArea(Composite parent) {
		Composite  control = (Composite)super.createDialogArea(parent);
		control.setLayout( new GridLayout());
		colsFromModel = getColsFromModel();
		IBindedTableModel colsModel = new MapBindedTableModel( colsFromModel);
		BindedTableColumn column = new TextBindedTableColumn( "name");
		column.setShowName( "名称");
		column.setEditable( false);
		colsModel.addColumn( column);
		column = new TextBindedTableColumn( "showName");
		column.setShowName( "显示名称");
		column.setEditable( false);
		colsModel.addColumn( column);
/*		column = new BindedTableColumn( "style");
		column.setShowName( "对齐");
		column.setEditable( false);
		model.addColumn( column);
*/		column = new CheckBindedTableColumn( "editable");
		column.setShowName( "是否可编辑?");
		column.setEditable( true);
		colsModel.addColumn( column);
		
		column = new CheckBindedTableColumn( "visible");
		column.setShowName( "是否可见?");
		column.setEditable( true);
		colsModel.addColumn( column);

		final BindedTableViewer bindedTableViewer = new BindedTableViewer( control, SWT.NONE);
		bindedTableViewer.setModel( colsModel);
		bindedTableViewer.setRowCreateRemovable( false);
		bindedTableViewer.setRowsOrderable( true);
		bindedTableViewer.create();
		
		bindedTableViewer.setLayoutData( new GridData(GridData.FILL_BOTH));
		return control;
	}

	private List<Map> getColsFromModel() {
		List<Map> cols = new ArrayList<Map>();
		int colCounts = model.getColumnCount();
		for (int i = 0; i < colCounts; i++) {
			BindedTableColumn col = model.getColumn( i);
			Map map = new HashMap();
			map.put( "name", col.getName());
			map.put( "showName", col.getShowName());
			map.put( "visible", col.isVisible());
			map.put( "editable", col.isEditable());
			cols.add( map);
		}
		return cols;
	}

	public List<Map> getColumns() {
		return colsFromModel;
	}
}

⌨️ 快捷键说明

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