Tools__LintRuleList.st
author Claus Gittinger <cg@exept.de>
Fri, 15 Jun 2018 04:00:37 +0200
changeset 18220 d1ebaddf1100
parent 18117 a0e33e7fe5cd
child 18956 2331d73715c7
permissions -rw-r--r--
#UI_ENHANCEMENT by cg class: Tools::CheckinInfoDialog class changed: #windowSpec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18117
a0e33e7fe5cd #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17429
diff changeset
     1
"{ Encoding: utf8 }"
a0e33e7fe5cd #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17429
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
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   411
enqueueDelayedUpdateList
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   412
    super enqueueDelayedUpdateList
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   413
!
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   414
10499
vrany
parents: 10455
diff changeset
   415
selectionChanged
vrany
parents: 10455
diff changeset
   416
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   417
    | 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
   418
d983f6273b6d Fixed LintRileList>>selectionChanged so it works both in browser and in dialog. Bit hacky.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14165
diff changeset
   419
    super selectionChanged.
14786
6761e919308a Bugfix in selection handling.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14755
diff changeset
   420
    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
   421
        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
   422
        selection isEmptyOrNil ifTrue:[
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   423
            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
   424
        ] ifFalse:[
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   425
            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
   426
        ].                                 
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   427
        self selectionHolder value: newSelection.
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   428
"/        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
   429
    ].
10499
vrany
parents: 10455
diff changeset
   430
