01: /*******************************************************************************
02: * Copyright (c) 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.pde.internal.ui.wizards.toc;
11:
12: import org.eclipse.core.runtime.IStatus;
13: import org.eclipse.core.runtime.Path;
14: import org.eclipse.core.runtime.Status;
15: import org.eclipse.jface.viewers.IStructuredSelection;
16: import org.eclipse.osgi.util.NLS;
17: import org.eclipse.pde.internal.ui.PDEPlugin;
18: import org.eclipse.pde.internal.ui.PDEUIMessages;
19: import org.eclipse.pde.internal.ui.editor.toc.TocExtensionUtil;
20: import org.eclipse.swt.widgets.Composite;
21: import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
22:
23: /**
24: * PDEWizardNewFileCreationPage
25: *
26: */
27: public class TocHTMLWizardPage extends WizardNewFileCreationPage {
28:
29: private String fLastFilename;
30:
31: /**
32: * @param pageName
33: * @param selection
34: */
35: public TocHTMLWizardPage(String pageName,
36: IStructuredSelection selection) {
37: super (pageName, selection);
38: }
39:
40: /* (non-Javadoc)
41: * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#validatePage()
42: */
43: protected boolean validatePage() {
44: fLastFilename = getFileName().trim();
45:
46: // Verify the filename is non-empty
47: if (fLastFilename.length() == 0) {
48: // Reset previous error message set if any
49: setErrorMessage(null);
50: return false;
51: }
52:
53: // Verify the file name does not begin with a dot
54: if (fLastFilename.charAt(0) == '.') {
55: setErrorMessage(PDEUIMessages.PDEWizardNewFileCreationPage_errorMsgStartsWithDot);
56: return false;
57: }
58:
59: if (!TocExtensionUtil.hasValidPageExtension(new Path(
60: fLastFilename))) {
61: String message = NLS.bind(
62: PDEUIMessages.TocHTMLWizardPage_badExtension,
63: TocExtensionUtil.getPageExtensionList());
64:
65: setErrorMessage(message);
66: return false;
67: }
68:
69: // Perform default validation
70: return super .validatePage();
71: }
72:
73: /* (non-Javadoc)
74: * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#validateLinkedResource()
75: */
76: protected IStatus validateLinkedResource() {
77: return new Status(IStatus.OK, PDEPlugin.getPluginId(),
78: IStatus.OK, "", null); //$NON-NLS-1$
79: }
80:
81: /* (non-Javadoc)
82: * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#createLinkTarget()
83: */
84: protected void createLinkTarget() {
85: // NO-OP
86: }
87:
88: protected void createAdvancedControls(Composite parent) {
89: // NO-OP
90: }
91:
92: public String getFileName() {
93: if (getControl() != null && getControl().isDisposed()) {
94: return fLastFilename;
95: }
96:
97: return super.getFileName();
98: }
99: }
|