blob: 493a563ed2df789808b05c92ca795ba108b80159 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.ui.javadocexport;
import java.io.File;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.jdt.ui.wizards.NewElementWizardPage;
public abstract class JavadocWizardPage extends NewElementWizardPage {
protected JavadocWizardPage(String pageName) {
super(pageName);
setTitle(JavadocExportMessages.JavadocWizardPage_javadocwizardpage_description);
}
protected Button createButton(Composite composite, int style, String message, GridData gd) {
Button button= new Button(composite, style);
button.setText(message);
button.setLayoutData(gd);
return button;
}
protected GridLayout createGridLayout(int columns) {
return new GridLayout(columns, false);
}
protected GridData createGridData(int flag, int hspan, int vspan, int indent) {
GridData gd= new GridData(flag);
gd.horizontalIndent= indent;
gd.horizontalSpan= hspan;
gd.verticalSpan= vspan;
return gd;
}
protected GridData createGridData(int flag, int hspan, int indent) {
GridData gd= new GridData(flag);
gd.horizontalIndent= indent;
gd.horizontalSpan= hspan;
return gd;
}
protected GridData createGridData(int hspan) {
GridData gd= new GridData();
gd.horizontalSpan= hspan;
return gd;
}
protected Label createLabel(Composite composite, int style, String message, GridData gd) {
Label label= new Label(composite, style);
label.setText(message);
label.setLayoutData(gd);
return label;
}
protected Text createText(Composite composite, int style, String message, GridData gd) {
Text text= new Text(composite, style);
if (message != null)
text.setText(message);
text.setLayoutData(gd);
return text;
}
protected Combo createCombo(Composite composite, int style, String message, GridData gd) {
Combo combo= new Combo(composite, style);
if (message != null)
combo.setText(message);
combo.setLayoutData(gd);
return combo;
}
protected void handleFileBrowseButtonPressed(Text text, String[] extensions, String title) {
FileDialog dialog= new FileDialog(text.getShell());
dialog.setText(title);
dialog.setFilterExtensions(extensions);
String dirName= text.getText();
if (!dirName.equals("")) { //$NON-NLS-1$
File path= new File(dirName);
if (path.exists())
dialog.setFilterPath(dirName);
}
String selectedDirectory= dialog.open();
if (selectedDirectory != null)
text.setText(selectedDirectory);
}
protected String handleFolderBrowseButtonPressed(String dir, String title, String message) {
DirectoryDialog dialog= new DirectoryDialog(getShell());
dialog.setFilterPath(dir);
dialog.setText(title);
dialog.setMessage(message);
String res= dialog.open();
if (res != null) {
File file= new File(res);
if (file.isDirectory())
return res;
}
return dir;
}
protected static class EnableSelectionAdapter extends SelectionAdapter {
private Control[] fEnable;
private Control[] fDisable;
protected EnableSelectionAdapter(Control[] enable, Control[] disable) {
super();
fEnable= enable;
fDisable= disable;
}
public void widgetSelected(SelectionEvent e) {
for (int i= 0; i < fEnable.length; i++) {
fEnable[i].setEnabled(true);
}
for (int i= 0; i < fDisable.length; i++) {
fDisable[i].setEnabled(false);
}
validate();
}
//copied from WizardNewProjectCreationPage
public void validate() {
}
} //end class EnableSelectionAdapter
protected static class ToggleSelectionAdapter extends SelectionAdapter {
Control[] controls;
protected ToggleSelectionAdapter(Control[] controls) {
this.controls= controls;
}
public void widgetSelected(SelectionEvent e) {
for (int i= 0; i < controls.length; i++) {
Control control= controls[i];
control.setEnabled(!control.getEnabled());
}
validate();
}
public void validate() {
}
} //end class ToggleSelection Adapter
}