vrany
parents: 10455
diff changeset
   431
    "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
   432
    "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
   433
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
!LintRuleList methodsFor:'event processing'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
buttonPress:button x:x y:y view:aView
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
    | itemIndex item |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   441
    (button == 1 and:[self modeHolder value == #select]) ifFalse:[
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   442
        ^ aView buttonPress:button x:x y:y
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   443
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
    itemIndex := aView yVisibleToLineNr:y.
14755
e7581b87d7df Fixes in LintRuleList.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14754
diff changeset
   446
    itemIndex isNil ifTrue:[^self].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
    itemIndex == 0 ifTrue:[^self].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    itemIndex > aView list size ifTrue:[^self].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
    item := aView list at: itemIndex.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
    ((aView left + x) between: (item x) and: (item x + 16))
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
        ifFalse:[^aView buttonPress:button x:x y:y].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
    item checked: item checked not.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
    aView invalidate
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    "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
   458
    "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
   459
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
handlesButtonPress:button inView:aView
14923
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   462
    ^ listView == aView
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   463
        and:[ button == 1 
7c189a24693c class: Tools::LintRuleList
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14855
diff changeset
   464
        and:[ self modeHolder value == #select ] ]
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
    "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
   467
    "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
   468
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
!LintRuleList methodsFor:'generators'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
makeGenerator
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   474
    self modeHolder value == #display ifTrue:[
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   475
        ^ Iterator 
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   476
            on: [:whatToDo|
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   477
                self listSelection value ? #() do:[:each|
16875
7f9ac5b997bc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 16872
diff changeset
   478
                    "/ 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
   479
                    "/ may lead to nil being enumerated here...
7f9ac5b997bc #QUALITY by cg
Claus Gittinger <cg@exept.de>
parents: 16872
diff changeset
   480
                    each failedClasses nonNilElementsDo:whatToDo
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   481
                ]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   482
            ]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   483
    ].
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   484
    ^ Iterator 
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   485
        on: [:whatToDo|
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   486
            self selection do:[:rule| whatToDo value: rule]
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   487
        ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
    "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
   490
    "Modified: / 25-08-2010 / 13:39:51 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
!LintRuleList methodsFor:'hooks'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
commonPostOpen
12035
d9224133ac96 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 11386
diff changeset
   496
    super commonPostOpen.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
    self updateOutputGenerator.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
    "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
   500
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
postBuildList: aView
18117
a0e33e7fe5cd #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 17429
diff changeset
   503
    "I want to see the events of the list"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
    listView := aView scrolledView.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    listView delegate: self.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    "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
   509
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
!LintRuleList methodsFor:'initialization'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
initialize
14033
a8387e4a0a78 Refactoring of NavigatorModel's environment.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13798
diff changeset
   514
    | menu |
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
    super initialize.
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   517
    
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   518
    menuHolder := 
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
            menu := self menuFor: #menu.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   521
            menu isArray ifTrue:[ menu := Menu decodeFromLiteralArray: menu ].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   522
            menu
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   523
        ].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   524
    
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   525
    "/ self selection: Set new.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
17361
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   527
    "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
   528
    "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
   529
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
!LintRuleList methodsFor:'menu actions'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   533
menuBrowseRuleClass
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   534
    | selection |
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   536
    selection := self listSelection value.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   537
    selection size = 1 ifTrue:[selection anyOne rule class browse].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   538
    selection size > 1 ifTrue:[SystemBrowser 
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   539
                                    browseClasses:(selection collect:[:e|e rule class])
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   540
                                    label:'Rule classes'].
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   541
!
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   542
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   543
menuInspectRule
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    | selection |
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   545
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    selection := self listSelection value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
    selection size = 1 ifTrue:[selection anyOne rule inspect].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
    selection size > 1 ifTrue:[(selection collect:[:e|e rule]) inspect].
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   549
!
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
16438
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   551
runRuleAgain
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   552
    self selectedLintRules value do:[:eachRule |
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   553
        eachRule run.
a40d4e889605 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16426
diff changeset
   554
    ].    
16442
2bf5919298e3 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16438
diff changeset
   555
    "/ self updateList.
2bf5919298e3 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 16438
diff changeset
   556
    self updateOutputGenerator        
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
!LintRuleList methodsFor:'private'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
listEntryFor: anRBLintRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
    | entry |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
    entry := ListEntry new 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
                rule: anRBLintRule;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
                application: self;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
                expand;
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
                yourself.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
    ^entry
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
    "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
   572
    "Modified: / 25-08-2010 / 14:15:46 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
makeDependent
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
    "nothing to do"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
    "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
   580
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
makeIndependent
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
    "nothing to do"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    "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
   587
!
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: rules includes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
    ^rules contains:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
        [:each|
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
        each class == rule class and:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
            [each name = rule name]]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
17361
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   596
    "Created: / 26-08-2010 / 12:04:04 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   599
setListValid:aBoolean
14945
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   600
"/    listValid ifTrue:[
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   601
"/        aBoolean ifFalse:[self halt].
1df6b0965b88 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14923
diff changeset
   602
"/    ].
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   603
    listValid := aBoolean.
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   604
!
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   605
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
updateList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
    |generator filterS newList|
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    generator := self inGeneratorHolder value.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    filterS := self filterHolder value.
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   611
    filterS notEmptyOrNil ifTrue:[
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   612
        (filterS startsWith: $*) ifFalse:[filterS := '*' , filterS].
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   613
        (filterS endsWith:   $*) ifFalse:[filterS := filterS , '*']
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   614
    ].        
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   615
    (generator isNil and:[self mode == #display]) ifTrue:[
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   616
        generator := RBCompositeLintRule allRules flattened 
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   617
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
    newList := OrderedCollection new.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
    generator do:[:rule |
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   620
        rule flattened do: [:rule|
14667
cb78d00fdb24 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14169
diff changeset
   621
            (filterS isEmptyOrNil 
17009
81d62f442f40 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16875
diff changeset
   622
                or:[(rule name matches: filterS caseSensitive:false)
81d62f442f40 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16875
diff changeset
   623
                or:[rule class name matches: filterS caseSensitive:false]])
10455
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   624
            ifTrue:[
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   625
                newList add: (self listEntryFor:rule)
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   626
            ]
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   627
        ]
41b2601f2e91 changed: #updateList
Claus Gittinger <cg@exept.de>
parents: 10096
diff changeset
   628
    ].
16872
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   629
    newList 
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   630
        sort:[:a :b |
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   631
            |sevA sevB|
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   632
            
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   633
            sevA := a rule severityAsInteger.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   634
            sevB := b rule severityAsInteger.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   635
            (sevA > sevB) 
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   636
            or:[ (sevA == sevB) and:[a rule name < b rule name]].
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   637
        ].
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   638
    "/ newList sort:[:a :b | a name < b name].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
    self listHolder value:newList.
14855
9a7730b0c37d class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14786
diff changeset
   640
    self setListValid:true.
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
    "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
   643
    "Modified: / 25-08-2010 / 13:35:58 / Jan Vrany"
11381
baba3049428c changed:
Claus Gittinger <cg@exept.de>
parents: 11317
diff changeset
   644
    "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
   645
    "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
   646
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
10499
vrany
parents: 10455
diff changeset
   648
!LintRuleList methodsFor:'queries'!
vrany
parents: 10455
diff changeset
   649
vrany
parents: 10455
diff changeset
   650
supportsSearch
vrany
parents: 10455
diff changeset
   651
vrany
parents: 10455
diff changeset
   652
    ^false
vrany
parents: 10455
diff changeset
   653
vrany
parents: 10455
diff changeset
   654
    "Created: / 04-08-2011 / 23:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 10455
diff changeset
   655
! !
vrany
parents: 10455
diff changeset
   656
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
!LintRuleList methodsFor:'selection'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
selectionAdd: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
    self selection: 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
        (self selection addAll: rule flattened; yourself)
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
17361
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   664
    "Created: / 25-08-2010 / 13:34:57 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
selectionIncludes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
   ^self rules: self selection includes: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
17361
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   671
    "Created: / 25-08-2010 / 13:30:14 / Jan Vrany"
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   672
    "Modified: / 26-08-2010 / 12:04:19 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
selectionRemove: rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    | sel rules |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
    sel := self selection.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    rules := rule flattened.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    sel := sel reject:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
                [:each|self rules: rules includes: each].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
    self selection: sel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
17361
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   684
    "Created: / 25-08-2010 / 13:35:08 / Jan Vrany"
208dee312f40 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17298
diff changeset
   685
    "Modified: / 26-08-2010 / 12:05:06 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
!LintRuleList::ListEntry class methodsFor:'instance creation'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
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
    ^self new change: aChange
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    "Created: / 24-07-2009 / 22:43:41 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
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
    ^self new change: aChange; application: anApplicationModel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
    "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
   702
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
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
    ^self new change: aChange; parent: aChangeList
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
    "Created: / 25-07-2009 / 23:33:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
!LintRuleList::ListEntry methodsFor:'accessing'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
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
   714
    ^ application notNil ifTrue:[application] ifFalse:[super application]
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
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
   716
    "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
   717
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
application:anApplicationModel
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
    application := anApplicationModel.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
checked
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
    ^rule isComposite 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
        ifTrue:[self children anySatisfy:[:each|each checked]]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
        ifFalse:[self application selectionIncludes: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
    "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
   730
    "Modified: / 25-08-2010 / 13:29:33 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
checked:aBoolean
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
    | app |
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
    app := self application.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
    aBoolean 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
        ifTrue: [app selectionAdd: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
        ifFalse:[app selectionRemove: rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
    "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
   742
    "Modified: / 25-08-2010 / 13:35:29 / Jan Vrany"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
checkedRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
    self checked ifFalse:[^nil].
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
    rule isComposite 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
        ifTrue:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
            [^rule copy 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
                rules: (self children 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
                            collect:[:entry|entry checkedRule] 
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
                            thenReject:[:rule|rule isNil]);
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
                yourself]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
        ifFalse:
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
            [^rule]
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
    "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
   760
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   762
children
14671
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   763
    children ifNil:[
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   764
        rule isComposite ifTrue: [
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   765
            | app | 
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   766
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   767
            app := self application.
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   768
            children := rule rules collect:[:eachRule | (app listEntryFor:eachRule) parent:self]
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   769
        ] ifFalse: [
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   770
            children := #()
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   771
        ]
f3fa83599d6b class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14667
diff changeset
   772
    ].
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
    ^ children
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
    "Created: / 25-07-2009 / 23:32:39 / Jan Vrany <vranyj1@fel.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
    "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
   778
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
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
    ^rule failedClasses
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
    "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
   785
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
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
    ^rule failedMethods
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
    "Created: / 15-04-2010 / 19:10:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
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
    ^rule failedMethodsInAnyOf: classes meta: meta
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
    "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
   799
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
label
16872
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   802
    |s severity|
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   803
    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   804
    s := rule displayString.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   805
    (severity := rule severity) == #warning ifTrue:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   806
        ^ s withColor:Color orange.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   807
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   808
    severity == #error ifTrue:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   809
        ^ s withColor:Color red.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   810
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   811
    severity == #information ifFalse:[
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   812
        self halt.
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   813
    ].    
0d08caca5471 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16589
diff changeset
   814
    ^ s
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
    "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
   817
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
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
    ^rule name
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
    "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
   824
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
rationale
11315
Claus Gittinger <cg@exept.de>
parents: 11301
diff changeset
   827
    ^ rule rationaleWithAnchor
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
    "Created: / 15-04-2010 / 19:10:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11315
Claus Gittinger <cg@exept.de>
parents: 11301
diff changeset
   830
    "Modified: / 01-03-2012 / 20:58:50 / cg"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
11317
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   833
rationaleWithAnchor
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   834
    ^ rule rationaleWithAnchor
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   835
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   836
    "Created: / 15-04-2010 / 19:10:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   837
    "Modified: / 01-03-2012 / 20:58:50 / cg"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   838
    "Created: / 02-03-2012 / 01:04:40 / cg"
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   839
!
Claus Gittinger <cg@exept.de>
parents: 11316
diff changeset
   840
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
    ^ rule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   844
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
rule:anRBLintRule
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
    rule := anRBLintRule.
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
x
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
    ^ x ? 0
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    "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
   853
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
!LintRuleList::ListEntry methodsFor:'displaying'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
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
   858
    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
   859
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
15151
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   861
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
   862
    | cx icon app mode |
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   863
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   864
    cx := x := newX.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   865
    app := self application.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   866
    mode := app mode.
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   867
    mode ~~ #display ifTrue:[
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   868
        mode == #select ifTrue:[        
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   869
            icon := self checked 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   870
                        ifTrue:[app class checkedIcon] 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   871
                        ifFalse:[app class uncheckedIcon].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   872
        ] ifFalse:[ 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   873
            icon := self checked 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   874
                        ifTrue:[app class checkedIconDisabled] 
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   875
                        ifFalse:[app class uncheckedIconDisabled].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   876
        ].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   877
        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
   878
        cx := cx + 22."experimental value - this looks good"
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   879
    ].
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   880
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   881
    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
   882
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   883
    "Modified (format): / 07-03-2012 / 20:08:02 / cg"
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   884
    "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
   885
!
c62aec5af315 class: Tools::LintRuleList
Claus Gittinger <cg@exept.de>
parents: 14978
diff changeset
   886
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   887
displayOn:aGCOrStream
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   889
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
17429
85ccd8372c74 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17361
diff changeset
   890
    "/ 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
   891
    (aGCOrStream isStream) ifFalse:[
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   892
        ^ super displayOn:aGCOrStream
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   893
    ].
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   894
13798
83c32f9a9825 merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 13320
diff changeset
   895
    rule displayOn:aGCOrStream
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
    "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
   898
    "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
   899
    "Modified (comment): / 22-02-2017 / 16:49:46 / cg"
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
! !
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   902
!LintRuleList class methodsFor:'documentation'!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
11300
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   904
version
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   905
    ^ '$Header$'
11300
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   906
!
b9accf9080e4 better rationale (link to class)
Claus Gittinger <cg@exept.de>
parents: 11297
diff changeset
   907
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   908
version_CVS
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   909
    ^ '$Header$'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   910
!
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   911
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   912
version_SVN
16426
a33263131d60 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 15151
diff changeset
   913
    ^ '$Id$'
10000
8ed849da9927 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   914
! !
13320
3dd1b4cb9c39 Refactor to implement #displayOn:aGcOrStream instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 12035
diff changeset
   915