diff options
author | Andrew Ferguson | 2008-03-18 18:14:29 +0000 |
---|---|---|
committer | Andrew Ferguson | 2008-03-18 18:14:29 +0000 |
commit | 921ac35b9359787fbaa76e3aff23850bed8623ee (patch) | |
tree | 050e0d95189b7d11d9375a38b3ff628b447a55f4 | |
parent | 2b3bac985a7d181e14f93099574db4c914a35bc8 (diff) | |
download | org.eclipse.cdt-921ac35b9359787fbaa76e3aff23850bed8623ee.tar.gz org.eclipse.cdt-921ac35b9359787fbaa76e3aff23850bed8623ee.tar.xz org.eclipse.cdt-921ac35b9359787fbaa76e3aff23850bed8623ee.zip |
214596: apply fix
6 files changed, 39 insertions, 9 deletions
diff --git a/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/hello.cpp b/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/hello.cpp index 7658866233b..eefb315607b 100644 --- a/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/hello.cpp +++ b/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/hello.cpp @@ -17,6 +17,8 @@ int main() { cout << "$(TestWidget12)" << endl; cout << "$(TestWidget13)" << endl; cout << "$(TestWidget14)" << endl; + cout << "$(TestWidget15)" << endl; + cout << "$(TestWidget16)" << endl; return 0; } diff --git a/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/template.xml b/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/template.xml index c4262ca6c06..5abe9f8956d 100644 --- a/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/template.xml +++ b/core/org.eclipse.cdt.ui.tests/resources/projectTemplates/testWidgets/template.xml @@ -36,6 +36,11 @@ <property id="TestWidget13" label="BrowseWidget1" description="BrowseWidget1Description" type="browse" default="Browse1Default" mandatory="true" pattern=".+"/> <property id="TestWidget14" label="BrowseWidget2" description="BrowseWidget2Description" type="browse" default="Browse2Default" mandatory="false"/> </property-group> + + <property-group id="basics3" label="basicsLabel3" description="basicsDescription3" type="PAGES-ONLY" help="help.html"> + <property id="TestWidget15" label="BrowseDirWidget1" description="BrowseDirWidget1Description" type="browsedir" default="BrowseDir1Default" mandatory="true" pattern=".+"/> + <property id="TestWidget16" label="BrowseDirWidget2" description="BrowseDirWidget2Description" type="browsedir" default="BrowseDir2Default" mandatory="false"/> + </property-group> <process type="org.eclipse.cdt.managedbuilder.core.NewManagedProject"> <simple name="name" value="$(projectName)" /> diff --git a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/InputUIElement.java b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/InputUIElement.java index 451cd82c098..a3eb0642e57 100644 --- a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/InputUIElement.java +++ b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/InputUIElement.java @@ -26,6 +26,7 @@ public abstract class InputUIElement extends UIElement { public static final String SELECTTYPE = new String("select"); //$NON-NLS-1$ public static final String BOOLEANTYPE = new String("boolean"); //$NON-NLS-1$ public static final String BROWSETYPE = new String("browse"); //$NON-NLS-1$ + public static final String BROWSEDIRTYPE= new String("browsedir"); //$NON-NLS-1$ public static final String STRINGLISTTYPE = new String("stringlist"); //$NON-NLS-1$ public static final String SPECIALLISTTYPE = new String("speciallist"); //$NON-NLS-1$ public static final String MANDATORY = new String("mandatory"); //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/UIElementTreeBuilderHelper.java b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/UIElementTreeBuilderHelper.java index 767e5a12a34..357f693d087 100644 --- a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/UIElementTreeBuilderHelper.java +++ b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/UIElementTreeBuilderHelper.java @@ -142,7 +142,9 @@ public class UIElementTreeBuilderHelper implements IUIElementTreeBuilderHelper { boolean b= new Boolean(defaultValue).booleanValue(); widgetElement = new UIBooleanWidget(uiAttributes, b); } else if (type.equalsIgnoreCase(InputUIElement.BROWSETYPE)) { - widgetElement = new UIBrowseWidget(uiAttributes); + widgetElement = new UIBrowseWidget(uiAttributes, false); + } else if (type.equalsIgnoreCase(InputUIElement.BROWSEDIRTYPE)) { + widgetElement = new UIBrowseWidget(uiAttributes, true); } else if (type.equalsIgnoreCase(InputUIElement.STRINGLISTTYPE)) { widgetElement = new UIStringListWidget(uiAttributes); } else if (type.equalsIgnoreCase(InputUIElement.SPECIALLISTTYPE)) { diff --git a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/uiwidgets/UIBrowseWidget.java b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/uiwidgets/UIBrowseWidget.java index 5a9f367f2d9..219f324167d 100644 --- a/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/uiwidgets/UIBrowseWidget.java +++ b/core/org.eclipse.cdt.ui/templateengine/org/eclipse/cdt/ui/templateengine/uitree/uiwidgets/UIBrowseWidget.java @@ -18,6 +18,7 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.DirectoryDialog; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; @@ -39,14 +40,20 @@ public class UIBrowseWidget extends UITextWidget implements ModifyListener { protected Button button; /** + * If set to true browse will open a directory selection dialog, otherwise a file selection dialog + */ + protected boolean isDirectoryBrowser; + + /** * Constructor. * * @param uiAttribute * attribute associated with this widget. */ - public UIBrowseWidget(UIAttributes uiAttribute) { + public UIBrowseWidget(UIAttributes uiAttribute, boolean isDirectoryBrowser) { super(uiAttribute); this.textValue = (String) uiAttribute.get(InputUIElement.DEFAULT); + this.isDirectoryBrowser= isDirectoryBrowser; } /** @@ -86,15 +93,24 @@ public class UIBrowseWidget extends UITextWidget implements ModifyListener { button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { - String fileName = new FileDialog(uiComposite.getShell()).open(); - if (fileName != null) { - textValue = fileName.toString(); - text.setText(textValue); - } + onBrowsePushed(); } }); } + protected void onBrowsePushed() { + String fileName; + if(isDirectoryBrowser) { + fileName= new DirectoryDialog(uiComposite.getShell()).open(); + } else { + fileName= new FileDialog(uiComposite.getShell()).open(); + } + if (fileName != null) { + textValue = fileName.toString(); + text.setText(textValue); + } + } + /** * call the dispose method on the widgets. This is to ensure that the * widgets are properly disposed. diff --git a/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/Howtodeveloptemplates.html b/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/Howtodeveloptemplates.html index ab94521fc7c..8a5e79cc363 100644 --- a/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/Howtodeveloptemplates.html +++ b/doc/org.eclipse.cdt.doc.isv/guide/projectTemplateEngine/Howtodeveloptemplates.html @@ -289,8 +289,12 @@ add and delete items to it. </p> <li> <p> -<code>browse</code>: If you want a browse field to choose a file -or directory using the File Open dialog. +<code>browse</code>: If you want a browse button which opens a file (not directory) selection dialog +</p> +</li> +<li> +<p> +<code>browsedir</code>: If you want a browse button which opens a directory selection dialog </p> </li> </ul> |