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