/*******************************************************************************
* Copyright (c) 2009 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.hibernate.eclipse.console.actions;
import java.util.Iterator;
import org.eclipse.jface.viewers.StructuredViewer;
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.console.ImageConstants;
import org.hibernate.eclipse.console.HibernateConsoleMessages;
import org.hibernate.eclipse.console.utils.EclipseImages;
import org.hibernate.eclipse.console.viewers.xpl.MTreeViewer;
/**
* @author Vitali Yemialyanchyk
*/
public class CloseConfigAction extends ConsoleConfigReadyUseBaseAction {
public static final String CLOSECONFIG_ACTIONID = "actionid.closeconfig"; //$NON-NLS-1$
/**
* @param text
*/
protected CloseConfigAction(String text) {
super(text);
setImageDescriptor(EclipseImages.getImageDescriptor(ImageConstants.CLOSE));
setId(CLOSECONFIG_ACTIONID);
init(null);
}
public CloseConfigAction(StructuredViewer sv) {
super(HibernateConsoleMessages.CloseConfigAction_close_config);
setText(HibernateConsoleMessages.CloseConfigAction_close_config);
setImageDescriptor(EclipseImages.getImageDescriptor(ImageConstants.CLOSE));
setId(CLOSECONFIG_ACTIONID);
init(sv);
}
public void doRun() {
doCloseConfig();
}
protected void doCloseConfig() {
for (Iterator<?> i = getSelectedNonResources().iterator(); i.hasNext();) {
Object node = i.next();
if (!(node instanceof ConsoleConfiguration)) {
continue;
}
ConsoleConfiguration config = (ConsoleConfiguration) node;
((MTreeViewer)viewer).clearChildren(config);
config.reset();
viewer.refresh(node);
}
}
}