--- a/Tools__LintRuleList.st Wed May 04 18:56:24 2016 +0200
+++ b/Tools__LintRuleList.st Wed May 04 19:07:26 2016 +0200
@@ -192,13 +192,19 @@
#(Menu
(
(MenuItem
+ label: 'Run this Rule Again'
+ itemValue: runRuleAgain
+ )
+ (MenuItem
label: '-'
- isVisible: false
)
(MenuItem
- label: 'Inspect'
- itemValue: menuInspect
- translateLabel: true
+ label: 'Inspect Rule'
+ itemValue: menuInspectRule
+ )
+ (MenuItem
+ label: 'Browse Rule Class'
+ itemValue: menuBrowseRuleClass
)
)
nil
@@ -334,15 +340,25 @@
!
modeHolder
-
- modeHolder ifNil:
- [modeHolder := ValueHolder with: #display].
+ "the mode - can run in select or in display modes.
+ select is to choose a set of rules;
+ display for presentation of results (in a browser).
+ See documentation for details"
+
+ modeHolder isNil ifTrue:[
+ modeHolder := ValueHolder with: #display
+ ].
^modeHolder
"Modified: / 15-04-2010 / 20:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
modeHolder:aValueModel
+ "the mode - can run in select or in display modes.
+ select is to choose a set of rules;
+ display for presentation of results (in a browser).
+ See documentation for details"
+
modeHolder := aValueModel.
!
@@ -420,8 +436,9 @@
| itemIndex item |
- button ~= 1 ifTrue:[^aView buttonPress:button x:x y:y].
- self modeHolder value ~~ #select ifTrue:[^aView buttonPress:button x:x y:y].
+ (button == 1 and:[self modeHolder value == #select]) ifFalse:[
+ ^ aView buttonPress:button x:x y:y
+ ].
itemIndex := aView yVisibleToLineNr:y.
itemIndex isNil ifTrue:[^self].
@@ -492,9 +509,14 @@
| menu |
super initialize.
- menu := self menuFor: #menu.
- menu isArray ifTrue:[ menu := Menu decodeFromLiteralArray: menu ].
- menuHolder := ValueHolder with: menu.
+
+ menuHolder :=
+ [
+ menu := self menuFor: #menu.
+ menu isArray ifTrue:[ menu := Menu decodeFromLiteralArray: menu ].
+ menu
+ ].
+
"/ self selection: Set new.
"Modified: / 25-08-2010 / 15:24:45 / Jan Vrany <enter your email here>"
@@ -503,14 +525,30 @@
!LintRuleList methodsFor:'menu actions'!
-menuInspect
+menuBrowseRuleClass
+ | selection |
+ selection := self listSelection value.
+ selection size = 1 ifTrue:[selection anyOne rule class browse].
+ selection size > 1 ifTrue:[SystemBrowser
+ browseClasses:(selection collect:[:e|e rule class])
+ label:'Rule classes'].
+!
+
+menuInspectRule
| selection |
+
selection := self listSelection value.
selection size = 1 ifTrue:[selection anyOne rule inspect].
selection size > 1 ifTrue:[(selection collect:[:e|e rule]) inspect].
+!
- "Modified: / 25-08-2010 / 14:25:24 / Jan Vrany <enter your email here>"
+runRuleAgain
+ self selectedLintRules value do:[:eachRule |
+ eachRule run.
+ self updateList.
+ self updateOutputGenerator
+ ].
! !
!LintRuleList methodsFor:'private'!