VersionDiffBrowser.st
changeset 17349 2b493c7ccb5e
parent 17348 4b01dfe3fd4b
child 17350 9b2d4f4433cf
equal deleted inserted replaced
17348:4b01dfe3fd4b 17349:2b493c7ccb5e
   578                 )
   578                 )
   579                (MenuItem
   579                (MenuItem
   580                   label: '-'
   580                   label: '-'
   581                 )
   581                 )
   582                (MenuItem
   582                (MenuItem
       
   583                   label: 'Export Filter Settings'
       
   584                   itemValue: exportFilterParameters
       
   585                 )
       
   586                (MenuItem
       
   587                   label: 'Import Filter Settings From...'
       
   588                   itemValue: importFilterParameters
       
   589                 )
       
   590                (MenuItem
       
   591                   label: '-'
       
   592                 )
       
   593                (MenuItem
   583                   label: 'Forget Filter Named...'
   594                   label: 'Forget Filter Named...'
   584                   itemValue: forgetFilterNamed
   595                   itemValue: forgetFilterNamed
   585                 )
   596                 )
   586                (MenuItem
   597                (MenuItem
   587                   label: '-'
   598                   label: '-'
   595               nil
   606               nil
   596               nil
   607               nil
   597             )
   608             )
   598 
   609 
   599     "Created: / 05-02-2017 / 11:11:30 / cg"
   610     "Created: / 05-02-2017 / 11:11:30 / cg"
   600     "Modified: / 06-02-2017 / 09:09:25 / cg"
   611     "Modified: / 06-02-2017 / 09:27:22 / cg"
   601 !
   612 !
   602 
   613 
   603 mainMenu
   614 mainMenu
   604     "This resource specification was automatically generated
   615     "This resource specification was automatically generated
   605      by the MenuEditor of ST/X."
   616      by the MenuEditor of ST/X."
  2254                 (isIgnored3 value:change)
  2265                 (isIgnored3 value:change)
  2255                 or:[ 
  2266                 or:[ 
  2256                     filteredMethods contains:[:filter |
  2267                     filteredMethods contains:[:filter |
  2257                         |filterSelector filterClassName|
  2268                         |filterSelector filterClassName|
  2258 
  2269 
       
  2270                         "/ migration - will be always an assoc
  2259                         filter isAssociation ifTrue:[
  2271                         filter isAssociation ifTrue:[
  2260                             filterClassName := filter key.
  2272                             filterClassName := filter key.
  2261                             filterSelector := filter value.
  2273                             filterSelector := filter value.
  2262                         ] ifFalse:[
  2274                         ] ifFalse:[
  2263                             filterClassName := filter className.
  2275                             filterClassName := filter className.
  2388     numIgnoredVersionMethods ~~ 0 ifTrue:[
  2400     numIgnoredVersionMethods ~~ 0 ifTrue:[
  2389         info := info , ('; %1 version methods ignored.' bindWith:numIgnoredVersionMethods).
  2401         info := info , ('; %1 version methods ignored.' bindWith:numIgnoredVersionMethods).
  2390     ].
  2402     ].
  2391     self information:info
  2403     self information:info
  2392 
  2404 
  2393     "Modified (format): / 06-02-2017 / 09:11:29 / cg"
  2405     "Modified (format): / 06-02-2017 / 09:21:20 / cg"
  2394 !
  2406 !
  2395 
  2407 
  2396 updateVersionList
  2408 updateVersionList
  2397     "asks the classes source code manager for a list of revisions;
  2409     "asks the classes source code manager for a list of revisions;
  2398      construct versionInfoList (containing the full info), versionList (containing version numbers only)
  2410      construct versionInfoList (containing the full info), versionList (containing version numbers only)
  2709     ].
  2721     ].
  2710 ! !
  2722 ! !
  2711 
  2723 
  2712 !VersionDiffBrowser methodsFor:'menu action - filters'!
  2724 !VersionDiffBrowser methodsFor:'menu action - filters'!
  2713 
  2725 
  2714 filterClassInA
  2726 currentFilterParameters
  2715     "filter all changes for the selected change's class (don't show it)."
  2727     "get the current settings"
  2716 
       
  2717     filteredClasses isNil ifTrue:[
       
  2718         filteredClasses := Set new.
       
  2719     ].    
       
  2720     filteredClasses add:(self selectedChangeInA nonMetaClassName).
       
  2721     self filterChanged.
       
  2722 
       
  2723     "Created: / 05-02-2017 / 10:17:22 / cg"
       
  2724     "Modified: / 05-02-2017 / 11:19:05 / cg"
       
  2725     "Modified (comment): / 06-02-2017 / 09:13:23 / cg"
       
  2726 !
       
  2727 
       
  2728 filterClassInB
       
  2729     "filter all changes for the selected change's class (don't show it)."
       
  2730 
       
  2731     filteredClasses isNil ifTrue:[
       
  2732         filteredClasses := Set new.
       
  2733     ].    
       
  2734     filteredClasses add:(self selectedChangeInB nonMetaClassName).
       
  2735     self filterChanged.
       
  2736 
       
  2737     "Created: / 05-02-2017 / 10:16:45 / cg"
       
  2738     "Modified: / 05-02-2017 / 11:19:02 / cg"
       
  2739     "Modified (comment): / 06-02-2017 / 09:13:29 / cg"
       
  2740 !
       
  2741 
       
  2742 filterClassInM
       
  2743     "filter all changes for the selected change's class (don't show it)."
       
  2744 
       
  2745     filteredClasses isNil ifTrue:[
       
  2746         filteredClasses := Set new.
       
  2747     ].    
       
  2748     filteredClasses add:(self selectedChangesInM first nonMetaClassName).
       
  2749     self filterChanged.
       
  2750 
       
  2751     "Created: / 05-02-2017 / 10:38:06 / cg"
       
  2752     "Modified (comment): / 06-02-2017 / 09:13:33 / cg"
       
  2753 !
       
  2754 
       
  2755 filterClassesMatching
       
  2756     "ask for a GLOB pattern;
       
  2757      filter all changes with matching classnames ."
       
  2758 
       
  2759    |pattern|
       
  2760 
       
  2761     pattern := Dialog request:'Matchpattern for Classname Filter (will hide changes with matching classes):'.
       
  2762     pattern isEmptyOrNil ifTrue:[^ self].
       
  2763 
       
  2764     classPatternFilters isNil ifTrue:[
       
  2765         classPatternFilters := OrderedCollection new.
       
  2766     ].
       
  2767     classPatternFilters add:pattern.
       
  2768     self filterChanged
       
  2769 
       
  2770     "Created: / 05-02-2017 / 11:11:42 / cg"
       
  2771     "Modified: / 06-02-2017 / 09:18:15 / cg"
       
  2772 !
       
  2773 
       
  2774 filterMethod:aChange
       
  2775     "filter this change (don't show it)."
       
  2776 
       
  2777     filteredMethods isNil ifTrue:[
       
  2778         filteredMethods := Set new.
       
  2779     ]. 
       
  2780     aChange isMethodChange ifTrue:[
       
  2781         filteredMethods add:(aChange className -> aChange changeSelector).
       
  2782     ] ifFalse:[
       
  2783     ].
       
  2784     
       
  2785     self filterChanged.
       
  2786 
       
  2787     "Created: / 06-02-2017 / 08:58:17 / cg"
       
  2788 !
       
  2789 
       
  2790 filterMethodInA
       
  2791     "filter this entry (don't show it)."
       
  2792 
       
  2793     self filterMethod:(self selectedChangeInA)
       
  2794 
       
  2795     "Created: / 05-02-2017 / 10:11:48 / cg"
       
  2796     "Modified: / 06-02-2017 / 08:58:38 / cg"
       
  2797 !
       
  2798 
       
  2799 filterMethodInB
       
  2800     "filter this entry (don't show it)."
       
  2801 
       
  2802     self filterMethod:(self selectedChangeInB)
       
  2803 
       
  2804     "Created: / 05-02-2017 / 10:15:57 / cg"
       
  2805     "Modified: / 06-02-2017 / 08:58:46 / cg"
       
  2806 !
       
  2807 
       
  2808 filterMethodInM
       
  2809     "filter this entry (don't show it)."
       
  2810 
       
  2811     self filterMethod:(self selectedChangesInM first)
       
  2812 
       
  2813     "Created: / 05-02-2017 / 10:39:10 / cg"
       
  2814     "Modified: / 06-02-2017 / 08:58:59 / cg"
       
  2815 !
       
  2816 
       
  2817 filterSelectorFromA
       
  2818     "filter all changes for the selected change's selector(don't show it)."
       
  2819 
       
  2820     filteredSelectors isNil ifTrue:[
       
  2821         filteredSelectors := Set new.
       
  2822     ].    
       
  2823     filteredSelectors add:(self selectedChangeInA changeSelector).
       
  2824     self filterChanged.
       
  2825 
       
  2826     "Created: / 05-02-2017 / 10:36:08 / cg"
       
  2827     "Modified (comment): / 06-02-2017 / 09:13:48 / cg"
       
  2828 !
       
  2829 
       
  2830 filterSelectorFromB
       
  2831     "filter all changes for the selected change's selector(don't show it)."
       
  2832 
       
  2833     filteredSelectors isNil ifTrue:[
       
  2834         filteredSelectors := Set new.
       
  2835     ].    
       
  2836     filteredSelectors add:(self selectedChangeInB changeSelector).
       
  2837     self filterChanged.
       
  2838 
       
  2839     "Created: / 05-02-2017 / 10:36:14 / cg"
       
  2840     "Modified (comment): / 06-02-2017 / 09:13:52 / cg"
       
  2841 !
       
  2842 
       
  2843 filterSelectorFromM
       
  2844     "filter all changes for the selected change's selector(don't show it)."
       
  2845 
       
  2846     filteredSelectors isNil ifTrue:[
       
  2847         filteredSelectors := Set new.
       
  2848     ].    
       
  2849     filteredSelectors add:(self selectedChangesInM first changeSelector).
       
  2850     self filterChanged.
       
  2851 
       
  2852     "Created: / 05-02-2017 / 10:39:28 / cg"
       
  2853     "Modified (comment): / 06-02-2017 / 09:13:55 / cg"
       
  2854 !
       
  2855 
       
  2856 filterSelectorsMatching
       
  2857     "ask for a GLOB pattern;
       
  2858      filter all changes with matching selectors."
       
  2859 
       
  2860     |pattern|
       
  2861 
       
  2862     pattern := Dialog request:'Matchpattern for Selector Filter (will hide changes with matching selectors):'.
       
  2863     pattern isEmptyOrNil ifTrue:[^ self].
       
  2864 
       
  2865     selectorPatternFilters isNil ifTrue:[
       
  2866         selectorPatternFilters := OrderedCollection new.
       
  2867     ].
       
  2868     selectorPatternFilters add:pattern.
       
  2869     self filterChanged
       
  2870 
       
  2871     "Created: / 06-02-2017 / 02:29:07 / cg"
       
  2872     "Modified: / 06-02-2017 / 09:18:20 / cg"
       
  2873 !
       
  2874 
       
  2875 forgetFilterNamed
       
  2876     "forget a remembered named filter"
       
  2877     
       
  2878     |filterName|
       
  2879 
       
  2880     filterName := Dialog 
       
  2881                     request:'Forget Filter Named:' 
       
  2882                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2883     filterName isEmptyOrNil ifTrue:[^ self].
       
  2884 
       
  2885     (Dialog confirm:'Shure to Forget the Filter Named: ',filterName) ifFalse:[^ self].
       
  2886 
       
  2887     RememberedFilters removeKey:filterName.
       
  2888 
       
  2889     "Created: / 05-02-2017 / 11:12:08 / cg"
       
  2890     "Modified: / 06-02-2017 / 02:17:47 / cg"
       
  2891 !
       
  2892 
       
  2893 inspectFilterParameters
       
  2894     "inspect the current settings"
       
  2895     
  2728     
  2896     |filterParameters|
  2729     |filterParameters|
  2897 
  2730 
  2898     filterParameters := FilterParameters new.
  2731     "/ migration - will be removed
  2899     filterParameters filteredClassNameMatchPattern:classPatternFilters.
       
  2900     filterParameters filteredSelectorMatchPattern:selectorPatternFilters.
       
  2901     filterParameters filteredClassNames:filteredClasses.
       
  2902     filterParameters filteredMethodNames:filteredMethods.
       
  2903     filterParameters filteredSelectors:filteredSelectors.
       
  2904 
       
  2905     filterParameters inspect.
       
  2906 
       
  2907     "Created: / 06-02-2017 / 02:00:55 / cg"
       
  2908 !
       
  2909 
       
  2910 loadFilterNamed
       
  2911     "load a remembered named filter"
       
  2912     
       
  2913     |filterName filterParameters|
       
  2914 
       
  2915     filterName := Dialog 
       
  2916                     request:'Load Filter Named:' 
       
  2917                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2918     filterName isEmptyOrNil ifTrue:[^ self].
       
  2919 
       
  2920     filterParameters := RememberedFilters at:filterName.
       
  2921     
       
  2922     selectorPatternFilters := filterParameters filteredSelectorMatchPattern.
       
  2923     classPatternFilters := filterParameters filteredClassNameMatchPattern.
       
  2924     filteredClasses := filterParameters filteredClassNames.
       
  2925     filteredMethods := filterParameters filteredMethodNames.
       
  2926     filteredSelectors := filterParameters filteredSelectors.
       
  2927 
       
  2928     self filterChanged.
       
  2929 
       
  2930     "Created: / 06-02-2017 / 01:57:48 / cg"
       
  2931 !
       
  2932 
       
  2933 rememberFilterAs
       
  2934     "remember the current settings under a named filter"
       
  2935     
       
  2936     |filterName filterParameters|
       
  2937 
       
  2938     filterName := Dialog 
       
  2939                     request:'Name of Filter:'
       
  2940                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2941     filterName isEmptyOrNil ifTrue:[^ self].
       
  2942 
       
  2943     filteredMethods notEmptyOrNil ifTrue:[
  2732     filteredMethods notEmptyOrNil ifTrue:[
  2944         filteredMethods := filteredMethods
  2733         filteredMethods := filteredMethods
  2945                             collect:[:filter |
  2734                             collect:[:filter |
  2946                                 filter isAssociation ifTrue:[
  2735                                 filter isAssociation ifTrue:[
  2947                                     filter.
  2736                                     filter.
  2948                                 ] ifFalse:[
  2737                                 ] ifFalse:[
  2949                                     filter className ->filter changeSelector.
  2738                                     filter className ->filter changeSelector.
  2950                                 ].    
  2739                                 ].    
  2951                             ].        
  2740                             ].        
  2952     ].
  2741     ].
  2953     
  2742 
  2954     filterParameters := FilterParameters new.
  2743     filterParameters := FilterParameters new.
  2955     filterParameters filteredClassNameMatchPattern:classPatternFilters.
  2744     filterParameters filteredClassNameMatchPattern:classPatternFilters.
  2956     filterParameters filteredSelectorMatchPattern:selectorPatternFilters.
  2745     filterParameters filteredSelectorMatchPattern:selectorPatternFilters.
  2957     filterParameters filteredClassNames:filteredClasses.
  2746     filterParameters filteredClassNames:filteredClasses.
  2958     filterParameters filteredMethodNames:filteredMethods.
  2747     filterParameters filteredMethodNames:filteredMethods.
  2959     filterParameters filteredSelectors:filteredSelectors.
  2748     filterParameters filteredSelectors:filteredSelectors.
  2960 
  2749 
       
  2750     ^ filterParameters.
       
  2751 
       
  2752     "Created: / 06-02-2017 / 09:20:07 / cg"
       
  2753 !
       
  2754 
       
  2755 exportFilterParameters
       
  2756     "generate XML with the current settings
       
  2757      (to be pasted into Jabber for interchange)"
       
  2758     
       
  2759     |filterParameters|
       
  2760 
       
  2761     filterParameters := self currentFilterParameters.
       
  2762     Workspace 
       
  2763         openWith:(XMLStandardCoder encode:filterParameters)
       
  2764         title:'Current Filter'
       
  2765 
       
  2766     "Created: / 06-02-2017 / 09:19:52 / cg"
       
  2767 !
       
  2768 
       
  2769 filterClassInA
       
  2770     "filter all changes for the selected change's class (don't show it)."
       
  2771 
       
  2772     filteredClasses isNil ifTrue:[
       
  2773         filteredClasses := Set new.
       
  2774     ].    
       
  2775     filteredClasses add:(self selectedChangeInA nonMetaClassName).
       
  2776     self filterChanged.
       
  2777 
       
  2778     "Created: / 05-02-2017 / 10:17:22 / cg"
       
  2779     "Modified: / 05-02-2017 / 11:19:05 / cg"
       
  2780     "Modified (comment): / 06-02-2017 / 09:13:23 / cg"
       
  2781 !
       
  2782 
       
  2783 filterClassInB
       
  2784     "filter all changes for the selected change's class (don't show it)."
       
  2785 
       
  2786     filteredClasses isNil ifTrue:[
       
  2787         filteredClasses := Set new.
       
  2788     ].    
       
  2789     filteredClasses add:(self selectedChangeInB nonMetaClassName).
       
  2790     self filterChanged.
       
  2791 
       
  2792     "Created: / 05-02-2017 / 10:16:45 / cg"
       
  2793     "Modified: / 05-02-2017 / 11:19:02 / cg"
       
  2794     "Modified (comment): / 06-02-2017 / 09:13:29 / cg"
       
  2795 !
       
  2796 
       
  2797 filterClassInM
       
  2798     "filter all changes for the selected change's class (don't show it)."
       
  2799 
       
  2800     filteredClasses isNil ifTrue:[
       
  2801         filteredClasses := Set new.
       
  2802     ].    
       
  2803     filteredClasses add:(self selectedChangesInM first nonMetaClassName).
       
  2804     self filterChanged.
       
  2805 
       
  2806     "Created: / 05-02-2017 / 10:38:06 / cg"
       
  2807     "Modified (comment): / 06-02-2017 / 09:13:33 / cg"
       
  2808 !
       
  2809 
       
  2810 filterClassesMatching
       
  2811     "ask for a GLOB pattern;
       
  2812      filter all changes with matching classnames ."
       
  2813 
       
  2814    |pattern|
       
  2815 
       
  2816     pattern := Dialog request:'Matchpattern for Classname Filter (will hide changes with matching classes):'.
       
  2817     pattern isEmptyOrNil ifTrue:[^ self].
       
  2818 
       
  2819     classPatternFilters isNil ifTrue:[
       
  2820         classPatternFilters := OrderedCollection new.
       
  2821     ].
       
  2822     classPatternFilters add:pattern.
       
  2823     self filterChanged
       
  2824 
       
  2825     "Created: / 05-02-2017 / 11:11:42 / cg"
       
  2826     "Modified: / 06-02-2017 / 09:18:15 / cg"
       
  2827 !
       
  2828 
       
  2829 filterMethod:aChange
       
  2830     "filter this change (don't show it)."
       
  2831 
       
  2832     filteredMethods isNil ifTrue:[
       
  2833         filteredMethods := Set new.
       
  2834     ]. 
       
  2835     aChange isMethodChange ifTrue:[
       
  2836         filteredMethods add:(aChange className -> aChange changeSelector).
       
  2837     ] ifFalse:[
       
  2838     ].
       
  2839     
       
  2840     self filterChanged.
       
  2841 
       
  2842     "Created: / 06-02-2017 / 08:58:17 / cg"
       
  2843 !
       
  2844 
       
  2845 filterMethodInA
       
  2846     "filter this entry (don't show it)."
       
  2847 
       
  2848     self filterMethod:(self selectedChangeInA)
       
  2849 
       
  2850     "Created: / 05-02-2017 / 10:11:48 / cg"
       
  2851     "Modified: / 06-02-2017 / 08:58:38 / cg"
       
  2852 !
       
  2853 
       
  2854 filterMethodInB
       
  2855     "filter this entry (don't show it)."
       
  2856 
       
  2857     self filterMethod:(self selectedChangeInB)
       
  2858 
       
  2859     "Created: / 05-02-2017 / 10:15:57 / cg"
       
  2860     "Modified: / 06-02-2017 / 08:58:46 / cg"
       
  2861 !
       
  2862 
       
  2863 filterMethodInM
       
  2864     "filter this entry (don't show it)."
       
  2865 
       
  2866     self filterMethod:(self selectedChangesInM first)
       
  2867 
       
  2868     "Created: / 05-02-2017 / 10:39:10 / cg"
       
  2869     "Modified: / 06-02-2017 / 08:58:59 / cg"
       
  2870 !
       
  2871 
       
  2872 filterSelectorFromA
       
  2873     "filter all changes for the selected change's selector(don't show it)."
       
  2874 
       
  2875     filteredSelectors isNil ifTrue:[
       
  2876         filteredSelectors := Set new.
       
  2877     ].    
       
  2878     filteredSelectors add:(self selectedChangeInA changeSelector).
       
  2879     self filterChanged.
       
  2880 
       
  2881     "Created: / 05-02-2017 / 10:36:08 / cg"
       
  2882     "Modified (comment): / 06-02-2017 / 09:13:48 / cg"
       
  2883 !
       
  2884 
       
  2885 filterSelectorFromB
       
  2886     "filter all changes for the selected change's selector(don't show it)."
       
  2887 
       
  2888     filteredSelectors isNil ifTrue:[
       
  2889         filteredSelectors := Set new.
       
  2890     ].    
       
  2891     filteredSelectors add:(self selectedChangeInB changeSelector).
       
  2892     self filterChanged.
       
  2893 
       
  2894     "Created: / 05-02-2017 / 10:36:14 / cg"
       
  2895     "Modified (comment): / 06-02-2017 / 09:13:52 / cg"
       
  2896 !
       
  2897 
       
  2898 filterSelectorFromM
       
  2899     "filter all changes for the selected change's selector(don't show it)."
       
  2900 
       
  2901     filteredSelectors isNil ifTrue:[
       
  2902         filteredSelectors := Set new.
       
  2903     ].    
       
  2904     filteredSelectors add:(self selectedChangesInM first changeSelector).
       
  2905     self filterChanged.
       
  2906 
       
  2907     "Created: / 05-02-2017 / 10:39:28 / cg"
       
  2908     "Modified (comment): / 06-02-2017 / 09:13:55 / cg"
       
  2909 !
       
  2910 
       
  2911 filterSelectorsMatching
       
  2912     "ask for a GLOB pattern;
       
  2913      filter all changes with matching selectors."
       
  2914 
       
  2915     |pattern|
       
  2916 
       
  2917     pattern := Dialog request:'Matchpattern for Selector Filter (will hide changes with matching selectors):'.
       
  2918     pattern isEmptyOrNil ifTrue:[^ self].
       
  2919 
       
  2920     selectorPatternFilters isNil ifTrue:[
       
  2921         selectorPatternFilters := OrderedCollection new.
       
  2922     ].
       
  2923     selectorPatternFilters add:pattern.
       
  2924     self filterChanged
       
  2925 
       
  2926     "Created: / 06-02-2017 / 02:29:07 / cg"
       
  2927     "Modified: / 06-02-2017 / 09:18:20 / cg"
       
  2928 !
       
  2929 
       
  2930 forgetFilterNamed
       
  2931     "forget a remembered named filter"
       
  2932     
       
  2933     |filterName|
       
  2934 
       
  2935     filterName := Dialog 
       
  2936                     request:'Forget Filter Named:' 
       
  2937                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2938     filterName isEmptyOrNil ifTrue:[^ self].
       
  2939 
       
  2940     (Dialog confirm:'Shure to Forget the Filter Named: ',filterName) ifFalse:[^ self].
       
  2941 
       
  2942     RememberedFilters removeKey:filterName.
       
  2943 
       
  2944     "Created: / 05-02-2017 / 11:12:08 / cg"
       
  2945     "Modified: / 06-02-2017 / 02:17:47 / cg"
       
  2946 !
       
  2947 
       
  2948 importFilterParameters
       
  2949     "ask for XML representation as exported previously.
       
  2950      (to be pasted from Jabber for interchange)"
       
  2951     
       
  2952     |xml filterParameters|
       
  2953 
       
  2954     xml := Dialog requestText:'Paste XML Exported Filter Here and Accept'.
       
  2955     xml isEmptyOrNil ifTrue:[^ self].
       
  2956 
       
  2957     filterParameters := XMLStandardCoder decode:xml.
       
  2958     (filterParameters isKindOf:FilterParameters) ifTrue:[
       
  2959         self setFilterParameters:filterParameters
       
  2960     ].
       
  2961 
       
  2962     "Created: / 06-02-2017 / 09:51:11 / cg"
       
  2963 !
       
  2964 
       
  2965 inspectFilterParameters
       
  2966     "inspect the current settings"
       
  2967     
       
  2968     self currentFilterParameters inspect.
       
  2969 
       
  2970     "Created: / 06-02-2017 / 02:00:55 / cg"
       
  2971     "Modified: / 06-02-2017 / 09:20:15 / cg"
       
  2972 !
       
  2973 
       
  2974 loadFilterNamed
       
  2975     "load a remembered named filter"
       
  2976     
       
  2977     |filterName filterParameters|
       
  2978 
       
  2979     filterName := Dialog 
       
  2980                     request:'Load Filter Named:' 
       
  2981                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2982     filterName isEmptyOrNil ifTrue:[^ self].
       
  2983 
       
  2984     filterParameters := RememberedFilters at:filterName.
       
  2985     self setFilterParameters:filterParameters.
       
  2986 
       
  2987     "Created: / 06-02-2017 / 01:57:48 / cg"
       
  2988     "Modified: / 06-02-2017 / 09:51:47 / cg"
       
  2989 !
       
  2990 
       
  2991 rememberFilterAs
       
  2992     "remember the current settings under a named filter"
       
  2993     
       
  2994     |filterName filterParameters|
       
  2995 
       
  2996     filterName := Dialog 
       
  2997                     request:'Name of Filter:'
       
  2998                     list:(RememberedFilters keys asNewOrderedCollection sort).
       
  2999     filterName isEmptyOrNil ifTrue:[^ self].
       
  3000 
       
  3001     filterParameters := self currentFilterParameters.
       
  3002 
  2961     RememberedFilters isNil ifTrue:[
  3003     RememberedFilters isNil ifTrue:[
  2962         RememberedFilters := Dictionary new.
  3004         RememberedFilters := Dictionary new.
  2963     ].
  3005     ].
  2964     RememberedFilters at:filterName put:filterParameters.
  3006     RememberedFilters at:filterName put:filterParameters.
  2965 
  3007 
  2966     "Modified: / 06-02-2017 / 09:06:45 / cg"
  3008     "Modified: / 06-02-2017 / 09:20:35 / cg"
       
  3009 !
       
  3010 
       
  3011 setFilterParameters:filterParameters
       
  3012     "setup from a remembered filter"
       
  3013     
       
  3014     selectorPatternFilters := filterParameters filteredSelectorMatchPattern.
       
  3015     classPatternFilters := filterParameters filteredClassNameMatchPattern.
       
  3016     filteredClasses := filterParameters filteredClassNames.
       
  3017     filteredMethods := filterParameters filteredMethodNames.
       
  3018     filteredSelectors := filterParameters filteredSelectors.
       
  3019 
       
  3020     self filterChanged.
       
  3021 
       
  3022     "Created: / 06-02-2017 / 09:51:37 / cg"
  2967 ! !
  3023 ! !
  2968 
  3024 
  2969 !VersionDiffBrowser methodsFor:'private'!
  3025 !VersionDiffBrowser methodsFor:'private'!
  2970 
  3026 
  2971 addAcceptToTextViewMenus
  3027 addAcceptToTextViewMenus