CreateDynamicProductTypeAction.java :  » ERP-CRM-Financial » JFire-1.0.1 » org » nightlabs » jfire » dynamictrade » admin » ui » createproducttype » Java Open Source

Java Open Source » ERP CRM Financial » JFire 1.0.1 
JFire 1.0.1 » org » nightlabs » jfire » dynamictrade » admin » ui » createproducttype » CreateDynamicProductTypeAction.java
package org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype;

import javax.jdo.JDOHelper;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.nightlabs.base.ui.wizard.DynamicPathWizardDialog;
import org.nightlabs.jfire.dynamictrade.admin.ui.resource.Messages;
import org.nightlabs.jfire.dynamictrade.admin.ui.tree.DynamicProductTypeTree;
import org.nightlabs.jfire.dynamictrade.admin.ui.tree.DynamicProductTypeTreeNode;
import org.nightlabs.jfire.store.id.ProductTypeID;

public class CreateDynamicProductTypeAction
    extends Action
{
  protected DynamicProductTypeTree tree;
  protected DynamicProductTypeTreeNode selectedNode = null;

  public CreateDynamicProductTypeAction(DynamicProductTypeTree dynamicProductTypeTree)
  {
    super(Messages.getString("org.nightlabs.jfire.dynamictrade.admin.ui.createproducttype.CreateDynamicProductTypeAction.text")); //$NON-NLS-1$
    setEnabled(false);
    this.tree = dynamicProductTypeTree;
    tree.addSelectionChangedListener(
        new ISelectionChangedListener() {
          public void selectionChanged(SelectionChangedEvent event)
          {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            if (selection.isEmpty())
              selectedNode = null;
            else
              selectedNode = (DynamicProductTypeTreeNode) selection.getFirstElement();

            setEnabled(selectedNode != null && selectedNode.getJdoObject().isInheritanceBranch());
          }
        });
  }

  @Override
  public void run()
  {
    try {
      if (selectedNode == null)
        throw new IllegalStateException("No node selected!"); //$NON-NLS-1$

      CreateDynamicProductTypeWizard createProductWizard = new CreateDynamicProductTypeWizard((ProductTypeID) JDOHelper.getObjectId(selectedNode.getJdoObject()));
      DynamicPathWizardDialog wizardDialog = new DynamicPathWizardDialog(createProductWizard);
      wizardDialog.open();
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
}
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.