Tools__LintRuleList.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 05 Oct 2022 11:57:26 +0100
branchjv
changeset 19637 28f5bfaa093d
parent 19631 7351a219f202
permissions -rw-r--r--
`NewSystemBrowser`: avoid updating package info when changed class is not selected This speeds up loading of packages when browser is open as it does not (needlessly) update package info which may involve scm round-trip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10096
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
     4
 Copyright (c) 2022 LabWare
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
10096
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     6
 Permission is hereby granted, free of charge, to any person
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     7
 obtaining a copy of this software and associated documentation
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     8
 files (the 'Software'), to deal in the Software without
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
     9
 restriction, including without limitation the rights to use,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    10
 copy, modify, merge, publish, distribute, sublicense, and/or sell
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    11
 copies of the Software, and to permit persons to whom the
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    12
 Software is furnished to do so, subject to the following
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    13
 conditions:
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    14
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    15
 The above copyright notice and this permission notice shall be
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    16
 included in all copies or substantial portions of the Software.
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    17
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    18
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    19
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    20
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    21
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    22
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    23
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    24
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    25
 OTHER DEALINGS IN THE SOFTWARE.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"{ Package: 'stx:libtool' }"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"{ NameSpace: Tools }"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
BrowserList subclass:#LintRuleList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	instanceVariableNames:'listHolder filterHolder modeHolder listSelection listView
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
		initialSelectionHolder'
14978
2adf70d02371 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14945
diff changeset
    34
	classVariableNames:'LastNameFilter'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	poolDictionaries:''
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	category:'Interface-Lint'
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
HierarchicalItem subclass:#ListEntry
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	instanceVariableNames:'x rule application'
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	classVariableNames:''
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	poolDictionaries:''
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	privateIn:LintRuleList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!LintRuleList class methodsFor:'documentation'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
copyright
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"
10096
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    50
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    51
 Copyright (c) 2009-2010 eXept Software AG
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
    52
 Copyright (c) 2022 LabWare
10096
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    53
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    54
 Permission is hereby granted, free of charge, to any person
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    55
 obtaining a copy of this software and associated documentation
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    56
 files (the 'Software'), to deal in the Software without
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    57
 restriction, including without limitation the rights to use,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    58
 copy, modify, merge, publish, distribute, sublicense, and/or sell
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    59
 copies of the Software, and to permit persons to whom the
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    60
 Software is furnished to do so, subject to the following
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    61
 conditions:
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
10096
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    63
 The above copyright notice and this permission notice shall be
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    64
 included in all copies or substantial portions of the Software.
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    65
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    66
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    67
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    68
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    69
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    70
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    71
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    72
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
981968819f1c changed: #copyright
Claus Gittinger <cg@exept.de>
parents: 10000
diff changeset
    73
 OTHER DEALINGS IN THE SOFTWARE.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
"
14754
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    75
!
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    76
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    77
documentation
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    78
"
17298
1ec039520653 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17009
diff changeset
    79
    Embeddable list to display a set of SmallLint rules.
1ec039520653 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17009
diff changeset
    80
    (this is embedded in the browser when showing lint check outcomes)
14754
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    81
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    82
    Supports 3 modes (controlled by modeHolder)
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    83
        #display            - only display given set of rules.
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    84
        #displaySelection   - display set of rules and indicate which one is selected
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    85
                              by check mark. Does NOT ALLOW to change selection
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    86
                              (add remove tools)
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    87
        #select             - display set of rules and DO ALLOW to change the selection
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    88
                              (add / remove rules) by clicking to check icon     
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    89
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    90
    [author:]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    91
        Jan Vrany <jan.vrany@fit.cvut.cz>
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    92
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    93
    [instance variables:]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    94
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    95
    [class variables:]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    96
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    97
    [see also:]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    98
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
    99
"
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   100
!
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   101
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   102
examples
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   103
"
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   104
  Starting the application:
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   105
                                                                [exBegin]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   106
    Tools::LintRuleList open
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   107
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   108
                                                                [exEnd]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   109
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   110
  more examples to be added:
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   111
                                                                [exBegin]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   112
    ... add code fragment for 
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   113
    ... executable example here ...
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   114
                                                                [exEnd]
7905f58cb037 Do now allow ruleset editing in ruleset selection dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14671
diff changeset
   115
