mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Fixed initialization of the folder text box in the New Source File
dialog.
This commit is contained in:
parent
faf497d361
commit
e6f0a47c44
1 changed files with 101 additions and 108 deletions
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2004, 2009 QNX Software Systems and others.
|
||||
* Copyright (c) 2004, 2012 QNX Software Systems 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
|
||||
|
@ -70,6 +70,7 @@ import org.eclipse.cdt.internal.ui.preferences.CodeTemplatePreferencePage;
|
|||
import org.eclipse.cdt.internal.ui.viewsupport.IViewPartInputProvider;
|
||||
import org.eclipse.cdt.internal.ui.wizards.NewElementWizardPage;
|
||||
import org.eclipse.cdt.internal.ui.wizards.SourceFolderSelectionDialog;
|
||||
import org.eclipse.cdt.internal.ui.wizards.classwizard.NewClassWizardUtil;
|
||||
import org.eclipse.cdt.internal.ui.wizards.dialogfields.ComboDialogField;
|
||||
import org.eclipse.cdt.internal.ui.wizards.dialogfields.DialogField;
|
||||
import org.eclipse.cdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
|
||||
|
@ -83,14 +84,14 @@ public abstract class AbstractFileCreationWizardPage extends NewElementWizardPag
|
|||
private static final int MAX_FIELD_CHARS = 50;
|
||||
private static final String NO_TEMPLATE = ""; //$NON-NLS-1$
|
||||
|
||||
private IWorkspaceRoot fWorkspaceRoot;
|
||||
private final IWorkspaceRoot fWorkspaceRoot;
|
||||
|
||||
// field IDs
|
||||
private static final int SOURCE_FOLDER_ID = 1;
|
||||
protected static final int NEW_FILE_ID = 2;
|
||||
private static final int ALL_FIELDS = SOURCE_FOLDER_ID | NEW_FILE_ID;
|
||||
int fLastFocusedField = 0;
|
||||
private StringButtonDialogField fSourceFolderDialogField;
|
||||
private final StringButtonDialogField fSourceFolderDialogField;
|
||||
private IStatus fSourceFolderStatus;
|
||||
private IStatus fNewFileStatus;
|
||||
private final IStatus STATUS_OK = new StatusInfo();
|
||||
|
@ -383,28 +384,20 @@ public abstract class AbstractFileCreationWizardPage extends NewElementWizardPag
|
|||
* @param elem the C element used to compute the initial folder
|
||||
*/
|
||||
protected void initSourceFolder(ICElement elem) {
|
||||
ICContainer folder = null;
|
||||
IPath folderPath = null;
|
||||
if (elem != null) {
|
||||
folder = CModelUtil.getSourceFolder(elem);
|
||||
ICContainer folder = NewClassWizardUtil.getSourceFolder(elem);
|
||||
if (folder == null) {
|
||||
ICProject cproject = elem.getCProject();
|
||||
if (cproject != null) {
|
||||
try {
|
||||
if (cproject.exists()) {
|
||||
ISourceRoot[] roots = cproject.getSourceRoots();
|
||||
if (roots != null && roots.length > 0)
|
||||
folder = roots[0];
|
||||
}
|
||||
} catch (CModelException e) {
|
||||
CUIPlugin.log(e);
|
||||
}
|
||||
if (folder == null) {
|
||||
folder = cproject.findSourceRoot(cproject.getResource());
|
||||
folder = NewClassWizardUtil.getFirstSourceRoot(cproject);
|
||||
}
|
||||
}
|
||||
if (folder != null) {
|
||||
folderPath = folder.getResource().getFullPath();
|
||||
}
|
||||
}
|
||||
setSourceFolderFullPath(folder != null ? folder.getResource().getFullPath() : null, false);
|
||||
setSourceFolderFullPath(folderPath, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -448,7 +441,7 @@ public abstract class AbstractFileCreationWizardPage extends NewElementWizardPag
|
|||
}
|
||||
|
||||
protected final class StatusFocusListener implements FocusListener {
|
||||
private int fieldID;
|
||||
private final int fieldID;
|
||||
|
||||
public StatusFocusListener(int fieldID) {
|
||||
this.fieldID = fieldID;
|
||||
|
|
Loading…
Add table
Reference in a new issue