Package com.aelitis.azureus.ui.common.table

Source Code of com.aelitis.azureus.ui.common.table.TableSelectedRowsListener

package com.aelitis.azureus.ui.common.table;

import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;

import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.ui.swt.Utils;

/**
* Listener primarily for Menu Selection.  Implement run(TableRowCore) and it
* will get called for each row the user has selected.
*/
public abstract class TableSelectedRowsListener
  extends TableGroupRowRunner
  implements Listener
{
  private final TableView<?> tv;
  private final boolean getOffSWT;

  public TableSelectedRowsListener(TableView<?> impl, boolean getOffSWT) {
    tv = impl;
    this.getOffSWT = getOffSWT;
  }

  /**
   * triggers the event off of the SWT thread
   * @param impl
   */
  public TableSelectedRowsListener(TableView<?> impl) {
    tv = impl;
    this.getOffSWT = true;
  }

  /** Event information passed in via the Listener.  Accessible in
   * run(TableRowSWT).
   */
  protected Event event;

  /** Process the trapped event.  This function does not need to be overidden.
   * @param e event information
   */
  public final void handleEvent(Event e) {
    event = e;
    if (getOffSWT) {
      Utils.getOffOfSWTThread(new AERunnable() {
        public void runSupport() {
          tv.runForSelectedRows(TableSelectedRowsListener.this);
        }
      });
    } else {
      tv.runForSelectedRows(this);
    }
  }
}
TOP

Related Classes of com.aelitis.azureus.ui.common.table.TableSelectedRowsListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.