selectallaction.java

来自「对eclipse gef进行封装,可以生成图形化编辑器」· Java 代码 · 共 72 行

JAVA
72
字号
/*******************************************************************************
 * $Header: /cvsroot/EOS6/work_dir/niegy/com.primeton.studio.gef.ui/src/com/primeton/studio/gef/ui/action/SelectAllAction.java,v 1.1 2006/12/12 08:26:39 niegy Exp $
 * $Revision: 1.1 $
 * $Date: 2006/12/12 08:26:39 $
 *
 *==============================================================================
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 * 
 * Created on 2006-12-12
 *******************************************************************************/


package com.primeton.studio.gef.ui.action;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.eclipse.gef.EditPart;
import org.eclipse.gef.GraphicalViewer;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.IWorkbenchPart;

import com.primeton.studio.gef.ui.parts.LabelEditPart;
import com.sun.org.apache.bcel.internal.generic.INSTANCEOF;

/**
 * TODO 此处填写 class 信息
 *
 * @author niegy (mailto:niegy@primeton.com)
 */
/*
 * 修改历史
 * $Log: SelectAllAction.java,v $
 * Revision 1.1  2006/12/12 08:26:39  niegy
 * 重构代码,实现一般图元的编辑框
 * 
 */
public class SelectAllAction extends
		org.eclipse.gef.ui.actions.SelectAllAction {

	private IWorkbenchPart editpart;
	/**
	 * @param part
	 */
	public SelectAllAction(IWorkbenchPart part) {
		super(part);
		// TODO Auto-generated constructor stub
		editpart = part;
	}

	public void run() {
		GraphicalViewer viewer = (GraphicalViewer)editpart.getAdapter(GraphicalViewer.class);
		if (viewer != null)
			viewer.setSelection(new StructuredSelection(getSelection(viewer)));
	}
	
	private List getSelection(GraphicalViewer viewer){
		List list = new ArrayList();
		List allList = viewer.getContents().getChildren();
		for (Iterator iter = allList.iterator(); iter.hasNext();) {
			EditPart element = (EditPart) iter.next();
			if(!(element instanceof LabelEditPart))
				list.add(element);
		}
		return list;
	}
	
}

⌨️ 快捷键说明

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