Tools__LintRuleSelectionDialog.st
changeset 13877 73cac1625cc3
parent 13282 2e628ff0e590
child 14753 ed3aa84a71ed
equal deleted inserted replaced
13876:82a149c4e4cb 13877:73cac1625cc3
    26 "{ Package: 'stx:libtool' }"
    26 "{ Package: 'stx:libtool' }"
    27 
    27 
    28 "{ NameSpace: Tools }"
    28 "{ NameSpace: Tools }"
    29 
    29 
    30 SimpleDialog subclass:#LintRuleSelectionDialog
    30 SimpleDialog subclass:#LintRuleSelectionDialog
    31 	instanceVariableNames:'selectedRulesHolder selectionHolder variablePanel relativeCorners
    31 	instanceVariableNames:'selectionHolder variablePanel relativeCorners detailsShown
    32 		detailsShown listSelection'
    32 		listSelection rulesetList rulesetHolder rulesetNameList
       
    33 		rulesetNameHolder'
    33 	classVariableNames:''
    34 	classVariableNames:''
    34 	poolDictionaries:''
    35 	poolDictionaries:''
    35 	category:'Interface-Lint'
    36 	category:'Interface-Lint'
    36 !
    37 !
    37 
    38 
   125           bounds: (Rectangle 0 0 600 400)
   126           bounds: (Rectangle 0 0 600 400)
   126         )
   127         )
   127         component: 
   128         component: 
   128        (SpecCollection
   129        (SpecCollection
   129           collection: (
   130           collection: (
       
   131            (ComboListSpec
       
   132               name: 'ComboBox1'
       
   133               layout: (LayoutFrame 0 0 0 0 0 1 25 0)
       
   134               model: rulesetNameHolder
       
   135               acceptOnPointerLeave: false
       
   136               comboList: rulesetNameList
       
   137             )
   130            (VariableVerticalPanelSpec
   138            (VariableVerticalPanelSpec
   131               name: 'VariableVerticalPanel1'
   139               name: 'VariableVerticalPanel1'
   132               layout: (LayoutFrame 0 0 0 0 0 1 -30 1)
   140               layout: (LayoutFrame 0 0 30 0 0 1 -30 1)
   133               component: 
   141               component: 
   134              (SpecCollection
   142              (SpecCollection
   135                 collection: (
   143                 collection: (
   136                  (SubCanvasSpec
   144                  (SubCanvasSpec
   137                     name: 'RuleList'
   145                     name: 'RuleList'
   222            )
   230            )
   223          
   231          
   224         )
   232         )
   225       )
   233       )
   226 
   234 
   227     "Modified: / 01-03-2012 / 10:50:28 / cg"
   235     "Modified: / 27-02-2013 / 23:23:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   228 ! !
   236 ! !
   229 
   237 
   230 !LintRuleSelectionDialog methodsFor:'accessing'!
   238 !LintRuleSelectionDialog methodsFor:'accessing'!
   231 
   239 
       
   240 ruleset: ruleset
       
   241     self rulesetHolder value: ruleset
       
   242 
       
   243     "Created: / 27-02-2013 / 23:36:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   244 !
       
   245 
   232 selection
   246 selection
   233 
   247 
   234     ^self selectionHolder value
   248     ^self selectionHolder value
   235 
   249 
   236     "Created: / 25-08-2010 / 14:10:03 / Jan Vrany <enter your email here>"
   250     "Created: / 25-08-2010 / 14:10:03 / Jan Vrany <enter your email here>"
   243     "Created: / 25-08-2010 / 14:09:40 / Jan Vrany <enter your email here>"
   257     "Created: / 25-08-2010 / 14:09:40 / Jan Vrany <enter your email here>"
   244 !
   258 !
   245 
   259 
   246 selectionAsRule
   260 selectionAsRule
   247 
   261 
   248     ^RBCompositeLintRule rules: self selection name: 'Selected rules'
   262     self rulesetHolder value rules: self selection.
       
   263     ^self rulesetHolder value.
   249 
   264 
   250     "Created: / 25-08-2010 / 14:10:58 / Jan Vrany <enter your email here>"
   265     "Created: / 25-08-2010 / 14:10:58 / Jan Vrany <enter your email here>"
       
   266     "Modified: / 27-02-2013 / 23:40:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   251 ! !
   267 ! !
   252 
   268 
   253 !LintRuleSelectionDialog methodsFor:'actions'!
   269 !LintRuleSelectionDialog methodsFor:'actions'!
   254 
   270 
   255 hideResultView
   271 hideResultView
   309     ^[#select]
   325     ^[#select]
   310 
   326 
   311     "Created: / 15-04-2010 / 20:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   327     "Created: / 15-04-2010 / 20:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   312 !
   328 !
   313 
   329 
       
   330 rulesetHolder
       
   331     "return/create the 'rulesetHolder' value holder (automatically generated)"
       
   332 
       
   333     rulesetHolder isNil ifTrue:[
       
   334         rulesetHolder := ValueHolder new.
       
   335         rulesetHolder addDependent:self.
       
   336     ].
       
   337     ^ rulesetHolder
       
   338 !
       
   339 
       
   340 rulesetHolder:something
       
   341     "set the 'rulesetHolder' value holder (automatically generated)"
       
   342 
       
   343     |oldValue newValue|
       
   344 
       
   345     rulesetHolder notNil ifTrue:[
       
   346         oldValue := rulesetHolder value.
       
   347         rulesetHolder removeDependent:self.
       
   348     ].
       
   349     rulesetHolder := something.
       
   350     rulesetHolder notNil ifTrue:[
       
   351         rulesetHolder addDependent:self.
       
   352     ].
       
   353     newValue := rulesetHolder value.
       
   354     oldValue ~~ newValue ifTrue:[
       
   355         self update:#value with:newValue from:rulesetHolder.
       
   356     ].
       
   357 !
       
   358 
       
   359 rulesetList
       
   360     "return/create the 'rulesetList' value holder (automatically generated)"
       
   361 
       
   362     rulesetList isNil ifTrue:[
       
   363         rulesetList := RBCompositeLintRule rulesets asList.
       
   364         rulesetList addDependent:self.
       
   365     ].
       
   366     ^ rulesetList
       
   367 
       
   368     "Modified: / 27-02-2013 / 23:07:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   369 !
       
   370 
       
   371 rulesetList:something
       
   372     "set the 'rulesetList' value holder (automatically generated)"
       
   373 
       
   374     |oldValue newValue|
       
   375 
       
   376     rulesetList notNil ifTrue:[
       
   377         oldValue := rulesetList value.
       
   378         rulesetList removeDependent:self.
       
   379     ].
       
   380     rulesetList := something.
       
   381     rulesetList notNil ifTrue:[
       
   382         rulesetList addDependent:self.
       
   383     ].
       
   384     newValue := rulesetList value.
       
   385     oldValue ~~ newValue ifTrue:[
       
   386         self update:#value with:newValue from:rulesetList.
       
   387     ].
       
   388 !
       
   389 
       
   390 rulesetNameHolder
       
   391     "return/create the 'rulesetNameHolder' value holder (automatically generated)"
       
   392 
       
   393     rulesetNameHolder isNil ifTrue:[
       
   394         rulesetNameHolder := self rulesetHolder value name asValue.
       
   395         rulesetNameHolder addDependent:self.
       
   396     ].
       
   397     ^ rulesetNameHolder
       
   398 
       
   399     "Modified: / 27-02-2013 / 23:42:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   400 !
       
   401 
       
   402 rulesetNameHolder:something
       
   403     "set the 'rulesetNameHolder' value holder (automatically generated)"
       
   404 
       
   405     |oldValue newValue|
       
   406 
       
   407     rulesetNameHolder notNil ifTrue:[
       
   408         oldValue := rulesetNameHolder value.
       
   409         rulesetNameHolder removeDependent:self.
       
   410     ].
       
   411     rulesetNameHolder := something.
       
   412     rulesetNameHolder notNil ifTrue:[
       
   413         rulesetNameHolder addDependent:self.
       
   414     ].
       
   415     newValue := rulesetNameHolder value.
       
   416     oldValue ~~ newValue ifTrue:[
       
   417         self update:#value with:newValue from:rulesetNameHolder.
       
   418     ].
       
   419 !
       
   420 
       
   421 rulesetNameList
       
   422     "return/create the 'rulesetNameList' value holder (automatically generated)"
       
   423 
       
   424     rulesetNameList isNil ifTrue:[
       
   425         rulesetNameList := ValueHolder new.
       
   426     ].
       
   427     ^ rulesetNameList
       
   428 !
       
   429 
       
   430 rulesetNameList:something
       
   431     "set the 'rulesetNameList' value holder (automatically generated)"
       
   432 
       
   433     rulesetNameList := something.
       
   434 !
       
   435 
   314 selectionHolder
   436 selectionHolder
   315     "return/create the 'selectionHolder' value holder (automatically generated)"
   437     "return/create the 'selectionHolder' value holder (automatically generated)"
   316 
   438 
   317     selectionHolder isNil ifTrue:[
   439     selectionHolder isNil ifTrue:[
   318         selectionHolder := ValueHolder new.
   440         selectionHolder := ValueHolder new.
   327     variablePanel := aPanel.
   449     variablePanel := aPanel.
   328 
   450 
   329     "Created: / 24-07-2010 / 15:05:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   451     "Created: / 24-07-2010 / 15:05:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   330 ! !
   452 ! !
   331 
   453 
       
   454 !LintRuleSelectionDialog methodsFor:'change & update'!
       
   455 
       
   456 update:something with:aParameter from:changedObject
       
   457     "Invoked when an object that I depend upon sends a change notification."
       
   458 
       
   459     "stub code automatically generated - please change as required"
       
   460 
       
   461     changedObject == rulesetList ifTrue:[
       
   462         self updateRulesetNameList.
       
   463          ^ self.
       
   464     ].
       
   465     changedObject == rulesetHolder ifTrue:[
       
   466         self rulesetNameHolder value: self rulesetHolder value name.
       
   467         self selection: self rulesetHolder value flattened.
       
   468          ^ self.
       
   469     ].
       
   470     changedObject == rulesetNameHolder ifTrue:[
       
   471         self updateRulesetHolder.
       
   472          ^ self.
       
   473     ].
       
   474     super update:something with:aParameter from:changedObject
       
   475 
       
   476     "Modified: / 27-02-2013 / 23:27:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   477 !
       
   478 
       
   479 updateRulesetHolder
       
   480     | ruleset |    
       
   481 
       
   482     self rulesetHolder value name == self rulesetNameHolder value ifTrue:[
       
   483         ^self.
       
   484     ].
       
   485 
       
   486     (self rulesetNameList value notNil and:[self rulesetNameHolder value asString = self rulesetNameList value last asString]) ifTrue:[
       
   487         ruleset := RBCompositeLintRule new.
       
   488         ruleset name: ('New Rule Set ' , (self rulesetList size + 1) printString).
       
   489         self rulesetList add: ruleset.
       
   490         RBCompositeLintRule rulesets add: ruleset.
       
   491         self rulesetNameHolder value: ruleset name.
       
   492     ] ifFalse:[
       
   493         | idx |
       
   494         idx := self rulesetNameList value indexOf: self rulesetNameHolder value.
       
   495         ruleset := self rulesetList at: idx.
       
   496     ].
       
   497     self rulesetHolder value: ruleset.
       
   498 
       
   499     "Created: / 27-02-2013 / 23:15:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   500 !
       
   501 
       
   502 updateRulesetNameList
       
   503 
       
   504     self rulesetNameList value: 
       
   505         ((self rulesetList collect:[:e|e name])
       
   506             add: 'New Ruleset...' asText allItalic;
       
   507             yourself)
       
   508 
       
   509     "Created: / 27-02-2013 / 23:08:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   510 ! !
       
   511 
       
   512 !LintRuleSelectionDialog methodsFor:'hooks'!
       
   513 
       
   514 commonPostBuild
       
   515     self updateRulesetNameList.
       
   516 
       
   517     "Created: / 27-02-2013 / 23:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   518 ! !
       
   519 
   332 !LintRuleSelectionDialog class methodsFor:'documentation'!
   520 !LintRuleSelectionDialog class methodsFor:'documentation'!
   333 
   521 
   334 version
   522 version
   335     ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.5 2013-07-31 16:08:52 cg Exp $'
   523     ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.6 2014-02-05 19:08:58 cg Exp $'
   336 !
   524 !
   337 
   525 
   338 version_CVS
   526 version_CVS
   339     ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.5 2013-07-31 16:08:52 cg Exp $'
   527     ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSelectionDialog.st,v 1.6 2014-02-05 19:08:58 cg Exp $'
   340 !
   528 !
   341 
   529 
   342 version_SVN
   530 version_SVN
   343     ^ '$Id: Tools__LintRuleSelectionDialog.st,v 1.5 2013-07-31 16:08:52 cg Exp $'
   531     ^ '$Id: Tools__LintRuleSelectionDialog.st,v 1.6 2014-02-05 19:08:58 cg Exp $'
   344 ! !
   532 ! !
   345 
   533