--- a/Tools__LintRuleDetail.st Sat Jan 28 04:13:18 2017 +0100
+++ b/Tools__LintRuleDetail.st Sat Jan 28 12:01:57 2017 +0100
@@ -29,7 +29,7 @@
ApplicationModel subclass:#LintRuleDetail
instanceVariableNames:'ruleHolder rationaleVisibleHolder rationalView
- selectedMethodsHolder'
+ selectedMethodsHolder selectedClassesHolder'
classVariableNames:''
poolDictionaries:''
category:'Interface-Lint'
@@ -196,6 +196,7 @@
#ruleHolder
#ruleRationaleAspect
#selectedMethodsHolder
+ #selectedClassesHolder
).
"Modified: / 01-03-2012 / 16:31:04 / cg"
@@ -208,6 +209,7 @@
rule := self ruleHolder value.
rule isNil ifTrue:[^ self].
+
ruleClass := rule class.
(ruleClass implements:#rationale) ifTrue:[
sel := #rationale.
@@ -233,7 +235,7 @@
"Modified: / 01-03-2012 / 08:50:20 / cg"
!
-rationaleVisibleHolder:something
+rationaleVisibleHolder:aValueHolder
"set the 'rationaleVisibleHolder' value holder (automatically generated)"
|oldValue newValue|
@@ -242,7 +244,7 @@
oldValue := rationaleVisibleHolder value.
rationaleVisibleHolder removeDependent:self.
].
- rationaleVisibleHolder := something.
+ rationaleVisibleHolder := aValueHolder.
rationaleVisibleHolder notNil ifTrue:[
rationaleVisibleHolder addDependent:self.
].
@@ -263,7 +265,7 @@
"Modified: / 01-03-2012 / 08:51:03 / cg"
!
-ruleHolder:something
+ruleHolder:aValueHolder
"set the 'ruleHolder' value holder (automatically generated)"
|oldValue newValue|
@@ -272,7 +274,7 @@
oldValue := ruleHolder value.
ruleHolder removeDependent:self.
].
- ruleHolder := something.
+ ruleHolder := aValueHolder.
ruleHolder notNil ifTrue:[
ruleHolder addDependent:self.
].
@@ -323,6 +325,35 @@
"Modified: / 01-03-2012 / 15:29:16 / cg"
!
+selectedClassesHolder
+ "return/create the 'selectedClassesHolder' value holder (automatically generated)"
+
+ selectedClassesHolder isNil ifTrue:[
+ selectedClassesHolder := #() asValue.
+ selectedClassesHolder addDependent:self.
+ ].
+ ^ selectedClassesHolder
+!
+
+selectedClassesHolder:aValueHolder
+ "set the 'selectedClassesHolder' value holder (automatically generated)"
+
+ |oldValue newValue|
+
+ selectedClassesHolder notNil ifTrue:[
+ oldValue := selectedClassesHolder value.
+ selectedClassesHolder removeDependent:self.
+ ].
+ selectedClassesHolder := aValueHolder.
+ selectedClassesHolder notNil ifTrue:[
+ selectedClassesHolder addDependent:self.
+ ].
+ newValue := selectedClassesHolder value.
+ oldValue ~= newValue ifTrue:[
+ self update:#value with:newValue from:selectedClassesHolder.
+ ].
+!
+
selectedMethodsHolder
"return/create the 'selectedMethodsHolder' value holder (automatically generated)"
@@ -333,7 +364,7 @@
^ selectedMethodsHolder
!
-selectedMethodsHolder:something
+selectedMethodsHolder:aValueHolder
"set the 'selectedMethodsHolder' value holder (automatically generated)"
|oldValue newValue|
@@ -342,7 +373,7 @@
oldValue := selectedMethodsHolder value.
selectedMethodsHolder removeDependent:self.
].
- selectedMethodsHolder := something.
+ selectedMethodsHolder := aValueHolder.
selectedMethodsHolder notNil ifTrue:[
selectedMethodsHolder addDependent:self.
].
@@ -367,8 +398,17 @@
^ self.
].
changedObject == selectedMethodsHolder ifTrue:[
- "/ cg: preparations to show method-specific text in rationale/detail
- "/ view. Not yet done...
+ "/ cg: preparations to show method-specific text in rationale/detail view
+ "/ Not yet done...
+ self updateRule.
+ ^ self
+ ].
+
+ changedObject == selectedClassesHolder ifTrue:[
+ "/ cg: preparations to show class-specific text in rationale/detail view
+ "/ Not yet done...
+ self updateRule.
+ ^ self
].
super update:something with:aParameter from:changedObject
@@ -382,10 +422,23 @@
ruleRationaleAspect, because the ruleHolder maight be changed dynamically
via the aspect-linking mechanism"
- |rule|
+ |rule text|
+ text := ''.
+
rule := self ruleHolder value.
- self ruleRationaleAspect value: (rule isNil ifTrue:[''] ifFalse:[rule rationaleWithAnchor]).
+ rule notNil ifTrue:[
+ selectedMethodsHolder value size == 1 ifTrue:[
+ text := rule rationaleWithAnchorForMethod:(selectedMethodsHolder value first).
+ ] ifFalse:[
+ selectedClassesHolder value size == 1 ifTrue:[
+ text := rule rationaleWithAnchorForClass:(selectedClassesHolder value first).
+ ] ifFalse:[
+ text := rule rationaleWithAnchor.
+ ]
+ ]
+ ].
+ self ruleRationaleAspect value:text.
"Created: / 01-03-2012 / 15:28:18 / cg"
!