gtablemenulistener.java

来自「SANCHO」· Java 代码 · 共 88 行

JAVA
88
字号
/* * Copyright (C) 2004-2005 Rutger M. Ovidius for use with the sancho project. * See LICENSE.txt for license information. */package sancho.view.viewer.table;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;import org.eclipse.jface.action.IMenuListener;import org.eclipse.jface.action.IMenuManager;import org.eclipse.jface.action.MenuManager;import org.eclipse.jface.viewers.ISelectionChangedListener;import org.eclipse.jface.viewers.IStructuredSelection;import org.eclipse.jface.viewers.SelectionChangedEvent;import org.eclipse.swt.SWT;import org.eclipse.swt.events.KeyAdapter;import org.eclipse.swt.events.KeyEvent;import org.eclipse.swt.widgets.Table;import sancho.view.utility.SResources;import sancho.view.viewer.CustomTableViewer;import sancho.view.viewer.GView;import sancho.view.viewer.ICustomViewer;import sancho.view.viewer.actions.WebServicesAction;public abstract class GTableMenuListener implements IMenuListener, ISelectionChangedListener {  protected GView gView;  protected List selectedObjects = Collections.synchronizedList(new ArrayList());  protected CustomTableViewer tableViewer;  public GTableMenuListener(GView gView) {    this.gView = gView;  }  protected void addWebServicesMenu(IMenuManager menuManager, String md4, String ed2k, long fileSize) {    MenuManager webServicesMenu = new MenuManager(SResources.getString("mi.webServices"));    webServicesMenu.add(new WebServicesAction(WebServicesAction.BITZI, md4));    webServicesMenu.add(new WebServicesAction(WebServicesAction.FILEDONKEY, md4));    // webServicesMenu.add(new WebServicesAction(WebServicesAction.JIGLE,    // fileSize + ":" + md4));    // webServicesMenu.add(new    // WebServicesAction(WebServicesAction.SHAREREACTOR, ed2k));    webServicesMenu.add(new WebServicesAction(WebServicesAction.DONKEY_FAKES, ed2k));    menuManager.add(webServicesMenu);  }  protected void collectSelections(SelectionChangedEvent event, Class clazz) {    IStructuredSelection sSel = (IStructuredSelection) event.getSelection();    selectedObjects.clear();    Object object;    for (Iterator i = sSel.iterator(); i.hasNext();) {      object = i.next();      if (clazz.isInstance(object))        selectedObjects.add(object);    }  }  public void deselectAll() {    Table table = gView.getTable();    if (table != null && !table.isDisposed())      table.deselectAll();    selectedObjects.clear();  }  public void initialize() {    if (gView instanceof GTableView)      tableViewer = ((GTableView) gView).getTableViewer();    gView.getTable().addKeyListener(new KeyAdapter() {      public void keyPressed(KeyEvent e) {        if (e.stateMask == SWT.CTRL && e.character == 0x01)          gView.getTable().selectAll();            ICustomViewer v = (ICustomViewer) gView.getViewer();            v.updateSelection(gView.getViewer().getSelection());      }    });  }  public abstract void menuAboutToShow(IMenuManager menuManager);  public abstract void selectionChanged(SelectionChangedEvent event);}

⌨️ 快捷键说明

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