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

📄 removelabelaction.java

📁 基于Eclipse RCP开发的管理工具
💻 JAVA
字号:
 /*  
  * Copyright 2006 Marcel Schoffelmeer 
  * 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
  * You may obtain a copy of the License at 
  * 
  *    http://www.apache.org/licenses/LICENSE-2.0 
  *    
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, 
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */

package com.s10r.manager.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
import org.eclipse.ui.plugin.AbstractUIPlugin;

import com.s10r.manager.Application;
import com.s10r.manager.model.ItemLabel;
import com.s10r.manager.model.PasswordEntry;

/**
 * @author schoffem
 */
public class RemoveLabelAction extends ManagerAction implements
		IWorkbenchAction, IObjectActionDelegate, ISelectionListener
{
	public final static String ID = "manager_rcp.copyUrlToClipboard";
	private ItemLabel label;

	public RemoveLabelAction(IWorkbenchWindow window, ItemLabel label)
	{
		super(window);

		this.label = label;

		setId(ID);
		setText(label.getName());
		setToolTipText("Remove label: " + label.getName());

		setImageDescriptor(AbstractUIPlugin.imageDescriptorFromPlugin(
				Application.PLUGIN_ID, "icons/tag_blue.png"));
		
		window.getSelectionService().addSelectionListener(this);
	}

	@Override
	public void run()
	{
		if (selection != null && selection instanceof IStructuredSelection)
		{
			IStructuredSelection ss = (IStructuredSelection)selection;
		    for (Object item: ss.toArray())
		    {
		    	if (item instanceof PasswordEntry)
		    	{
		    		PasswordEntry entry = (PasswordEntry)item;
		    		
		    		System.out.println("RemoveLabelAction.run removing label: " + label.getName() + 
		    				" from entry: " + entry.getName());
		    		entry.removeLabel(label);
		    	}
		    }		
		}
	}

	// popup run
	public void run(IAction action)
	{
		run();
	}

	public void dispose()
	{
		window.getSelectionService().removeSelectionListener(this);
	}

	public void selectionChanged(IWorkbenchPart part, ISelection selection)
	{
		this.selection = selection;		
	}


}

⌨️ 快捷键说明

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