class: Tools::NewSystemBrowser
added:
#hasClassOrMethodSelected
#hasClassOrMethodSelectedHolder
#updateToolBarButtonEnablement
changed:5 methods
category of:
lint checking methods in a methodlist
--- a/Tools__NewSystemBrowser.st Fri Jun 07 15:30:56 2013 +0200
+++ b/Tools__NewSystemBrowser.st Sun Jun 09 11:07:28 2013 +0200
@@ -472,13 +472,16 @@
the UIHelpTool may not be able to read the specification."
"
- UIHelpTool openOnClass:Tools::NewSystemBrowser
+ UIHelpTool openOnClass:Tools::NewSystemBrowser
"
<resource: #help>
^ super helpSpec addPairsFrom:#(
+#runLintOnClasses
+''
+
#runTestCases
''
@@ -17117,7 +17120,7 @@
<resource: #menu>
- ^
+ ^
#(Menu
(
(MenuItem
@@ -17252,12 +17255,12 @@
)
(MenuItem
activeHelpKey: runLintOnClasses
- enabled: hasClassSelectedHolder
+ enabled: hasClassOrMethodSelectedHolder
label: 'Run Static Analysis (Lint)'
itemValue: runLint
nameKey: RunLint
isButton: true
- submenu:
+ submenu:
(Menu
(
(MenuItem
@@ -20027,6 +20030,20 @@
^ self selectedClassNameInCodeViewOrNil notNil
!
+hasClassOrMethodSelected
+ ^ self selectedClassesValue size > 0
+ or:[ self selectedMethodsValue size > 0 ]
+!
+
+hasClassOrMethodSelectedHolder
+ |holder|
+
+ (holder := builder bindingAt:#hasClassOrMethodSelectedHolder) isNil ifTrue:[
+ builder aspectAt:#hasClassOrMethodSelectedHolder put:(holder := false asValue).
+ ].
+ ^ holder.
+!
+
hasClassSelected
^ self selectedClassesValue size > 0
@@ -22231,6 +22248,7 @@
"/ self delayedUpdateCode.
self setDoitActionForClass.
self enqueueDelayedUpdateCode.
+ self updateToolBarButtonEnablement.
"Modified: / 01-06-2012 / 23:01:52 / cg"
!
@@ -22275,7 +22293,7 @@
self hasInstrumentedMethodSelectedHolder value:(self hasInstrumentedMethodSelected).
"/ if showing history or log,
- "/ dont update codeView, as long as no protocol is selected
+ "/ don't update codeView, as long as no protocol is selected
((codeAspect := self codeAspect) == #repositoryLog
or:[codeAspect == #repositoryHistory]) ifTrue:[
self selectedMethodsValue size == 0 ifTrue:[
@@ -22286,6 +22304,7 @@
self enqueueDelayedUpdateCodeWithAutoSearch.
self hasSingleResourceMethodSelectedHolder value:(self hasSingleResourceMethodSelected).
self updateExecuteMethodVisibility.
+ self updateToolBarButtonEnablement.
self setDoitActionForClass.
"/ self showMethodInfo.
@@ -23273,6 +23292,10 @@
"Created: / 01-06-2012 / 23:01:35 / cg"
!
+updateToolBarButtonEnablement
+ self hasClassOrMethodSelectedHolder value:self hasClassOrMethodSelected.
+!
+
variableSelectionChanged
"variable selection changed by user interaction"
@@ -26717,50 +26740,53 @@
self assert:(#( #smalllintRulesAll #smalllintRulesFromUser #smalllintRules ) includes:ruleSetSymbol).
- rule := self perform:ruleSetSymbol asSymbol.
- rule isNil ifTrue:[ ^ self ].
-"/ cg: that is wrong implemented in RBxxxRule: isEmpty has two meanings:
-"/ for composite: has sub-rules
-"/ for non-composite: has a result
-"/ therefore, isEmpty returns true here, so we will be always asked twice!!
-
- rule isEmptyInTree ifTrue:[
- ruleSetSymbol ~~ #smalllintRulesFromUser ifTrue:[
- rule := self smalllintRulesFromUser.
- rule isNil ifTrue:[ ^ self ].
- ]
- ].
-
- runRules :=
- [
- |showResult|
-
- self smalllintRunRule:rule onEnvironment:anEnvironment.
- showResult := true.
- [rule notNil and:[rule isEmpty]] whileTrue:[
- (Dialog confirm:'Nothing special found.\\Proceed to select more/different lint rules.' withCRs) ifTrue:[
- rule := self smalllintRulesFromUser.
- rule notNil ifTrue:[
- self smalllintRunRule:rule onEnvironment:anEnvironment.
- ].
- ] ifFalse:[
- rule := nil
- ].
- ].
- rule notNil ifTrue:[
- self
- spawnSmalllintBrowserByRuleFor:rule
- in:#newBuffer
- label:'SmallLint results for ' , anEnvironment label
- ].
- ].
-
- "background operation (Jan's pref) makes it difficult to stop and debug...)"
- UserPreferences current runLintChecksInBackground ifTrue:[
- self showMessage:'Checking code...' whileExecutingBackgroundAction:runRules.
- ] ifFalse:[
- self withWaitCursorDo:runRules
- ].
+ self withWaitCursorDo:[
+ rule := self perform:ruleSetSymbol asSymbol.
+ rule isNil ifTrue:[ ^ self ].
+
+ "/ cg: that is wrong implemented in RBxxxRule: isEmpty has two meanings:
+ "/ for composite: has sub-rules
+ "/ for non-composite: has a result
+ "/ therefore, isEmpty returns true here, so we will be always asked twice!!
+
+ rule isEmptyInTree ifTrue:[
+ ruleSetSymbol ~~ #smalllintRulesFromUser ifTrue:[
+ rule := self smalllintRulesFromUser.
+ rule isNil ifTrue:[ ^ self ].
+ ]
+ ].
+
+ runRules :=
+ [
+ |showResult|
+
+ self smalllintRunRule:rule onEnvironment:anEnvironment.
+ showResult := true.
+ [rule notNil and:[rule isEmpty]] whileTrue:[
+ (Dialog confirm:'Nothing special found.\\Proceed to select more/different lint rules.' withCRs) ifTrue:[
+ rule := self smalllintRulesFromUser.
+ rule notNil ifTrue:[
+ self smalllintRunRule:rule onEnvironment:anEnvironment.
+ ].
+ ] ifFalse:[
+ rule := nil
+ ].
+ ].
+ rule notNil ifTrue:[
+ self
+ spawnSmalllintBrowserByRuleFor:rule
+ in:#newBuffer
+ label:'SmallLint results for ' , anEnvironment label
+ ].
+ ].
+
+ "background operation (Jan's pref) makes it difficult to stop and debug...)"
+ UserPreferences current runLintChecksInBackground ifTrue:[
+ self showMessage:'Checking code...' whileExecutingBackgroundAction:runRules.
+ ] ifFalse:[
+ runRules value
+ ].
+ ]
"Modified: / 15-12-2008 / 18:51:43 / Josef Grega <gregaj1@fel.cvut.cz>"
"Modified: / 28-12-2008 / 14:40:01 / bazantj <enter your email here>"
@@ -37305,7 +37331,6 @@
"Modified: / 28-02-2012 / 16:27:44 / cg"
! !
-
!NewSystemBrowser methodsFor:'menu actions-namespace'!
nameSpaceMenuCheckOut
@@ -58499,15 +58524,15 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1894 2013-06-07 12:22:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1895 2013-06-09 09:07:28 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1894 2013-06-07 12:22:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1895 2013-06-09 09:07:28 cg Exp $'
!
version_SVN
- ^ '$Id: Tools__NewSystemBrowser.st,v 1.1894 2013-06-07 12:22:45 cg Exp $'
+ ^ '$Id: Tools__NewSystemBrowser.st,v 1.1895 2013-06-09 09:07:28 cg Exp $'
! !