"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!LintRuleList class methodsFor:'interface specs'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
windowSpec
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "This resource specification was automatically generated
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
     by the UIPainter of ST/X."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    "Do not manually edit this!! If it is corrupted,
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
     the UIPainter may not be able to read the specification."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    "
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
     UIPainter new openOnClass:Tools::LintRuleList andSelector:#windowSpec
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
     Tools::LintRuleList new openInterface:#windowSpec
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     Tools::LintRuleList open
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
    "
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
    <resource: #canvas>
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    ^ 
16589
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   136
    #(FullSpec
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   137
       name: windowSpec
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   138
       window: 
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   139
      (WindowSpec
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   140
         label: 'SmallLintRuleList'
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   141
         name: 'SmallLintRuleList'
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   142
         min: (Point 10 10)
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   143
         bounds: (Rectangle 0 0 300 300)
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   144
       )
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   145
       component: 
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   146
      (SpecCollection
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   147
         collection: (
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   148
          (InputFieldSpec
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   149
             name: 'RuleFilter'
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   150
             layout: (LayoutFrame 0 0 0 0 0 1 28 0)
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   151
             model: filterHolder
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   152
             immediateAccept: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   153
             acceptOnReturn: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   154
             acceptOnTab: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   155
             acceptOnPointerLeave: true
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   156
             emptyFieldReplacementText: 'Search pattern, prefix with # to match rule tags'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
           )
16589
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   158
          (SelectionInListModelViewSpec
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   159
             name: 'RuleList'
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   160
             layout: (LayoutFrame 0 0 28 0 0 1 0 1)
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   161
             model: listSelection
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   162
             menu: menuHolder
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   163
             hasHorizontalScrollBar: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   164
             hasVerticalScrollBar: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   165
             listModel: listHolder
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   166
             multipleSelectOk: true
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   167
             useIndex: false
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   168
             highlightMode: line
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   169
             postBuildCallback: postBuildList:
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   170
           )
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   171
          )
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   172
        
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   173
       )
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   174
     )
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   175
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   176
    "Modified: / 26-07-2022 / 11:47:26 / Jan Vrany <jan.vrany@labware.com>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
!LintRuleList class methodsFor:'menu specs'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
menu
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    "This resource specification was automatically generated
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
     by the MenuEditor of ST/X."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    "Do not manually edit this!! If it is corrupted,
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
     the MenuEditor may not be able to read the specification."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
11381
baba3049428c changed:
Claus Gittinger <cg@exept.de>
parents: 11317
diff changeset
   188
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
    "
11381
baba3049428c changed:
Claus Gittinger <cg@exept.de>
parents: 11317
diff changeset
   190
     MenuEditor new openOnClass:Tools::LintRuleList andSelector:#menu
baba3049428c changed:
Claus Gittinger <cg@exept.de>
parents: 11317
diff changeset
   191
     (Menu new fromLiteralArrayEncoding:(Tools::LintRuleList menu)) startUp
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
    <resource: #menu>
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
    ^ 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
     #(Menu
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
        (
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
         (MenuItem
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   200
            label: 'Run this Rule Again'
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   201
            itemValue: runRuleAgain
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   202
          )
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   203
         (MenuItem
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
            label: '-'
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
          )
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
         (MenuItem
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   207
            label: 'Inspect Rule'
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   208
            itemValue: menuInspectRule
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   209
          )
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   210
         (MenuItem
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   211
            label: 'Browse Rule Class'
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   212
            itemValue: menuBrowseRuleClass
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
          )
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
         )
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
        nil
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
        nil
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
      )
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
!LintRuleList class methodsFor:'plugIn spec'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
aspectSelectors
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
    "This resource specification was automatically generated
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
     by the UIPainter of ST/X."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    "Do not manually edit this. If it is corrupted,
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
     the UIPainter may not be able to read the specification."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    "Return a description of exported aspects;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
     these can be connected to aspects of an embedding application
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
     (if this app is embedded in a subCanvas)."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    ^ #(
16589
dd0be6051d87 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 16442
diff changeset
   234
        #environmentHolder
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
        #inGeneratorHolder
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   236
        #listSelection
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
        #modeHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
        #outGeneratorHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
        #selectionHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
      ).
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
!LintRuleList methodsFor:'accessing'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
mode
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    ^self modeHolder value
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    "Created: / 25-08-2010 / 11:33:51 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
selection
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
    | sel |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    sel := self selectionHolder value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
    sel ifNil:[sel := Set new].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    ^sel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
    "Created: / 25-08-2010 / 13:26:58 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
