Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-patch] class wizard


I did a "replace with latest from head" for core, UI and all other projects, then applied your patch to UI (Ignoring white spaces), then created a new Managed Make project, then launched the class wizard (from the context menu of the new project), then tried to type something in the class name text field and I kept getting this message with each typed letter.

Hoda Amer
Staff Software Engineer
Rational Software - IBM Software Group



Chris Wiebe <cwiebe@xxxxxxx>
Sent by: cdt-patch-admin@xxxxxxxxxxx

04/07/2004 02:12 PM

Please respond to
cdt-patch

To
cdt-patch@xxxxxxxxxxx
cc
Subject
Re: [cdt-patch] class wizard





That's strange.  I assume you updated to the latest cdt core and ui
plugins.  Did you select a project first, and then open the wizard?

Chris

Hoda Amer wrote:

>
> Sorry, but I have to reject this patch Chris.
> With each letter I type in the class name text field I get an error
> message "No classes available!". Also when you choose base class button
> it does not work and you get the same message.
>
>
> Hoda Amer
> Staff Software Engineer
> Rational Software - IBM Software Group
>
>
> *Chris Wiebe <cwiebe@xxxxxxx>*
> Sent by: cdt-patch-admin@xxxxxxxxxxx
>
> 04/07/2004 12:31 PM
> Please respond to
> cdt-patch
>
>
>                  
> To
>                  cdt-patch@xxxxxxxxxxx
> cc
>                  
> Subject
>                  [cdt-patch] class wizard
>
>
>                  
>
>
>
>
>
> This patch updates the class wizard to use the type cache & type
> selection dialog when choosing a base class.
>
> -Chris
>
>
> Index: src/org/eclipse/cdt/internal/ui/wizards/NewWizardMessages.properties
> ===================================================================
> RCS file:
> /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/NewWizardMessages.properties,v
> retrieving revision 1.5
> diff -u -r1.5 NewWizardMessages.properties
> --- src/org/eclipse/cdt/internal/ui/wizards/NewWizardMessages.properties
>                 26 Mar 2004 22:05:27 -0000                 1.5
> +++ src/org/eclipse/cdt/internal/ui/wizards/NewWizardMessages.properties
>                 7 Apr 2004 16:27:18 -0000
> @@ -164,22 +164,27 @@
> NewClassWizardPage.operations.getProjectClasses=Looking for classes in
> project
>
> NewClassWizardPage.error.NotAvailableForNonCppProjects= The wizard is
> not available for non C++ projects.
> -# ------- BaseClassSelectionDialog -----
>
> -BaseClassSelectionDialog.title=Classes in this project
> -BaseClassSelectionDialog.message=Select a base class:
> +NewClassWizardPage.getProjectClasses.exception.title=Exception
> +NewClassWizardPage.getProjectClasses.exception.message=Unexpected
> exception. See log for details.
> +NewClassWizardPage.getProjectClasses.noclasses.title=Class Selection
> +NewClassWizardPage.getProjectClasses.noclasses.message=No classes
> available.
>
> -# ------- NewClassWizardPage -------
> +# ------- BaseClassSelectionDialog -----
>
> -NewClassCreationWizard.title=New Java Class
> +BaseClassSelectionDialog.title=Choose Base Class
> +BaseClassSelectionDialog.message=&Choose a class (? = any character, *
> = any string):
> +BaseClassSelectionDialog.filter=
>
> -NewClassWizardPage.title=Java Class
> -NewClassWizardPage.description=Create a new Java class.
> +# ------- NewClassWizardPage -------
>
> -NewClassWizardPage.methods.label=Which method stubs would you like to
> create?
> -NewClassWizardPage.methods.main=public static void main(Strin&g[] args)
> -NewClassWizardPage.methods.constructors=&Constructors from superclass
> -NewClassWizardPage.methods.inherited=In&herited abstract methods
> +# these are UNUSED by the CDT
> +# NewClassWizardPage.title=Java Class
> +# NewClassWizardPage.description=Create a new Java class.
> +# NewClassWizardPage.methods.label=Which method stubs would you like to
> create?
> +# NewClassWizardPage.methods.main=public static void main(Strin&g[] args)
> +# NewClassWizardPage.methods.constructors=&Constructors from superclass
> +# NewClassWizardPage.methods.inherited=In&herited abstract methods
>
>
> # ------- NewInterfaceWizardPage -------
> Index: src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java
> ===================================================================
> RCS file:
> /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java,v
> retrieving revision 1.13
> diff -u -r1.13 NewClassWizardPage.java
> --- src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java              
>   26 Feb 2004 19:30:35 -0000                 1.13
> +++ src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java              
>   7 Apr 2004 16:27:19 -0000
> @@ -15,28 +15,30 @@
> import java.io.InputStream;
> import java.lang.reflect.InvocationTargetException;
> import java.text.MessageFormat;
> -import java.util.Iterator;
> -import java.util.LinkedList;
> +import java.util.ArrayList;
> +import java.util.Arrays;
> +import java.util.Collection;
> +import java.util.Comparator;
> import java.util.List;
>
> import org.eclipse.cdt.core.CConventions;
> +import org.eclipse.cdt.core.browser.AllTypesCache;
> +import org.eclipse.cdt.core.browser.ITypeInfo;
> +import org.eclipse.cdt.core.browser.TypeInfo;
> import org.eclipse.cdt.core.model.CModelException;
> import org.eclipse.cdt.core.model.CoreModel;
> import org.eclipse.cdt.core.model.ICElement;
> import org.eclipse.cdt.core.model.ICProject;
> import org.eclipse.cdt.core.model.IOpenable;
> -import org.eclipse.cdt.core.model.IParent;
> import org.eclipse.cdt.core.model.IStructure;
> import org.eclipse.cdt.core.model.ITranslationUnit;
> import org.eclipse.cdt.core.model.IWorkingCopy;
> -import org.eclipse.cdt.core.search.BasicSearchMatch;
> -import org.eclipse.cdt.core.search.BasicSearchResultCollector;
> -import org.eclipse.cdt.core.search.ICSearchConstants;
> -import org.eclipse.cdt.core.search.ICSearchPattern;
> import org.eclipse.cdt.core.search.ICSearchScope;
> import org.eclipse.cdt.core.search.SearchEngine;
> import org.eclipse.cdt.internal.ui.dialogs.StatusInfo;
> import org.eclipse.cdt.internal.ui.dialogs.StatusUtil;
> +import org.eclipse.cdt.internal.ui.util.ExceptionHandler;
> +import org.eclipse.cdt.internal.ui.wizards.*;
> import org.eclipse.cdt.internal.ui.wizards.NewWizardMessages;
> import org.eclipse.cdt.internal.ui.wizards.dialogfields.DialogField;
> import
> org.eclipse.cdt.internal.ui.wizards.dialogfields.IDialogFieldListener;
> @@ -49,7 +51,6 @@
> import org.eclipse.cdt.internal.ui.wizards.dialogfields.Separator;
> import
> org.eclipse.cdt.internal.ui.wizards.dialogfields.StringButtonDialogField;
> import org.eclipse.cdt.internal.ui.wizards.dialogfields.StringDialogField;
> -import org.eclipse.cdt.ui.CSearchResultLabelProvider;
> import org.eclipse.cdt.ui.CUIPlugin;
> import org.eclipse.cdt.ui.CodeGeneration;
> import org.eclipse.cdt.ui.PreferenceConstants;
> @@ -68,6 +69,7 @@
> import org.eclipse.core.runtime.Path;
> import org.eclipse.core.runtime.SubProgressMonitor;
> import org.eclipse.jface.dialogs.ErrorDialog;
> +import org.eclipse.jface.dialogs.IDialogConstants;
> import org.eclipse.jface.dialogs.MessageDialog;
> import org.eclipse.jface.operation.IRunnableWithProgress;
> import org.eclipse.jface.viewers.IStructuredSelection;
> @@ -81,7 +83,6 @@
> import org.eclipse.swt.widgets.Listener;
> import org.eclipse.ui.actions.WorkspaceModifyOperation;
> import org.eclipse.ui.dialogs.ContainerGenerator;
> -import org.eclipse.ui.dialogs.ElementListSelectionDialog;
> import org.eclipse.ui.internal.WorkbenchMessages;
> import org.eclipse.ui.internal.WorkbenchPlugin;
>
> @@ -111,7 +112,7 @@
>                  // the created class element
>                  private /*IStructure*/ ICElement createdClass = null;
>                  
> -                 private List elementsOfTypeClassInProject = null;
> +                 private ITypeInfo[] elementsOfTypeClassInProject = null;
>                  
>                  // Controls
>                  private StringDialogField fClassNameDialogField;
> @@ -129,8 +130,6 @@
>
>                  private boolean hasCppNature = false;
>                  
> -                 BasicSearchResultCollector  resultCollector;
> -                 SearchEngine searchEngine;
>
>                  // -------------------- Initialization ------------------
>                  public NewClassWizardPage(IStructuredSelection selection) {
> @@ -181,9 +180,6 @@
>
>                                   fClassNameStatus=  new StatusInfo();
>                                   fBaseClassStatus=  new StatusInfo();
> -
> -                                  resultCollector = new
> BasicSearchResultCollector ();
> -                                  searchEngine = new SearchEngine();  
>                                
>                  }
>                  
>                  public void init() {
> @@ -330,9 +326,9 @@
>                  
>                  private void classPageChangeControlPressed(DialogField
> field) {
>                                   if (field == fBaseClassDialogField) {
> -                                                   BasicSearchMatch
> element= (BasicSearchMatch)chooseBaseClass();
> -                                                   if (element != null) {
> -                                                                  
>  fBaseClassDialogField.setText(element.getName());
> +                                                   ITypeInfo info=
> chooseBaseClass();
> +                                                   if (info != null) {
> +                                                                  
>  fBaseClassDialogField.setText(info.getQualifiedName());
>                                                    }
>                                   }
>                  }
> @@ -398,8 +394,8 @@
>                  }
>                  
>                  private ICElement
> getSelectionCElement(IStructuredSelection sel) {
> -                                  if (!sel.isEmpty() && sel instanceof
> IStructuredSelection) {
> -                                                   List list=
> ((IStructuredSelection)sel).toList();
> +                                  if (!sel.isEmpty()) {
> +                                                   List list= sel.toList();
>                                                    if (list.size() == 1) {
>                                                                    
> Object element= list.get(0);
>                                                                     if
> (element instanceof ICElement) {
> @@ -411,8 +407,8 @@
>                  }
>
>                  private IResource
> getSelectionResourceElement(IStructuredSelection sel) {
> -                                  if (!sel.isEmpty() && sel instanceof
> IStructuredSelection) {
> -                                                   List list=
> ((IStructuredSelection)sel).toList();
> +                                  if (!sel.isEmpty()) {
> +                                                   List list= sel.toList();
>                                                    if (list.size() == 1) {
>                                                                    
> Object element= list.get(0);
>                                                                     if
> (element instanceof IResource) {
> @@ -428,90 +424,73 @@
>                                   return null;
>                  }
>                  
> -                 private void getChildrenOfTypeClass(IParent parent,
> List elementsFound, IProgressMonitor monitor, int worked){
> -                                  ICElement[] elements =
> parent.getChildren();
> -                                  monitor.worked( worked );
> -                                  
> -                                  for (int i = 0; i< elements.length; i++){
> -                                                   ICElement element =
> (ICElement)elements[i];
> -                                                  
> if(element.getElementType() == ICElement.C_CLASS){
> -                                                                  
>  elementsFound.add(element);
> -                                                   }
> -                                                   if(element
> instanceof IParent){
> -                                                                  
>  getChildrenOfTypeClass((IParent)element, elementsFound, monitor, worked+1);
> -                                                   }
> -                                  }
> -                 }
> -                
> -                 private void searchForClasses(ICProject cProject, List
> elementsFound, IProgressMonitor monitor, int worked){
> -                                  ICSearchPattern pattern =
> SearchEngine.createSearchPattern( "*", ICSearchConstants.CLASS,
> ICSearchConstants.DECLARATIONS, false ); //$NON-NLS-1$
> -                                  ICElement[] elements = new ICElement[1];
> -                                  elements[0] = cProject;
> -                                  ICSearchScope scope =
> SearchEngine.createCSearchScope(elements, true);
> -
> -                                  try {
> -                                                  
> searchEngine.search(CUIPlugin.getWorkspace(), pattern, scope,
> resultCollector, false);
> -                                  } catch (InterruptedException e) {
> -                                  }
> -                                
>  elementsFound.addAll(resultCollector.getSearchResults());
> -                 }
> -                
> -                 private List getClassElementsInProject(){
> -                                  return elementsOfTypeClassInProject;
> -                 }
> -                
> -                 private List findClassElementsInProject(){            
>                      
> +                 private ITypeInfo[] findClassElementsInProject(){    
>                              
>                                   if(eSelection == null){
> -                                                   return new
> LinkedList();                                                  
> +                                                   return null;
>                                   }
>
>                                   if(                
> elementsOfTypeClassInProject != null ){
>                                                    return
> elementsOfTypeClassInProject;
>                                   }
> -
> -                                  elementsOfTypeClassInProject = new
> LinkedList();                                  
> -                                  IRunnableWithProgress runnable= new
> IRunnableWithProgress() {
> -                                                   public void
> run(IProgressMonitor monitor) throws InvocationTargetException,
> InterruptedException {
> -                                                                    if
> (monitor == null) {
> -                                                                      
>               monitor= new NullProgressMonitor();
> -                                                                    }  
>                                                                  
> -                                                                  
>  monitor.beginTask(NewWizardMessages.getString("NewClassWizardPage.operations.getProjectClasses"),
> 5); //$NON-NLS-1$
> -                                                                    try{
> -                                                                      
>               ICProject cProject = eSelection.getCProject();
> -                                                                      
>               searchForClasses(cProject, elementsOfTypeClassInProject,
> monitor, 1);
> -                                                                      
>               //getChildrenOfTypeClass((IParent)cProject,
> elementsOfTypeClassInProject, monitor, 1);
> -                                                                      
>               monitor.worked(5);
> -                                                                    }
> finally{
> -                                                                      
>               monitor.done();
> +                                  
> +                                  ICProject cProject=
> eSelection.getCProject();
> +                                  ICElement[] elements= new ICElement[]
> { cProject };
> +                                  final ICSearchScope scope=
> SearchEngine.createCSearchScope(elements, true);
> +                                  final int[] kinds= {
> ICElement.C_CLASS, ICElement.C_STRUCT };
> +                                  final Collection typeList= new
> ArrayList();
> +
> +                                  if (AllTypesCache.isCacheUpToDate()) {
> +                                                   // run without
> progress monitor
> +                                                  
> AllTypesCache.getTypes(scope, kinds, null, typeList);
> +                                  } else {
> +                                                  
> IRunnableWithProgress runnable= new IRunnableWithProgress() {
> +                                                                  
>  public void run(IProgressMonitor monitor) throws
> InvocationTargetException, InterruptedException {
> +                                                                      
>               AllTypesCache.getTypes(scope, kinds, monitor, typeList);
> +                                                                      
>               if (monitor.isCanceled()) {
> +                                                                      
>                                throw new InterruptedException();
> +                                                                      
>               }
>                                                                     }
> +                                                   };
> +
> +                                                   try {
> +                                                                  
>  getContainer().run(true, true, runnable);
> +                                                   } catch
> (InvocationTargetException e) {
> +                                                                  
>  String title=
> NewWizardMessages.getString("NewClassWizardPage.getProjectClasses.exception.title");
> //$NON-NLS-1$
> +                                                                  
>  String message=
> NewWizardMessages.getString("NewClassWizardPage.getProjectClasses.exception.message");
> //$NON-NLS-1$
> +                                                                  
>  ExceptionHandler.handle(e, title, message);
> +                                                                  
>  return null;
> +                                                   } catch
> (InterruptedException e) {
> +                                                                    //
> cancelled by user
> +                                                                  
>  return null;
>                                                    }
> -                                  };
> +                                  }
>                                  
> -                                  try {
> -                                                  
> getWizard().getContainer().run(false, true, runnable);
> -                                  } catch (InvocationTargetException e)
> {                                                                    
> -                                  } catch (InterruptedException e) {
> -                                  }
> -                                  finally {
> +                                  if (typeList.isEmpty()) {
> +                                                   String title=
> NewWizardMessages.getString("NewClassWizardPage.getProjectClasses.noclasses.title");
> //$NON-NLS-1$
> +                                                   String message=
> NewWizardMessages.getString("NewClassWizardPage.getProjectClasses.noclasses.message");
> //$NON-NLS-1$
> +                                                  
> MessageDialog.openInformation(getShell(), title, message);
> +                                                  
> elementsOfTypeClassInProject= null;
> +                                  } else {
> +                                                  
> elementsOfTypeClassInProject= (ITypeInfo[]) typeList.toArray(new
> ITypeInfo[typeList.size()]);
> +                                                  
> Arrays.sort(elementsOfTypeClassInProject, TYPE_NAME_COMPARATOR);
>                                   }
> +
>                                   return elementsOfTypeClassInProject;  
>                                                                  
>                  }
>                  
> -                 protected Object chooseBaseClass(){
> -                                  // find the available classes in this
> project
> -                                  List elementsFound =
> findClassElementsInProject();
> -                                  
> -                                  ElementListSelectionDialog dialog =
> new ElementListSelectionDialog(getShell(), new
> CSearchResultLabelProvider());
> -                                
>  dialog.setTitle(NewWizardMessages.getString("BaseClassSelectionDialog.title"));
> //$NON-NLS-1$
> -                                
>  dialog.setMessage(NewWizardMessages.getString("BaseClassSelectionDialog.message"));
> //$NON-NLS-1$
> -                                
>  dialog.setElements(elementsFound.toArray());
> -                                  dialog.setFilter("*"); //$NON-NLS-1$
> -                                  
> -                                  if (dialog.open() ==
> ElementListSelectionDialog.OK) {
> -                                                   Object element=
> dialog.getFirstResult();
> -                                                   return element;
> -                                  }                                  
> -                                  return null;
> +                 protected ITypeInfo chooseBaseClass(){
> +                                  ITypeInfo[] elementsFound=
> findClassElementsInProject();
> +                                  if (elementsFound == null)
> +                                                   return null;
> +
> +                                  BaseClassSelectionDialog dialog= new
> BaseClassSelectionDialog(getShell());
> +                                  dialog.setElements(elementsFound);
> +
> +                                  int result= dialog.open();
> +                                  if (result != IDialogConstants.OK_ID)
> +                                                   return null;
> +                                  
> +                                  return
> (ITypeInfo)dialog.getFirstResult();
>                  }
>                  
>                  // ------------- getter methods for dialog controls
> -------------                                                    
> @@ -806,16 +785,24 @@
>                                   if((baseClassName != null) &&
> (baseClassName.length() > 0))
>                                   {
>                                                    extendingBase = true;
> -                                                   List classElements =
> findClassElementsInProject();
> -                                                   BasicSearchMatch
> baseClass = (BasicSearchMatch)findInList(baseClassName, null,
> classElements);
> +                                                  
> +                                                   ITypeInfo[]
> classElements = findClassElementsInProject();
> +                                                   ITypeInfo baseClass
> = findInList(baseClassName, null, classElements);
>
> -//                                                   if(baseClass != null){
> -//                                                                  
>  IPath baseClassFileLocation = baseClass.getLocation();
> -//                                                                  
>  IPath newFilePath = getContainerFullPath(linkedResourceGroupForHeader);
> -//                                                                  
>  baseClassFileName = baseClassName + HEADER_EXT;
> -//                                                   } else {
> +                                                   if (baseClass != null) {
> +                                                                  
>  IPath includePath= null;
> +                                                                    if
> (eSelection != null)
> +                                                                      
>               includePath=
> baseClass.resolveIncludePath(eSelection.getCProject());
> +                                                                    if
> (includePath == null)
> +                                                                      
>               includePath= baseClass.getLocation();
> +
> +                                                                    if
> (includePath != null)
> +                                                                      
>               baseClassFileName= includePath.toString();
> +                                                                    else
> +                                                                      
>               baseClassFileName= baseClass.getFileName();
> +                                                   } else {
>                                                                    
> baseClassFileName = baseClassName + HEADER_EXT;
> -//                                                   }
> +                                                   }
>                                   }
>                                  
>                                   if(isIncludeGuard()){
> @@ -923,7 +910,6 @@
>                                   text.append(lineDelimiter);          
>                                                          
>                                   return text.toString();
>                  }
> -                
>
>                  // ------ validation --------
>                  protected void doStatusUpdate() {
> @@ -983,7 +969,7 @@
>                                   }                                  
>
>                                   // must not exist
> -                                  List elementsFound =
> findClassElementsInProject();
> +                                  ITypeInfo[] elementsFound=
> findClassElementsInProject();
>                                   if(foundInList(getNewClassName(),
> getContainerPath(linkedResourceGroupForHeader), elementsFound)){
>                                                  
>  status.setWarning(NewWizardMessages.getString("NewClassWizardPage.error.ClassNameExists"));
> //$NON-NLS-1$
>                                   }
> @@ -1014,35 +1000,29 @@
>                                   }
>
>                                   // if class does not exist, give warning
> -                                  List elementsFound =
> findClassElementsInProject();
> +                                  ITypeInfo[] elementsFound =
> findClassElementsInProject();
>                                   if(!foundInList(baseClassName, null,
> elementsFound)){
>                                                  
>  status.setWarning(NewWizardMessages.getString("NewClassWizardPage.warning.BaseClassNotExists"));
> //$NON-NLS-1$
>                                   }
>                                   return status;                        
>          
>                  }
>                                  
> -                 private Object findInList(String name, IPath path,
> List elements){
> -                                  Iterator i = elements.iterator();
> -                                  while (i.hasNext()){
> -                                                   BasicSearchMatch
> element = (BasicSearchMatch)i.next();
> -                                                   if(path != null){
> -                                                                    //
> check both the name and the path
> -                                                                    if
> ((name.equals(element.getName())) &&
> (path.makeAbsolute().equals(element.getLocation())))
> -                                                                      
>               return element;

> -                                                   } else {
> -                                                                    //
> we don't care about the path
> -                                                                    if
> (name.equals(element.getName()))
> -                                                                      
>               return element;                                          
>                          
> -                                                   }
> -                                  }
> -                                  return null;
> +                 /**
> +                  * A comparator for simple type names
> +                  */
> +                 final static private Comparator TYPE_NAME_COMPARATOR=
> new Comparator() {
> +                                  public int compare(Object o1, Object
> o2) {
> +                                                   return
> ((ITypeInfo)o1).getName().compareTo(((ITypeInfo)o2).getName());
> +                                  }
> +                 };
> +                 private ITypeInfo findInList(String name, IPath path,
> ITypeInfo[] elements) {
> +                                  if (elements == null)
> +                                                   return null;
> +                                  return TypeInfo.findType(name, path,
> elements);
>                  }
>                  
> -                 private boolean foundInList(String name, IPath path,
> List elements){
> -                                  if(findInList(name, path, elements)
> != null)
> -                                                   return true;
> -                                  else
> -                                                   return false;
> +                 private boolean foundInList(String name, IPath path,
> ITypeInfo[] elements){
> +                                  return (findInList(name, path,
> elements) != null);
>                  }
>
> }
> Index: src/org/eclipse/cdt/internal/ui/wizards/BaseClassSelectionDialog.java
> ===================================================================
> RCS file:
> src/org/eclipse/cdt/internal/ui/wizards/BaseClassSelectionDialog.java
> diff -N
> src/org/eclipse/cdt/internal/ui/wizards/BaseClassSelectionDialog.java
> --- /dev/null                 1 Jan 1970 00:00:00 -0000
> +++
> src/org/eclipse/cdt/internal/ui/wizards/BaseClassSelectionDialog.java  
>               1 Jan 1970 00:00:00 -0000
> @@ -0,0 +1,39 @@
> +/*******************************************************************************
> + * Copyright (c) 2004 IBM Corporation and others.
> + * All rights reserved. This program and the accompanying materials
> + * are made available under the terms of the Common Public License v1.0
> + * which accompanies this distribution, and is available at
> + * http://www.eclipse.org/legal/cpl-v10.html
> + *
> + * Contributors:
> + *     IBM Corporation - initial API and implementation
> + *     QNX Software Systems - adapted for use in CDT
> +
> *******************************************************************************/
> +package org.eclipse.cdt.internal.ui.wizards;
> +
> +import org.eclipse.cdt.core.model.ICElement;
> +import org.eclipse.cdt.ui.browser.typeinfo.TypeSelectionDialog;
> +import org.eclipse.swt.widgets.Shell;
> +
> +/**
> + * A dialog to select a type from a list of types. The selected type
> will be
> + * opened in the editor.
> + */
> +public class BaseClassSelectionDialog extends TypeSelectionDialog {
> +
> +                 private static final String DIALOG_SETTINGS=
> BaseClassSelectionDialog.class.getName();
> +                 private static final int[] fVisibleTypes=
> {ICElement.C_CLASS, ICElement.C_STRUCT};
> +
> +                 /**
> +                  * Constructs an instance of <code>OpenTypeDialog</code>.
> +                  * @param parent  the parent shell.
> +                  */
> +                 public BaseClassSelectionDialog(Shell parent) {
> +                                  super(parent);
> +                                
>  setTitle(NewWizardMessages.getString("BaseClassSelectionDialog.title"));
> //$NON-NLS-1$
> +                                
>  setMessage(NewWizardMessages.getString("BaseClassSelectionDialog.message"));
> //$NON-NLS-1$
> +                                  setMatchEmptyString(true);
> +                                  setDialogSettings(DIALOG_SETTINGS);
> +                                  setVisibleTypes(fVisibleTypes);
> +                 }
> +}
>
_______________________________________________
cdt-patch mailing list
cdt-patch@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-patch


Back to the top