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