/** * @version $Id: LabelDicEditDeleteHandler.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2011/09/08 19:07:20 * @author kyohei-miyazato * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.PlatformUI; import com.tida_okinawa.corona.io.model.dic.ILabel; import com.tida_okinawa.corona.ui.editors.LabelDicEditor; /** * * @author kyohei-miyazato */ public class LabelDicEditDeleteHandler extends AbstractHandler { private IStructuredSelection selection; @Override public Object execute(ExecutionEvent event) throws ExecutionException { /* * 削除処理 * 右クリックで選択したlabelを取得 → remove()にドン! * 複数ラベル削除対応!! */ selection = (IStructuredSelection) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection(); IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); if (part instanceof LabelDicEditor) { if (selection.getFirstElement() instanceof ILabel) { for (Object o : selection.toList()) { ((LabelDicEditor) part).remove((ILabel) o); } } } return null; } @Override public boolean isEnabled() { if (PlatformUI.getWorkbench().getActiveWorkbenchWindow() == null) { return false; } selection = (IStructuredSelection) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection(); if (selection != null && selection.getFirstElement() != null) { return true; } return false; } }