Package de.kunysch.tvbrowser.quickscroll

Source Code of de.kunysch.tvbrowser.quickscroll.Plugin

/* $Id: Plugin.java 124 2008-03-06 07:19:25Z bananeweizen $
* GNU GPL Version 2, Copyright (C) 2005 Paul C. Kunysch */
package de.kunysch.tvbrowser.quickscroll;

import javax.swing.JViewport;
import tvbrowser.ui.mainframe.MainFrame;
import de.kunysch.tvbrowser.PluginBase;
import devplugin.PluginInfo;
import devplugin.Version;

/** The TV-Browser application communicates with this class. */
public class Plugin extends PluginBase {
  public static final String PROP_DIRECTION = "direction_enum"; //$NON-NLS-1$

  public static final String PROP_HIDECURSOR = "hidecursor_boolean"; //$NON-NLS-1$

  public static final String PROP_SPEEDUP = "speedup_int"; //$NON-NLS-1$

  public static final int DIRECTION_VIEWPORT = 0;

  public static final int DIRECTION_CONTENT = 1;

  private Listener listener;

  public Plugin() {
    getSettings().setInt(PROP_DIRECTION, DIRECTION_CONTENT);
    getSettings().setInt(PROP_SPEEDUP, 80);
    getSettings().setBoolean(PROP_HIDECURSOR, true);
  }

  @Override
  public PluginInfo getInfo() {
    return new PluginInfo(
        Messages.getString("Plugin.name"), Messages.getString("Plugin.desc"), Messages.getString("Plugin.author"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
        new Version(0, 3, false), Messages.getString("Plugin.license")); //$NON-NLS-1$
  }

  @Override
  public String getMarkIconName() {
    return "de/kunysch/tvbrowser/quickscroll/quickscroll.png"; //$NON-NLS-1$
  }

  @Override
  public devplugin.SettingsTab getSettingsTab() {
    return new SettingsTab(getSettings());
  }

  @Override
  public void onActivation() {
    try {
      JViewport viewport = ((MainFrame) getParentFrame()).getProgramTableScrollPane().getViewport();
      listener = new Listener(getSettings(), viewport, viewport.getComponent(0));
      listener.onActivation();
    } catch (NullPointerException e) {
      delayActivation();
    }
  }

  private void delayActivation() {
    new Thread() {
      @Override
      public void run() {
        try {
          sleep(200);
          onActivation();
        } catch (InterruptedException e) {
        }
      }
    }.start();
  }

  @Override
  public void onDeactivation() {
    listener.onDeactivation();
  }
}
TOP

Related Classes of de.kunysch.tvbrowser.quickscroll.Plugin

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.