XuiProModuleRegistrationAction.java :  » XML-UI » xui32 » com » xoetrope » editor » eclipse » Java Open Source

Java Open Source » XML UI » xui32 
xui32 » com » xoetrope » editor » eclipse » XuiProModuleRegistrationAction.java
package com.xoetrope.editor.eclipse;

import javax.swing.SwingUtilities;

import net.xoetrope.editor.project.XEditorProjectManager;
import com.xoetrope.editor.lm.XModuleRegistrationDialog;
import net.xoetrope.xui.helper.XuiUtilities;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;

/**
 * Our sample action implements workbench action delegate. The action proxy will
 * be created by the workbench and shown in the UI. When the user tries to use
 * the action, this delegate will be created and execution will be delegated to
 * it.
 * 
 * @see IWorkbenchWindowActionDelegate
 */
public class XuiProModuleRegistrationAction implements IWorkbenchWindowActionDelegate
{
  private IWorkbenchWindow window;

  /**
   * The constructor.
   */
  public XuiProModuleRegistrationAction()
  {
  }

  /**
   * The action has been activated. The argument of the method represents the
   * 'real' action sitting in the workbench UI.
   * 
   * @see IWorkbenchWindowActionDelegate#run
   */
  public void run( IAction action )
  {
    SwingUtilities.invokeLater( new Runnable() {
      public void run()
      {
        XModuleRegistrationDialog mrp = new XModuleRegistrationDialog( XEditorProjectManager.getLicenseManager() );
        XuiUtilities.centerOnScreen( mrp );
        mrp.setVisible( true );
      }
    });
  }

  /**
   * Selection in the workbench has been changed. We can change the state of the
   * 'real' action here if we want, but this can only happen after the delegate
   * has been created.
   * 
   * @see IWorkbenchWindowActionDelegate#selectionChanged
   */
  public void selectionChanged( IAction action, ISelection selection )
  {
    action.setEnabled( true );
  }

  /**
   * We can use this method to dispose of any system resources we previously
   * allocated.
   * 
   * @see IWorkbenchWindowActionDelegate#dispose
   */
  public void dispose()
  {
  }

  /**
   * We will cache window object in order to be able to provide parent shell for
   * the message dialog.
   * 
   * @see IWorkbenchWindowActionDelegate#init
   */
  public void init( IWorkbenchWindow window )
  {
    this.window = window;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.