selection: aCollectionOrNil
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    | sel |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    sel := aCollectionOrNil 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
                ifNil:[Set new]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
                ifNotNil:[aCollectionOrNil asSet].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   270
    self selectionHolder value: sel.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    "Created: / 25-08-2010 / 13:28:43 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
    "Modified: / 25-08-2010 / 15:29:35 / Jan Vrany <enter your email here>"
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   274
    "Modified: / 27-02-2013 / 23:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
!LintRuleList methodsFor:'aspects'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
filterHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    "return/create the 'filterHolder' value holder (automatically generated)"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    filterHolder isNil ifTrue:[
14978
2adf70d02371 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14945
diff changeset
   283
        filterHolder := LastNameFilter asValue.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
        filterHolder addDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    ^ filterHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
filterHolder:something
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    "set the 'filterHolder' value holder (automatically generated)"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    |oldValue newValue|
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    filterHolder notNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
        oldValue := filterHolder value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
        filterHolder removeDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    filterHolder := something.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    filterHolder notNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
        filterHolder addDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    newValue := filterHolder value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
    oldValue ~~ newValue ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
        self update:#value with:newValue from:filterHolder.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
listHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    "return/create the 'ruleList' value holder (automatically generated)"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
    listHolder isNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
        listHolder := ValueHolder new.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    ^ listHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
listSelection
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    "return/create the 'listSelection' value holder (automatically generated)"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    listSelection isNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
        listSelection := ValueHolder new.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
        listSelection addDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    ^ listSelection
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
listSelection:something
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    "set the 'listSelection' value holder (automatically generated)"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    |oldValue newValue|
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    listSelection notNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
        oldValue := listSelection value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
        listSelection removeDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    listSelection := something.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    listSelection notNil ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
        listSelection addDependent:self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    newValue := listSelection value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    oldValue ~~ newValue ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
        self update:#value with:newValue from:listSelection.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
modeHolder
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   347
    "the mode - can run in select or in display modes.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   348
     select is to choose a set of rules;
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   349
     display for presentation of results (in a browser).
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   350
     See documentation for details"
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   351
     
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   352
    modeHolder isNil ifTrue:[
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   353
        modeHolder := ValueHolder with: #display
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   354
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
    ^modeHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    "Modified: / 15-04-2010 / 20:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
modeHolder:aValueModel
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   361
    "the mode - can run in select or in display modes.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   362
     select is to choose a set of rules;
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   363
     display for presentation of results (in a browser).
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   364
     See documentation for details"
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   365
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    modeHolder := aValueModel.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
selectedLintRules
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    ^ self selectionHolder
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
    "Created: / 02-02-2010 / 20:43:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
selectedLintRules: anObject
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    ^ self selectionHolder: anObject
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    "Created: / 02-02-2010 / 20:43:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
!LintRuleList methodsFor:'change & update'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
delayedUpdate:something with:aParameter from:changedObject
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    "Invoked when an object that I depend upon sends a change notification."
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    changedObject == filterHolder ifTrue:[
14978
2adf70d02371 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14945
diff changeset
   387
       LastNameFilter := filterHolder value.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
        self updateList.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
        ^ self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
    (changedObject == listSelection) ifTrue:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
        listValid ifFalse:[
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
            self updateList.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
        ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
        ^ self selectionChanged
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
    ].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
10499
vrany
parents: 10455
diff changeset
   399
    (changedObject == selectionHolder) ifTrue:[
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   400
        listView notNil ifTrue:[
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   401
            listView invalidate
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   402
        ].
10499
vrany
parents: 10455
diff changeset
   403
        ^self.            
vrany
parents: 10455
diff changeset
   404
    ].
vrany
parents: 10455
diff changeset
   405
vrany
parents: 10455
diff changeset
   406
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    super delayedUpdate:something with:aParameter from:changedObject
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    "Created: / 26-08-2010 / 11:43:33 / Jan Vrany <enter your email here>"
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   410
    "Modified: / 27-02-2013 / 23:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10499
vrany
parents: 10455
diff changeset
   411
!
vrany
parents: 10455
diff changeset
   412
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   413
enqueueDelayedUpdateList
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   414
    super enqueueDelayedUpdateList
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   415
!
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   416
10499
vrany
parents: 10455
diff changeset
   417
selectionChanged
vrany
parents: 10455
diff changeset
   418
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   419
    | selection newSelection |
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   420
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   421
    super selectionChanged.
14786
6761e919308a Bugfix in selection handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14755
diff changeset
   422
    self mode == #display ifTrue:[
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   423
        selection := self listSelection value.
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   424
        selection isEmptyOrNil ifTrue:[
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   425
            newSelection := selection
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   426
        ] ifFalse:[
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   427
            newSelection := selection collect:[:entry|entry rule]
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   428
        ].                                 
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   429
        self selectionHolder value: newSelection.
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   430
"/        listView invalidate
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   431
    ].
10499
vrany
parents: 10455
diff changeset
   432
vrany
parents: 10455
diff changeset
   433
    "Created: / 05-08-2011 / 00:10:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14786
6761e919308a Bugfix in selection handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14755
diff changeset
   434
    "Modified: / 17-10-2014 / 00:01:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
!LintRuleList methodsFor:'event processing'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
buttonPress:button x:x y:y view:aView
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    | itemIndex item |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   443
    (button == 1 and:[self modeHolder value == #select]) ifFalse:[
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   444
        ^ aView buttonPress:button x:x y:y
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   445
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
    itemIndex := aView yVisibleToLineNr:y.
14755
e7581b87d7df Fixes in LintRuleList.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14754
diff changeset
   448
    itemIndex isNil ifTrue:[^self].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
    itemIndex == 0 ifTrue:[^self].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    itemIndex > aView list size ifTrue:[^self].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
    item := aView list at: itemIndex.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    ((aView left + x) between: (item x) and: (item x + 16))
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
        ifFalse:[^aView buttonPress:button x:x y:y].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
    item checked: item checked not.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    aView invalidate
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
    "Created: / 08-12-2009 / 14:12:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14755
e7581b87d7df Fixes in LintRuleList.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14754
diff changeset
   460
    "Modified: / 13-10-2014 / 18:38:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
handlesButtonPress:button inView:aView
14923
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   464
    ^ listView == aView
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   465
        and:[ button == 1 
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   466
        and:[ self modeHolder value == #select ] ]
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
    "Created: / 08-12-2009 / 14:08:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14923
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   469
    "Modified: / 27-11-2014 / 09:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
!LintRuleList methodsFor:'generators'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
makeGenerator
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   476
    self modeHolder value == #display ifTrue:[
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   477
        ^ Iterator 
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   478
            on: [:whatToDo|
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   479
                self listSelection value ? #() do:[:each|
16875
7f9ac5b997bc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 16872
diff changeset
   480
                    "/ classes removed (in the meanwhile), but still referenced by name in the lintResults
7f9ac5b997bc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 16872
diff changeset
   481
                    "/ may lead to nil being enumerated here...
7f9ac5b997bc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 16872
diff changeset
   482
                    each failedClasses nonNilElementsDo:whatToDo
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   483
                ]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   484
            ]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   485
    ].
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   486
    ^ Iterator 
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   487
        on: [:whatToDo|
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   488
            self selection do:[:rule| whatToDo value: rule]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   489
        ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
    "Modified: / 16-04-2010 / 12:13:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
    "Modified: / 25-08-2010 / 13:39:51 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
!LintRuleList methodsFor:'hooks'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
commonPostOpen
12035
d9224133ac96 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 11386
diff changeset
   498
    super commonPostOpen.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
    self updateOutputGenerator.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
    "Created: / 16-04-2010 / 11:53:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
postBuildList: aView
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    listView := aView scrolledView.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
    listView delegate: self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
    "Created: / 08-12-2009 / 14:10:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
!LintRuleList methodsFor:'initialization'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
initialize
14033
a8387e4a0a78 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13798
diff changeset
   515
    | menu |
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
    super initialize.
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   518
    
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   519
    menuHolder := 
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   520
        [
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   521
            menu := self menuFor: #menu.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   522
            menu isArray ifTrue:[ menu := Menu decodeFromLiteralArray: menu ].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   523
            menu
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   524
        ].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   525
    
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   526
    "/ self selection: Set new.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    "Modified: / 25-08-2010 / 15:24:45 / Jan Vrany <enter your email here>"
14033
a8387e4a0a78 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13798
diff changeset
   529
    "Modified: / 24-02-2014 / 12:00:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
!LintRuleList methodsFor:'menu actions'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   534
menuBrowseRuleClass
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   535
    | selection |
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   537
    selection := self listSelection value.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   538
    selection size = 1 ifTrue:[selection anyOne rule class browse].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   539
    selection size > 1 ifTrue:[SystemBrowser 
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   540
                                    browseClasses:(selection collect:[:e|e rule class])
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   541
                                    label:'Rule classes'].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   542
!
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   543
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   544
menuInspectRule
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
    | selection |
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   546
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    selection := self listSelection value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    selection size = 1 ifTrue:[selection anyOne rule inspect].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
    selection size > 1 ifTrue:[(selection collect:[:e|e rule]) inspect].
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   550
!
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   552
runRuleAgain
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   553
    self selectedLintRules value do:[:eachRule |
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   554
        eachRule run.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   555
    ].    
16442
2bf5919298e3 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16438
diff changeset
   556
    "/ self updateList.
2bf5919298e3 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16438
diff changeset
   557
    self updateOutputGenerator        
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
!LintRuleList methodsFor:'private'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
listEntryFor: anRBLintRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
    | entry |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
    entry := ListEntry new 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
                rule: anRBLintRule;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
                application: self;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
                expand;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
                yourself.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
    ^entry
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
    "Created: / 15-04-2010 / 18:59:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
    "Modified: / 25-08-2010 / 14:15:46 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
makeDependent
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    "nothing to do"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
    "Created: / 02-02-2010 / 20:23:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
makeIndependent
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
    "nothing to do"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
    "Created: / 02-02-2010 / 20:23:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
rules: rules includes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
    ^rules contains:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
        [:each|
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
        each class == rule class and:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
            [each name = rule name]]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    "Created: / 26-08-2010 / 12:04:04 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   600
setListValid:aBoolean
14945
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   601
"/    listValid ifTrue:[
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   602
"/        aBoolean ifFalse:[self halt].
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   603
"/    ].
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   604
    listValid := aBoolean.
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   605
!
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   606
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
updateList
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   608
    |filterString filterBlock|
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   609
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   610
    self filterHolder value notEmptyOrNil ifTrue: [ 
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   611
        filterString := self filterHolder value.
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   612
        "/ If filtering pattern starts with #, filter by tags,
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   613
        "/ otherwise, filter by (class) name
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   614
        (filterString startsWith: $#) ifTrue: [ 
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   615
            | tags |
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   616
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   617
            tags := filterString splitByAny: '#, '.
19631
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   618
            filterBlock := [ :rule :relax | rule class tags anySatisfy: [:ruleTag | tags contains:[:matchTag | ruleTag startsWith: matchTag ] ] ].
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   619
        ] ifFalse: [ 
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   620
            | pattern |
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   622
            pattern := StringPattern matches: filterString.
19631
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   623
            filterBlock := [ :rule :relax | (pattern match: rule name case: false relax: relax) or: [ pattern match: rule class name case: false relax: relax] ].
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   624
        ].
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   625
    ].
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   626
    self updateListUsingFilter: filterBlock
19631
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   627
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   628
    "Modified: / 17-08-2022 / 12:07:51 / Jan Vrany <jan.vrany@labware.com>"
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   629
!
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   631
updateListUsingFilter: filterBlockOrNil
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   632
    |inGenerator newList |
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   633
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   634
    inGenerator := self inGeneratorHolder value.
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   635
    (inGenerator isNil and:[self mode == #display]) ifTrue:[
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   636
        inGenerator := RBCompositeLintRule allRules flattened 
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   637
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
    newList := OrderedCollection new.
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   639
    inGenerator do:[:rule |
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   640
        rule flattened do: [:rule|
19631
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   641
            (filterBlockOrNil isNil or: [ filterBlockOrNil value: rule value: 2]) ifTrue:[
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   642
                newList add: (self listEntryFor:rule)
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   643
            ]
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   644
        ]
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   645
    ].
16872
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   646
    newList 
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   647
        sort:[:a :b |
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   648
            |sevA sevB|
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   649
            
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   650
            sevA := a rule severityAsInteger.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   651
            sevB := b rule severityAsInteger.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   652
            (sevA > sevB) 
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   653
            or:[ (sevA == sevB) and:[a rule name < b rule name]].
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   654
        ].
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   655
    "/ newList sort:[:a :b | a name < b name].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    self listHolder value:newList.
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   657
    self setListValid:true.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
19630
fe29ed10a99d Allow to filter using lint rule tags
Jan Vrany <jan.vrany@labware.com>
parents: 17379
diff changeset
   659
    "Created: / 26-07-2022 / 11:38:40 / Jan Vrany <jan.vrany@labware.com>"
19631
7351a219f202 Oops, fix bug in Lint rules filtering introduced in commit fe29ed10a99d
Jan Vrany <jan.vrany@labware.com>
parents: 19630
diff changeset
   660
    "Modified: / 17-08-2022 / 12:06:44 / Jan Vrany <jan.vrany@labware.com>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
10499
vrany
parents: 10455
diff changeset
   663
!LintRuleList methodsFor:'queries'!
vrany
parents: 10455
diff changeset
   664
vrany
parents: 10455
diff changeset
   665
supportsSearch
vrany
parents: 10455
diff changeset
   666
vrany
parents: 10455
diff changeset
   667
    ^false
vrany
parents: 10455
diff changeset
   668
vrany
parents: 10455
diff changeset
   669
    "Created: / 04-08-2011 / 23:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10455
diff changeset
   670
! !
vrany
parents: 10455
diff changeset
   671
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
!LintRuleList methodsFor:'selection'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
selectionAdd: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
    self selection: 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
        (self selection addAll: rule flattened; yourself)
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    "Created: / 25-08-2010 / 13:34:57 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
selectionIncludes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
   ^self rules: self selection includes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
    "Created: / 25-08-2010 / 13:30:14 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    "Modified: / 26-08-2010 / 12:04:19 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
selectionRemove: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
    | sel rules |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    sel := self selection.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    rules := rule flattened.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
    sel := sel reject:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
                [:each|self rules: rules includes: each].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
    self selection: sel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
    "Created: / 25-08-2010 / 13:35:08 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
    "Modified: / 26-08-2010 / 12:05:06 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
!LintRuleList::ListEntry class methodsFor:'instance creation'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
change: aChange
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    ^self new change: aChange
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
    "Created: / 24-07-2009 / 22:43:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
change: aChange application: anApplicationModel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
    ^self new change: aChange; application: anApplicationModel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
    "Created: / 05-12-2009 / 14:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
change: aChange parent: aChangeList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
    ^self new change: aChange; parent: aChangeList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
    "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
!LintRuleList::ListEntry methodsFor:'accessing'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
application
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   729
    ^ application notNil ifTrue:[application] ifFalse:[super application]
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
14169
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   731
    "Modified: / 28-03-2014 / 10:36:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
application:anApplicationModel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
    application := anApplicationModel.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
checked
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
    ^rule isComposite 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
        ifTrue:[self children anySatisfy:[:each|each checked]]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
        ifFalse:[self application selectionIncludes: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
    "Modified: / 15-04-2010 / 20:59:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    "Modified: / 25-08-2010 / 13:29:33 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
checked:aBoolean
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
    | app |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
    app := self application.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    aBoolean 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
        ifTrue: [app selectionAdd: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
        ifFalse:[app selectionRemove: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
    "Modified: / 15-04-2010 / 19:06:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
    "Modified: / 25-08-2010 / 13:35:29 / Jan Vrany <enter your email here>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
checkedRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   762
    self checked ifFalse:[^nil].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   763
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
    rule isComposite 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
        ifTrue:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
            [^rule copy 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
                rules: (self children 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
                            collect:[:entry|entry checkedRule] 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
                            thenReject:[:rule|rule isNil]);
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
                yourself]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
        ifFalse:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
            [^rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
    "Created: / 16-04-2010 / 12:06:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
children
14671
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   778
    children ifNil:[
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   779
        rule isComposite ifTrue: [
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   780
            | app | 
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   781
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   782
            app := self application.
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   783
            children := rule rules collect:[:eachRule | (app listEntryFor:eachRule) parent:self]
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   784
        ] ifFalse: [
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   785
            children := #()
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   786
        ]
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   787
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
    ^ children
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
    "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
    "Modified: / 15-04-2010 / 20:40:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
failedClasses
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
    ^rule failedClasses
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
    "Created: / 15-04-2010 / 19:10:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
failedMethods
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
    ^rule failedMethods
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
    "Created: / 15-04-2010 / 19:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
failedMethodsInAnyOf: classes meta: meta
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
    ^rule failedMethodsInAnyOf: classes meta: meta
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
    "Created: / 15-04-2010 / 19:11:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
label
16872
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   817
    |s severity|
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   818
    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   819
    s := rule displayString.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   820
    (severity := rule severity) == #warning ifTrue:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   821
        ^ s withColor:Color orange.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   822
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   823
    severity == #error ifTrue:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   824
        ^ s withColor:Color red.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   825
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   826
    severity == #information ifFalse:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   827
        self halt.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   828
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   829
    ^ s
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
    "Modified: / 15-04-2010 / 18:44:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
name
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
    ^rule name
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
    "Created: / 15-04-2010 / 19:12:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
rationale
11315
Claus Gittinger <cg@exept.de>
parents: 11301
diff changeset
   842
    ^ rule rationaleWithAnchor
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   844
    "Created: / 15-04-2010 / 19:10:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11315
Claus Gittinger <cg@exept.de>
parents: 11301
diff changeset
   845
    "Modified: / 01-03-2012 / 20:58:50 / cg"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
11317
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   848
rationaleWithAnchor
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   849
    ^ rule rationaleWithAnchor
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   850
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   851
    "Created: / 15-04-2010 / 19:10:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   852
    "Modified: / 01-03-2012 / 20:58:50 / cg"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   853
    "Created: / 02-03-2012 / 01:04:40 / cg"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   854
!
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   855
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
    ^ rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
rule:anRBLintRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
    rule := anRBLintRule.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
x
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
    ^ x ? 0
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
    "Modified: / 15-04-2010 / 20:48:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
!LintRuleList::ListEntry methodsFor:'displaying'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
displayLabel:aLabel h:lH on:aGC x:newX y:y h:h 
16872
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   873
    self displayLabel:aLabel h:lH on:aGC x:newX y:y h:h isHighlightedAsSelected:false
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
15151
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   876
displayLabel:aLabel h:lH on:aGC x:newX y:y h:h isHighlightedAsSelected:isHighlightedAsSelected
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   877
    | cx icon app mode |
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   878
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   879
    cx := x := newX.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   880
    app := self application.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   881
    mode := app mode.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   882
    mode ~~ #display ifTrue:[
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   883
        mode == #select ifTrue:[        
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   884
            icon := self checked 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   885
                        ifTrue:[app class checkedIcon] 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   886
                        ifFalse:[app class uncheckedIcon].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   887
        ] ifFalse:[ 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   888
            icon := self checked 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   889
                        ifTrue:[app class checkedIconDisabled] 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   890
                        ifFalse:[app class uncheckedIconDisabled].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   891
        ].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   892
        icon displayOn: aGC x: cx y: y + (h / 2) - (icon height / 2).
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   893
        cx := cx + 22."experimental value - this looks good"
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   894
    ].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   895
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   896
    super displayLabel:aLabel h:lH on:aGC x:cx y:y h:h isHighlightedAsSelected:isHighlightedAsSelected
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   897
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   898
    "Modified (format): / 07-03-2012 / 20:08:02 / cg"
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   899
    "Modified: / 08-10-2014 / 22:56:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   900
!
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   901
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   902
displayOn:aGCOrStream
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   904
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   905
    "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   906
    (aGCOrStream isStream) ifFalse:[
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   907
        ^ super displayOn:aGCOrStream
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   908
    ].
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   909
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   910
    rule displayOn:aGCOrStream
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
    "Created: / 15-04-2010 / 19:13:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   913
    "Modified: / 29-11-2013 / 12:59:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   915
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   916
!LintRuleList class methodsFor:'documentation'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   917
11300
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   918
version
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   919
    ^ '$Header$'
11300
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   920
!
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   921
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
version_CVS
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   923
    ^ '$Header$'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
version_SVN
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   927
    ^ '$Id$'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
! !
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   929