package org.kie.eclipse.navigator.view.actions;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.action.IMenuManager;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.navigator.CommonActionProvider;

public class KieNavigatorActionProvider extends CommonActionProvider {

	protected List<IKieNavigatorAction> actions = new ArrayList<IKieNavigatorAction>();
	
	public KieNavigatorActionProvider() {
	}

	protected void addAction(IKieNavigatorAction action) {
		actions.add(action);
	}

    @Override
	public void fillContextMenu(IMenuManager menu) {
    	for (IKieNavigatorAction action : actions) {
    		action.calculateEnabled();
//    		if (action.isEnabled())
    			menu.add(action);
    	}
    }

    @Override
	public void dispose() {
    	for (IKieNavigatorAction action : actions) {
        	action.dispose();
        }
    	actions.clear();
        super.dispose();
    }
    
    protected Shell getShell() {
    	return getActionSite().getViewSite().getShell();
    }
}
