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

📄 orderbuttonscomposite.java

📁 mywork是rcp开发的很好的例子
💻 JAVA
字号:
/**
 * Simon Lei, CopyLeft 2005
 */
package net.sf.component.table.orderable;

import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;

/**
 * $Id: OrderButtonsComposite.java 844 2005-09-12 03:18:14Z yflei $
 * Created Date: 2005-7-15
 * @author SimonLei
 */
public class OrderButtonsComposite extends Composite implements ISelectionChangedListener {

	private IOrderAbleComposite orderAbleComposite; 
	private IOrderAbleModel model;
	private Button rowMoveUpButton;
	private Button rowMoveDownButton;
	private Button rowTopButton;
	private Button rowBottomButton;
	private RowLayout rowLayout;
	
	public OrderButtonsComposite(Composite parent, int style, IOrderAbleComposite tableViewer, IOrderAbleModel model) {
		super(parent, style);
		rowLayout = new RowLayout();
		setLayout( rowLayout);
		this.orderAbleComposite = tableViewer;
		this.model = model;
		init();
	}
	
	public void setLayoutOrient( int style) {
		if ( style == SWT.HORIZONTAL) rowLayout.type = SWT.HORIZONTAL;
		if ( style == SWT.VERTICAL) rowLayout.type = SWT.VERTICAL;
		setLayout( rowLayout);
	}
	
	private void init() {
		rowMoveUpButton = new Button(this, SWT.NONE);
		rowMoveUpButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				model.moveUp( orderAbleComposite.getSelectionIndex());
				orderAbleComposite.dataReordered();
			}
		});
		rowMoveUpButton.setEnabled(false);
		rowMoveUpButton.setText("上移");

		rowMoveDownButton = new Button(this, SWT.NONE);
		rowMoveDownButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				model.moveDown( orderAbleComposite.getSelectionIndex());
				orderAbleComposite.dataReordered();
			}
		});
		rowMoveDownButton.setEnabled(false);
		rowMoveDownButton.setText("下移");

		rowTopButton = new Button(this, SWT.NONE);
		rowTopButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				model.moveTop( orderAbleComposite.getSelectionIndex());
				orderAbleComposite.dataReordered();
			}
		});
		rowTopButton.setEnabled(false);
		rowTopButton.setText("置顶");

		rowBottomButton = new Button(this, SWT.NONE);
		rowBottomButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				model.moveBottom( orderAbleComposite.getSelectionIndex());
				orderAbleComposite.dataReordered();
			}
		});
		rowBottomButton.setEnabled(false);
		rowBottomButton.setText("置底");

	}
	
	public void selectionChanged(SelectionChangedEvent e) {
		final int index = orderAbleComposite.getSelectionIndex();
		if ( index == -1) {
			rowMoveUpButton.setEnabled( false);
			rowMoveDownButton.setEnabled( false);
			rowTopButton.setEnabled( false);
			rowBottomButton.setEnabled( false);
			return;
		}
		if ( index == 0) {
			rowMoveUpButton.setEnabled( false);
			rowTopButton.setEnabled( false);
		} else {
			rowMoveUpButton.setEnabled( true);
			rowTopButton.setEnabled( true);					
		}
		if ( index == model.getItemCount() -1) {
			rowMoveDownButton.setEnabled( false);
			rowBottomButton.setEnabled( false);
		} else {
			rowMoveDownButton.setEnabled( true);
			rowBottomButton.setEnabled( true);
		}				
	}

}

⌨️ 快捷键说明

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