Changeset 641

Show
Ignore:
Timestamp:
08/17/07 13:26:40 (1 year ago)
Author:
asterite
Message:

Folding options more specific (still they need to be more specific).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/descent.ui/src/descent/internal/ui/text/folding/DefaultJavaFoldingPreferenceBlock.java

    r194 r641  
    6666        ArrayList overlayKeys= new ArrayList(); 
    6767 
    68         overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_JAVADOC)); 
    69         overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_INNERTYPES)); 
     68        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_DDOC)); 
     69        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_TYPES)); 
    7070        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_METHODS)); 
    7171        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_IMPORTS)); 
    7272        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_HEADERS)); 
     73        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_VERSION_DEBUG)); 
     74        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_INVARIANTS)); 
     75        overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, PreferenceConstants.EDITOR_FOLDING_UNITTESTS)); 
    7376 
    7477        return (OverlayKey[]) overlayKeys.toArray(new OverlayKey[overlayKeys.size()]); 
     
    9194        label.setText(FoldingMessages.DefaultJavaFoldingPreferenceBlock_title); 
    9295 
    93         addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_comments, PreferenceConstants.EDITOR_FOLDING_JAVADOC, 0); 
     96        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_comments, PreferenceConstants.EDITOR_FOLDING_DDOC, 0); 
    9497        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_headers, PreferenceConstants.EDITOR_FOLDING_HEADERS, 0); 
    95         addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_innerTypes, PreferenceConstants.EDITOR_FOLDING_INNERTYPES, 0); 
     98        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_innerTypes, PreferenceConstants.EDITOR_FOLDING_TYPES, 0); 
    9699        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_methods, PreferenceConstants.EDITOR_FOLDING_METHODS, 0); 
     100        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_version_debug, PreferenceConstants.EDITOR_FOLDING_VERSION_DEBUG, 0); 
     101        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_invariants, PreferenceConstants.EDITOR_FOLDING_INVARIANTS, 0); 
     102        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_unittests, PreferenceConstants.EDITOR_FOLDING_UNITTESTS, 0); 
    97103        addCheckBox(inner, FoldingMessages.DefaultJavaFoldingPreferenceBlock_imports, PreferenceConstants.EDITOR_FOLDING_IMPORTS, 0); 
    98104 
  • trunk/descent.ui/src/descent/internal/ui/text/folding/FoldingMessages.java

    r177 r641  
    3030    public static String DefaultJavaFoldingPreferenceBlock_imports; 
    3131    public static String DefaultJavaFoldingPreferenceBlock_headers; 
     32    public static String DefaultJavaFoldingPreferenceBlock_version_debug; 
     33    public static String DefaultJavaFoldingPreferenceBlock_invariants; 
     34    public static String DefaultJavaFoldingPreferenceBlock_unittests; 
    3235    public static String EmptyJavaFoldingPreferenceBlock_emptyCaption; 
    3336    public static String JavaFoldingStructureProviderRegistry_warning_providerNotFound_resetToDefault; 
  • trunk/descent.ui/src/descent/internal/ui/text/folding/FoldingMessages.properties

    r209 r641  
    1313DefaultJavaFoldingPreferenceBlock_title= Initially fold these elements: 
    1414DefaultJavaFoldingPreferenceBlock_comments= &Comments 
    15 DefaultJavaFoldingPreferenceBlock_innerTypes= Inner &types 
     15DefaultJavaFoldingPreferenceBlock_innerTypes= &Types 
    1616DefaultJavaFoldingPreferenceBlock_methods= &Members 
     17DefaultJavaFoldingPreferenceBlock_version_debug= &Version/Debug declarations 
     18DefaultJavaFoldingPreferenceBlock_invariants= &Invariants 
     19DefaultJavaFoldingPreferenceBlock_unittests= &Unit tests 
    1720DefaultJavaFoldingPreferenceBlock_imports= &Imports 
    1821DefaultJavaFoldingPreferenceBlock_headers= &Module Comments 
  • trunk/descent.ui/src/descent/ui/PreferenceConstants.java

    r632 r641  
    32623262     
    32633263    /** 
    3264      * A named preference that stores the value for Javadoc folding for the default folding provider. 
    3265      * <p> 
    3266      * Value is of type <code>Boolean</code>. 
    3267      * </p> 
    3268      *  
    3269      * @since 3.0 
    3270      */ 
    3271     public static final String EDITOR_FOLDING_JAVADOC= "editor_folding_default_javadoc"; //$NON-NLS-1$ 
    3272  
    3273     /** 
    3274      * A named preference that stores the value for inner type folding for the default folding provider. 
    3275      * <p> 
    3276      * Value is of type <code>Boolean</code>. 
    3277      * </p> 
    3278      *  
    3279      * @since 3.0 
    3280      */ 
    3281     public static final String EDITOR_FOLDING_INNERTYPES= "editor_folding_default_innertypes"; //$NON-NLS-1$ 
     3264     * A named preference that stores the value for Ddoc folding for the default folding provider. 
     3265     * <p> 
     3266     * Value is of type <code>Boolean</code>. 
     3267     * </p> 
     3268     *  
     3269     * @since 3.0 
     3270     */ 
     3271    public static final String EDITOR_FOLDING_DDOC= "editor_folding_default_javadoc"; //$NON-NLS-1$ 
     3272 
     3273    /** 
     3274     * A named preference that stores the value for type folding for the default folding provider. 
     3275     * <p> 
     3276     * Value is of type <code>Boolean</code>. 
     3277     * </p> 
     3278     *  
     3279     * @since 3.0 
     3280     */ 
     3281    public static final String EDITOR_FOLDING_TYPES= "editor_folding_default_innertypes"; //$NON-NLS-1$ 
    32823282 
    32833283    /** 
     
    33003300     */ 
    33013301    public static final String EDITOR_FOLDING_IMPORTS= "editor_folding_default_imports"; //$NON-NLS-1$ 
    3302  
     3302     
    33033303    /** 
    33043304     * A named preference that stores the value for header comment folding for the default folding provider. 
     
    33103310     */ 
    33113311    public static final String EDITOR_FOLDING_HEADERS= "editor_folding_default_headers"; //$NON-NLS-1$ 
     3312     
     3313    /** 
     3314     * A named preference that stores the value for version/debug folding for the default folding provider. 
     3315     * <p> 
     3316     * Value is of type <code>Boolean</code>. 
     3317     * </p> 
     3318     *  
     3319     * @since 3.0 
     3320     */ 
     3321    public static final String EDITOR_FOLDING_VERSION_DEBUG= "editor_folding_default_version_debug"; //$NON-NLS-1$ 
     3322     
     3323    /** 
     3324     * A named preference that stores the value for invariant folding for the default folding provider. 
     3325     * <p> 
     3326     * Value is of type <code>Boolean</code>. 
     3327     * </p> 
     3328     *  
     3329     * @since 3.0 
     3330     */ 
     3331    public static final String EDITOR_FOLDING_INVARIANTS= "editor_folding_default_invariants"; //$NON-NLS-1$ 
     3332     
     3333    /** 
     3334     * A named preference that stores the value for unittest folding for the default folding provider. 
     3335     * <p> 
     3336     * Value is of type <code>Boolean</code>. 
     3337     * </p> 
     3338     *  
     3339     * @since 3.0 
     3340     */ 
     3341    public static final String EDITOR_FOLDING_UNITTESTS= "editor_folding_default_unittest"; //$NON-NLS-1$ 
    33123342 
    33133343 
     
    38663896        store.setDefault(PreferenceConstants.EDITOR_FOLDING_ENABLED, true); 
    38673897        store.setDefault(PreferenceConstants.EDITOR_FOLDING_PROVIDER, "descent.ui.text.defaultFoldingProvider"); //$NON-NLS-1$ 
    3868         store.setDefault(PreferenceConstants.EDITOR_FOLDING_JAVADOC, false); 
    3869         store.setDefault(PreferenceConstants.EDITOR_FOLDING_INNERTYPES, false); 
     3898        store.setDefault(PreferenceConstants.EDITOR_FOLDING_DDOC, false); 
     3899        store.setDefault(PreferenceConstants.EDITOR_FOLDING_TYPES, false); 
    38703900        store.setDefault(PreferenceConstants.EDITOR_FOLDING_METHODS, false); 
    38713901        store.setDefault(PreferenceConstants.EDITOR_FOLDING_IMPORTS, true); 
  • trunk/descent.ui/src/descent/ui/text/folding/DefaultJavaFoldingStructureProvider.java

    r194 r641  
    4444import descent.core.ICompilationUnit; 
    4545import descent.core.IElementChangedListener; 
     46import descent.core.IInitializer; 
    4647import descent.core.IJavaElement; 
    4748import descent.core.IJavaElementDelta; 
    4849import descent.core.IMember; 
     50import descent.core.IMethod; 
    4951import descent.core.IParent; 
    5052import descent.core.ISourceRange; 
     
    182184         * @return <code>true</code> if inner types should be collapsed 
    183185         */ 
    184         public boolean collapseInnerTypes() { 
    185             return fAllowCollapsing && fCollapseInnerTypes; 
     186        public boolean collapseTypes() { 
     187            return fAllowCollapsing && fCollapseTypes; 
    186188        } 
    187189 
     
    192194         */ 
    193195        public boolean collapseJavadoc() { 
    194             return fAllowCollapsing && fCollapseJavadoc; 
     196            return fAllowCollapsing && fCollapseDdoc; 
    195197        } 
    196198 
     
    202204        public boolean collapseMembers() { 
    203205            return fAllowCollapsing && fCollapseMembers; 
     206        } 
     207         
     208        /** 
     209         * Returns <code>true</code> if debug/version should be collapsed. 
     210         *  
     211         * @return <code>true</code> if debug/version should be collapsed 
     212         */ 
     213        public boolean collapseVersionDebug() { 
     214            return fAllowCollapsing && fCollapseVersionDebug; 
     215        } 
     216         
     217        /** 
     218         * Returns <code>true</code> if invariants should be collapsed. 
     219         *  
     220         * @return <code>true</code> if invariants should be collapsed 
     221         */ 
     222        public boolean collapseInvariants() { 
     223            return fAllowCollapsing && fCollapseInvariants; 
     224        } 
     225         
     226        /** 
     227         * Returns <code>true</code> if unittests should be collapsed. 
     228         *  
     229         * @return <code>true</code> if unittests should be collapsed 
     230         */ 
     231        public boolean collapseUnittests() { 
     232            return fAllowCollapsing && fCollapseUnittests; 
    204233        } 
    205234    } 
     
    612641 
    613642    /* preferences */ 
    614     private boolean fCollapseJavadoc= false; 
     643    private boolean fCollapseDdoc= false; 
    615644    private boolean fCollapseImportContainer= true; 
    616     private boolean fCollapseInnerTypes= true; 
     645    private boolean fCollapseTypes= true; 
    617646    private boolean fCollapseMembers= false; 
    618647    private boolean fCollapseHeaderComments= true; 
     648    private boolean fCollapseVersionDebug= true; 
     649    private boolean fCollapseInvariants= true; 
     650    private boolean fCollapseUnittests= true; 
    619651 
    620652    /* filters */ 
     
    765797    private void initializePreferences() { 
    766798        IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore(); 
    767         fCollapseInnerTypes= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_INNERTYPES); 
     799        fCollapseTypes= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_TYPES); 
    768800        fCollapseImportContainer= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_IMPORTS); 
    769         fCollapseJavadoc= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_JAVADOC); 
     801        fCollapseDdoc= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_DDOC); 
    770802        fCollapseMembers= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_METHODS); 
    771803        fCollapseHeaderComments= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_HEADERS); 
     804        fCollapseVersionDebug= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_VERSION_DEBUG); 
     805        fCollapseInvariants= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_INVARIANTS); 
     806        fCollapseUnittests= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_UNITTESTS); 
    772807    } 
    773808 
     
    905940            case IJavaElement.TYPE: 
    906941                // Changed to not only collapse inner types 
    907                 collapseCode= /*isInnerType((IType) element) && */ !isAnonymousEnum((IType) element); 
    908                 collapse= ctx.collapseInnerTypes() && collapseCode; 
     942                collapseCode= !isAnonymousEnum((IType) element); 
     943                collapse= ctx.collapseTypes() && collapseCode; 
    909944                break; 
    910945            case IJavaElement.METHOD: 
    911946            case IJavaElement.FIELD: 
     947                collapse= ctx.collapseMembers(); 
     948                break; 
    912949            case IJavaElement.INITIALIZER: 
    913                 collapse= ctx.collapseMembers(); 
     950                IInitializer init = (IInitializer) element; 
     951                try { 
     952                    if (init.isInvariant()) { 
     953                        collapse = ctx.collapseInvariants(); 
     954                    } else if (init.isUnitTest()) { 
     955                        collapse = ctx.collapseUnittests(); 
     956                    } else { 
     957                        collapse= ctx.collapseMembers(); 
     958                    } 
     959                } catch (JavaModelException e) { 
     960                    collapse= ctx.collapseMembers(); 
     961                } 
    914962                break; 
    915963            default: