package org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.action; import org.nightlabs.base.ui.notification.SelectionManager; import org.nightlabs.base.ui.resource.SharedImages; import org.nightlabs.base.ui.util.RCPUtil; import org.nightlabs.jfire.base.dashboard.ui.action.AbstractDashboardTableAction; import org.nightlabs.jfire.trade.LegalEntity; import org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.TransactionInfoTableItem; import org.nightlabs.jfire.trade.dashboard.ui.resource.Messages; import org.nightlabs.jfire.trade.ui.TradePerspective; import org.nightlabs.jfire.trade.ui.TradePlugin; import org.nightlabs.jfire.trade.ui.articlecontainer.detail.action.assigncustomer.AssignCustomerAction; import org.nightlabs.notification.NotificationEvent; /** * @author abieber * */ public class SelectCustomerAction extends AbstractDashboardTableAction<TransactionInfoTableItem> { public SelectCustomerAction() { setId(SelectCustomerAction.class.getName()); setText(Messages.getString("org.nightlabs.jfire.trade.dashboard.ui.internal.lastCustomers.action.SelectCustomerAction.text")); //$NON-NLS-1$ setImageDescriptor(SharedImages.getSharedImageDescriptor( TradePlugin.getDefault(), AssignCustomerAction.class)); } @Override public void run() { TransactionInfoTableItem tableItem = getFirstSelectedTableItem(); if (tableItem != null) { RCPUtil.showPerspective(TradePerspective.ID_PERSPECTIVE); NotificationEvent event = new NotificationEvent(this, TradePlugin.ZONE_SALE, tableItem.getTransactionInfo().getCustomerID(), LegalEntity.class); SelectionManager.sharedInstance().notify(event); } } @Override public boolean calculateEnabled() { return getFirstSelectedTableItem() != null; } }