/******************************************************************************* * 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.editor.basic; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.FormToolkit; import eclox.core.doxyfiles.Doxyfile; import eclox.ui.editor.editors.CheckBoxEditor; import eclox.ui.editor.editors.DirectoryEditor; import eclox.ui.editor.editors.DirectoryListEditor; import eclox.ui.editor.editors.TextEditor; /** * Implements the part that will provide editior for the project settings. * * @author gbrocker */ public class ProjectPart extends Part { /** * the project name setting editor */ private TextEditor nameEditor = new TextEditor(); /** * the project version or identifier editor */ private TextEditor versionEditor = new TextEditor(); /** * the project input editor */ private DirectoryListEditor inputEditor = new DirectoryListEditor(); /** * the recursive scan editor */ private CheckBoxEditor recursiveEditor = new CheckBoxEditor("Scan recursively"); /** * the project output editor */ private DirectoryEditor outputEditor = new DirectoryEditor(); /** * Constructor * * @param parent the parent composite of the part content * @param toolkit the toolkit to use for control creations * @param doxyfile the doxyfile being edited */ ProjectPart( Composite parent, FormToolkit toolkit, Doxyfile doxyfile ) { super( parent, toolkit, "Project", doxyfile ); addEditor("Name:", nameEditor); addEditor("Version or Identifier:", versionEditor); addSperator(); addLabel("Input directories:"); addEditor(inputEditor); addEditor(recursiveEditor); addSperator(); addEditor("Output Directory:", outputEditor); nameEditor .setInput( doxyfile.getSetting("PROJECT_NAME") ); versionEditor .setInput( doxyfile.getSetting("PROJECT_NUMBER") ); inputEditor .setInput( doxyfile.getSetting("INPUT") ); outputEditor .setInput( doxyfile.getSetting("OUTPUT_DIRECTORY") ); recursiveEditor.setInput( doxyfile.getSetting("RECURSIVE") ); nameEditor .setEnabled( nameEditor.hasInput() ); versionEditor .setEnabled( versionEditor.hasInput() ); inputEditor .setEnabled( inputEditor.hasInput() ); outputEditor .setEnabled( outputEditor.hasInput() ); recursiveEditor.setEnabled( recursiveEditor.hasInput() ); } }