equal
deleted
inserted
replaced
871 |
871 |
872 ^ |
872 ^ |
873 #(Menu |
873 #(Menu |
874 ( |
874 ( |
875 (MenuItem |
875 (MenuItem |
876 activeHelpKey: file |
|
877 label: 'File' |
876 label: 'File' |
878 translateLabel: true |
877 translateLabel: true |
879 submenu: |
878 submenu: |
880 (Menu |
879 (Menu |
881 ( |
880 ( |
989 nil |
988 nil |
990 nil |
989 nil |
991 ) |
990 ) |
992 ) |
991 ) |
993 (MenuItem |
992 (MenuItem |
994 activeHelpKey: edit |
|
995 label: 'Delete' |
993 label: 'Delete' |
996 translateLabel: true |
994 translateLabel: true |
997 submenu: |
995 submenu: |
998 (Menu |
996 (Menu |
999 ( |
997 ( |
1056 nil |
1054 nil |
1057 nil |
1055 nil |
1058 ) |
1056 ) |
1059 ) |
1057 ) |
1060 (MenuItem |
1058 (MenuItem |
1061 activeHelpKey: test |
|
1062 label: 'Search' |
1059 label: 'Search' |
1063 translateLabel: true |
1060 translateLabel: true |
1064 submenu: |
1061 submenu: |
1065 (Menu |
1062 (Menu |
1066 ( |
1063 ( |
1092 nil |
1089 nil |
1093 nil |
1090 nil |
1094 ) |
1091 ) |
1095 ) |
1092 ) |
1096 (MenuItem |
1093 (MenuItem |
1097 activeHelpKey: test |
|
1098 label: 'Test' |
1094 label: 'Test' |
1099 translateLabel: true |
1095 translateLabel: true |
1100 submenu: |
1096 submenu: |
1101 (Menu |
1097 (Menu |
1102 ( |
1098 ( |
1111 nil |
1107 nil |
1112 nil |
1108 nil |
1113 ) |
1109 ) |
1114 ) |
1110 ) |
1115 (MenuItem |
1111 (MenuItem |
1116 activeHelpKey: settings |
|
1117 label: 'Settings' |
1112 label: 'Settings' |
1118 translateLabel: true |
1113 translateLabel: true |
1119 submenu: |
1114 submenu: |
1120 (Menu |
1115 (Menu |
1121 ( |
1116 ( |
1215 nil |
1210 nil |
1216 nil |
1211 nil |
1217 ) |
1212 ) |
1218 ) |
1213 ) |
1219 (MenuItem |
1214 (MenuItem |
1220 activeHelpKey: help |
|
1221 label: 'MENU_Help' |
1215 label: 'MENU_Help' |
1222 translateLabel: true |
1216 translateLabel: true |
1223 startGroup: conditionalRight |
1217 startGroup: conditionalRight |
1224 submenuChannel: menuHelp |
1218 submenuChannel: menuHelp |
1225 ) |
1219 ) |
2110 ] |
2104 ] |
2111 ]. |
2105 ]. |
2112 Processor addTimedBlock:autoUpdateBlock afterSeconds:5. |
2106 Processor addTimedBlock:autoUpdateBlock afterSeconds:5. |
2113 ! |
2107 ! |
2114 |
2108 |
|
2109 classNameAndClassFromNode:aTreeNode |
|
2110 |rcvr className changeClass| |
|
2111 |
|
2112 rcvr := aTreeNode receiver. |
|
2113 rcvr isUnaryMessage ifTrue:[ |
|
2114 self assert:(rcvr selector = 'class'). |
|
2115 |
|
2116 className := rcvr receiver name. |
|
2117 SourceCodeManagerError |
|
2118 handle:[:ex | ] |
|
2119 do:[ changeClass := (Smalltalk classNamed:className) class ]. |
|
2120 className := className , ' class'. |
|
2121 ^ className -> changeClass |
|
2122 ]. |
|
2123 |
|
2124 (rcvr type == #Nil) ifTrue:[ |
|
2125 ^ 'nil' -> nil |
|
2126 ]. |
|
2127 |
|
2128 className := rcvr name. |
|
2129 SourceCodeManagerError |
|
2130 handle:[:ex | ] |
|
2131 do:[ changeClass := Smalltalk classNamed:className ]. |
|
2132 ^ className -> changeClass |
|
2133 |
|
2134 "Created: / 18-08-2011 / 09:38:37 / cg" |
|
2135 ! |
|
2136 |
2115 classNameOfChange:aChange |
2137 classNameOfChange:aChange |
2116 "returns the classname of aChange |
2138 "returns the classname of aChange |
2117 (for classChanges (i.e. xxx class), the non-metaClassName (i.e. xxx) is returned)" |
2139 (for classChanges (i.e. xxx class), the non-metaClassName (i.e. xxx) is returned)" |
2118 |
2140 |
2119 |name| |
2141 |name| |
2703 |
2725 |
2704 readChangesFileInBackground:inBackground |
2726 readChangesFileInBackground:inBackground |
2705 "reads the changes file, creates a list of header-lines (changeChunks) |
2727 "reads the changes file, creates a list of header-lines (changeChunks) |
2706 and a list of chunk-positions (changePositions). |
2728 and a list of chunk-positions (changePositions). |
2707 Starting with 2.10.3, the entries are multi-col entries; |
2729 Starting with 2.10.3, the entries are multi-col entries; |
2708 the cols are: |
2730 the cols are: |
2709 1 delta (only if comparing) |
2731 1 delta (only if comparing) |
2710 '+' -> new method (w.r.t. current state) |
2732 '+' -> new method (w.r.t. current state) |
2711 '-' -> removed method (w.r.t. current state) |
2733 '-' -> removed method (w.r.t. current state) |
2712 '?' -> class does not exist currently |
2734 '?' -> class does not exist currently |
2713 '=' -> change is same as current methods source |
2735 '=' -> change is same as current methods source |
2764 |
2786 |
2765 excla := aStream class chunkSeparator. |
2787 excla := aStream class chunkSeparator. |
2766 |
2788 |
2767 [aStream atEnd] whileFalse:[ |
2789 [aStream atEnd] whileFalse:[ |
2768 |change changeDelta changeString changeType changeCategory |
2790 |change changeDelta changeString changeType changeCategory |
2769 line s l changeClass sawExcla category className selector |
2791 line s l classAndName changeClass sawExcla category className selector |
2770 chunkText chunkPos sel oldValue| |
2792 chunkText chunkPos sel oldValue| |
2771 |
2793 |
2772 change := Change new. |
2794 change := Change new. |
2773 " |
2795 " |
2774 get a chunk (separated by excla) |
2796 get a chunk (separated by excla) |
2855 and:[p ~~ #Error |
2877 and:[p ~~ #Error |
2856 and:[p isMessage]]) ifTrue:[ |
2878 and:[p isMessage]]) ifTrue:[ |
2857 sel := p selector. |
2879 sel := p selector. |
2858 ]. |
2880 ]. |
2859 (sel == #removeSelector:) ifTrue:[ |
2881 (sel == #removeSelector:) ifTrue:[ |
2860 p receiver isUnaryMessage ifTrue:[ |
2882 classAndName := self classNameAndClassFromNode:p. |
2861 cls := p receiver receiver name. |
2883 cls := classAndName key. changeClass := classAndName value. |
2862 changeClass := (Smalltalk classNamed:cls) class. |
|
2863 cls := cls , ' class'. |
|
2864 ] ifFalse:[ |
|
2865 cls := p receiver name. |
|
2866 changeClass := (Smalltalk classNamed:cls) |
|
2867 ]. |
|
2868 sel := (p args at:1) evaluate. |
2884 sel := (p args at:1) evaluate. |
2869 |
2885 |
2870 DeltaInfoColumn ifTrue:[ |
2886 DeltaInfoColumn ifTrue:[ |
2871 (changeClass isNil or:[changeClass isLoaded not]) ifTrue:[ |
2887 (changeClass isNil or:[changeClass isLoaded not]) ifTrue:[ |
2872 changeDelta := '?' |
2888 changeDelta := '?' |
2883 ]. |
2899 ]. |
2884 (p notNil and:[p ~~ #Error |
2900 (p notNil and:[p ~~ #Error |
2885 and:[p isMessage |
2901 and:[p isMessage |
2886 and:[p receiver isMessage |
2902 and:[p receiver isMessage |
2887 and:[p receiver selector == #compiledMethodAt:]]]]) ifTrue:[ |
2903 and:[p receiver selector == #compiledMethodAt:]]]]) ifTrue:[ |
2888 p receiver receiver isUnaryMessage ifTrue:[ |
2904 classAndName := self classNameAndClassFromNode:p receiver. |
2889 cls := p receiver receiver receiver name. |
2905 cls := classAndName key. changeClass := classAndName value. |
2890 changeClass := (Smalltalk classNamed:cls) class. |
|
2891 cls := cls , ' class'. |
|
2892 ] ifFalse:[ |
|
2893 cls := p receiver receiver name. |
|
2894 changeClass := (Smalltalk classNamed:cls) |
|
2895 ]. |
|
2896 (sel == #category:) ifTrue:[ |
2906 (sel == #category:) ifTrue:[ |
2897 sel := (p receiver args at:1) evaluate. |
2907 sel := (p receiver args at:1) evaluate. |
2898 changeType := '(category change)'. |
2908 changeType := '(category change)'. |
2899 changeString := self contractClass:cls selector:sel to:maxLen. |
2909 changeString := self contractClass:cls selector:sel to:maxLen. |
2900 ]. |
2910 ]. |
2934 p := Parser parseExpression:chunkText inNameSpace:Smalltalk. |
2944 p := Parser parseExpression:chunkText inNameSpace:Smalltalk. |
2935 |
2945 |
2936 (p notNil and:[p ~~ #Error]) ifTrue:[ |
2946 (p notNil and:[p ~~ #Error]) ifTrue:[ |
2937 sel := p selector. |
2947 sel := p selector. |
2938 (sel == #methodsFor:) ifTrue:[ |
2948 (sel == #methodsFor:) ifTrue:[ |
2939 p receiver isUnaryMessage ifTrue:[ |
2949 classAndName := self classNameAndClassFromNode:p. |
2940 className := p receiver receiver name. |
2950 className := classAndName key. changeClass := classAndName value. |
2941 changeClass := (Smalltalk classNamed:className) class. |
|
2942 className := className , ' class'. |
|
2943 ] ifFalse:[ |
|
2944 (p receiver type == #Nil) |
|
2945 ifTrue: |
|
2946 [className := 'nil'. |
|
2947 changeClass := nil] |
|
2948 ifFalse: |
|
2949 [className := p receiver name. |
|
2950 changeClass := Smalltalk classNamed:className] |
|
2951 ]. |
|
2952 category := (p args at:1) evaluate. |
2951 category := (p args at:1) evaluate. |
2953 ]. |
2952 ]. |
2954 ]. |
2953 ]. |
2955 |
2954 |
2956 done := false. |
2955 done := false. |
3008 change selector:sel. |
3007 change selector:sel. |
3009 ]. |
3008 ]. |
3010 |
3009 |
3011 DeltaInfoColumn ifTrue:[ |
3010 DeltaInfoColumn ifTrue:[ |
3012 changeClass isNil ifFalse:[ |
3011 changeClass isNil ifFalse:[ |
3013 changeClass isMeta ifTrue:[ |
3012 cls := changeClass theNonMetaclass |
3014 cls := changeClass soleInstance |
|
3015 ] ifFalse:[ |
|
3016 cls := changeClass |
|
3017 ]. |
|
3018 ]. |
3013 ]. |
3019 |
3014 |
3020 (changeClass isNil or:[cls isLoaded not]) ifTrue:[ |
3015 (changeClass isNil or:[cls isLoaded not]) ifTrue:[ |
3021 changeDelta := '?' |
3016 changeDelta := '?' |
3022 ] ifFalse:[ |
3017 ] ifFalse:[ |
3082 self filterField raise. |
3077 self filterField raise. |
3083 self filterLabel label: 'Filter:'. |
3078 self filterLabel label: 'Filter:'. |
3084 |
3079 |
3085 self checkIfFileHasChanged. |
3080 self checkIfFileHasChanged. |
3086 |
3081 |
3087 "Modified: / 30-07-1998 / 11:39:58 / cg" |
|
3088 "Modified: / 16-11-2010 / 15:52:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3082 "Modified: / 16-11-2010 / 15:52:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
3083 "Modified: / 18-08-2011 / 09:45:23 / cg" |
3089 ! |
3084 ! |
3090 |
3085 |
3091 selectorOfMethodChange:aChange |
3086 selectorOfMethodChange:aChange |
3092 "returns the selector of the method change, or nil if it is not a method change" |
3087 "returns the selector of the method change, or nil if it is not a method change" |
3093 |
3088 |
3885 ! ! |
3880 ! ! |
3886 |
3881 |
3887 !NewChangesBrowser class methodsFor:'documentation'! |
3882 !NewChangesBrowser class methodsFor:'documentation'! |
3888 |
3883 |
3889 version_CVS |
3884 version_CVS |
3890 ^ '$Header: /cvs/stx/stx/libtool/NewChangesBrowser.st,v 1.33 2011-07-07 13:22:36 vrany Exp $' |
3885 ^ '$Header: /cvs/stx/stx/libtool/NewChangesBrowser.st,v 1.34 2011-08-18 07:50:25 cg Exp $' |
3891 ! ! |
3886 ! ! |