/*******************************************************************************
* Copyright (C) 2003-2008, 2013, Guillaume Brocker
*
* All rights reserved. This program and the accompanying materials
* are 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
*
* Contributors:
* Guillaume Brocker - Initial API and implementation
*
******************************************************************************/
package eclox.ui.wizard;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
import eclox.ui.Images;
import eclox.ui.Plugin;
/**
* @author gbrocker
*
* To change the template for this generated type comment go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
public class NewDoxyfileWizardPage extends WizardNewFileCreationPage {
/**
* Retrieves the initial doxyfile name relative to the given object that
* is supposed to be a resource.
*
* If the object is not an IResourec instance, and adapter is searched for it.
*/
private static String getInitialFileName( Object object ) {
IResource resource;
// Skip null objects
if( object == null ) {
resource = null;
}
// Try the direct convertion to a IResource
else if( object instanceof IResource ) {
resource = (IResource) object;
}
// Try to find an adapter
else {
resource = (IResource) org.eclipse.core.runtime.Platform.getAdapterManager().getAdapter(object, IResource.class);
}
// Finally, gets the project name for the resource (if one has been found).
return (resource != null) ? (resource.getProject().getName() + ".doxyfile") : new String();
}
/**
* Constructor.
*
* @param selection The current selection object.
*/
public NewDoxyfileWizardPage(IStructuredSelection selection) {
super("page", selection);
setTitle("Doxygen Configuration");
setDescription("Creates a new Doxygen configuration file.");
setFileName( selection != null ? getInitialFileName(selection.getFirstElement()) : new String() );
setImageDescriptor( Plugin.getImageDescriptor(Images.DOXYFILE_WIZARD));
}
/**
* @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#getNewFileLabel()
*/
protected String getNewFileLabel() {
return "Doxyfile &name:";
}
}