SmallSense__CriticsWindow.st
author Claus Gittinger <cg@exept.de>
Mon, 15 Jul 2019 15:33:58 +0200
branchcvs_MAIN
changeset 1091 8c18b8f6ff0c
parent 1064 aa8b465f26ac
child 1117 80a909e9841c
permissions -rw-r--r--
#OTHER by cg unneeded subProjects method removed (already inherited)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     1
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     3
Copyright (C) 2013-2014 Jan Vrany
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     4
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     5
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     7
License as published by the Free Software Foundation; either
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
     8
version 2.1 of the License.
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
     9
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    10
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    13
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    14
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    16
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    18
"
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    19
"{ Package: 'stx:goodies/smallsense' }"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
"{ NameSpace: SmallSense }"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
183
cfce2733ee7e Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
    23
SimpleDialog subclass:#CriticsWindow
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    24
	instanceVariableNames:'ruleHolder ruleRationaleAndFixesHTMLHolder rationalView fixer
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    25
		entered codeView closeOnLeave'
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    26
	classVariableNames:''
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    27
	poolDictionaries:''
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    28
	category:'SmallSense-Core-Interface'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    31
!CriticsWindow class methodsFor:'documentation'!
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    32
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    33
copyright
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    34
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    35
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    36
Copyright (C) 2013-2014 Jan Vrany
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    37
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    38
This library is free software; you can redistribute it and/or
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    39
modify it under the terms of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    40
License as published by the Free Software Foundation; either
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
    41
version 2.1 of the License.
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    42
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    43
This library is distributed in the hope that it will be useful,
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    44
but WITHOUT ANY WARRANTY; without even the implied warranty of
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    45
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    46
Lesser General Public License for more details.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    47
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    48
You should have received a copy of the GNU Lesser General Public
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    49
License along with this library; if not, write to the Free Software
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    50
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    51
"
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
    52
! !
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    54
!CriticsWindow class methodsFor:'help specs'!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    55
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
    56
helpSpec
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    57
    "This resource specification was automatically generated
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    58
     by the UIHelpTool of ST/X."
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    59
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    60
    "Do not manually edit this!! If it is corrupted,
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    61
     the UIHelpTool may not be able to read the specification."
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    62
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    63
    "
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    64
     UIHelpTool openOnClass:SmallSense::CriticsWindow
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    65
    "
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    66
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    67
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    68
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
    69
    ^ super helpSpec addPairsFrom:#(
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    70
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    71
#applyRuleIn
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    72
'Apply this rule on more code.'
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
    73
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    74
#disableRule
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
    75
'Disable this rule in the future\(for the rest of this session, unless you save the ruleset)'
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    76
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    77
#browseRule
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    78
'Open a browser on the rule'
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    79
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    80
)
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    81
! !
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
    82
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
!CriticsWindow class methodsFor:'interface specs'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
windowSpec
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "This resource specification was automatically generated
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
     by the UIPainter of ST/X."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    "Do not manually edit this!! If it is corrupted,
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
     the UIPainter may not be able to read the specification."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    "
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
    93
     UIPainter new openOnClass:SmallSense::CriticsWindow andSelector:#windowSpec
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
    94
     SmallSense::CriticsWindow new openInterface:#windowSpec
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
    95
     SmallSense::CriticsWindow open
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    "
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
    98
    <resource: #canvas>
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   100
    ^
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   101
    #(FullSpec
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   102
       name: windowSpec
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   103
       window:
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   104
      (WindowSpec
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   105
	 label: 'SmalllintRuleDetail'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   106
	 name: 'SmalllintRuleDetail'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   107
	 min: (Point 10 10)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   108
	 bounds: (Rectangle 0 0 563 384)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   109
	 backgroundColor: (Color 100.0 100.0 75.0)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   110
	 forceRecursiveBackgroundOfDefaultBackground: true
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   111
       )
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   112
       component:
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   113
      (SpecCollection
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   114
	 collection: (
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   115
	  (ActionButtonSpec
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   116
	     label: 'closeIcon'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   117
	     name: 'Button4'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   118
	     layout: (AlignmentOrigin 0 1 0 0 1 0)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   119
	     visibilityChannel: notCloseOnLeave
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   120
	     hasCharacterOrientedLabel: false
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   121
	     translateLabel: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   122
	     model: closeRequest
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   123
	   )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   124
	  (HTMLViewSpec
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   125
	     name: 'Rationale'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   126
	     layout: (LayoutFrame 0 0 20 0 0 1 -65 1)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   127
	     level: 0
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   128
	     visibilityChannel: rationaleVisibleHolder
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   129
	     hasHorizontalScrollBar: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   130
	     hasVerticalScrollBar: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   131
	     miniScrollerHorizontal: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   132
	     miniScrollerVertical: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   133
	     htmlText: ruleRationaleAndFixesHTMLHolder
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   134
	     postBuildCallback: setupHTMLView:
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   135
	   )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   136
	  (LinkButtonSpec
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   137
	     label: 'Disable this Rule'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   138
	     name: 'Button3'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   139
	     layout: (LayoutFrame -1 0 -59 1 -16 1 -30 1)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   140
	     activeHelpKey: disableRule
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   141
	     level: 0
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   142
	     translateLabel: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   143
	     labelChannel: disableRuleString
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   144
	     adjust: left
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   145
	     model: disableLintRule
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   146
	     keepSpaceForOSXResizeHandleH: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   147
	   )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   148
	  (LinkButtonSpec
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   149
	     label: 'Apply this Rule In...'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   150
	     name: 'Button5'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   151
	     layout: (AlignmentOrigin 0 1 -59 1 1 0)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   152
	     activeHelpKey: applyRuleIn
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   153
	     level: 0
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   154
	     translateLabel: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   155
	     labelChannel: applyRuleInString
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   156
	     resizeForLabel: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   157
	     adjust: left
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   158
	     model: applyLintRuleIn
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   159
	     keepSpaceForOSXResizeHandleH: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   160
	   )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   161
	  (LinkButtonSpec
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   162
	     name: 'Button1'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   163
	     layout: (LayoutFrame 0 0 -29 1 -16 1 0 1)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   164
	     activeHelpKey: browseRule
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   165
	     level: 0
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   166
	     translateLabel: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   167
	     labelChannel: ruleNameAspect
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   168
	     adjust: left
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   169
	     model: browseLintRule
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   170
	     keepSpaceForOSXResizeHandleH: true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   171
	   )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   172
	  )
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   173
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   174
       )
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   175
     )
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
!CriticsWindow class methodsFor:'plugIn spec'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
aspectSelectors
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    "This resource specification was automatically generated
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
     by the UIPainter of ST/X."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
    "Do not manually edit this. If it is corrupted,
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
     the UIPainter may not be able to read the specification."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
    "Return a description of exported aspects;
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
     these can be connected to aspects of an embedding application
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
     (if this app is embedded in a subCanvas)."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    ^ #(
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   192
	#ruleHolder
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
      ).
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
!CriticsWindow methodsFor:'accessing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   199
closeOnLeave
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   200
    "set if used as a flyBy tooltip, which should close automatically.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   201
     false, if used as a modal dialog, which needs explicit close.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   202
     The default is false."
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   203
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   204
    ^ closeOnLeave ? false
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   205
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   206
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   207
closeOnLeave:aBoolean
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   208
    "set this if used as a flyBy tooltip, which should close automatically.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   209
     Leave false, if used as a modal dialog, which needs explicit close.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   210
     The default is false."
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   211
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   212
    closeOnLeave := aBoolean
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   213
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   214
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
codeView
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
    ^ codeView
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
codeView:aCodeView2
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
    codeView := aCodeView2.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   223
notCloseOnLeave:aBoolean
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   224
    ^ self closeOnLeave not
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   225
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   226
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
rule
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
    ^self ruleHolder value.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
    "Created: / 30-01-2012 / 21:45:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
rule: anRBLintRule
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
    ^self ruleHolder value: anRBLintRule
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    "Created: / 30-01-2012 / 21:45:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
!CriticsWindow methodsFor:'actions'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   243
applyLintRuleIn
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   244
    |rule dialog cls pkg|
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   245
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   246
    rule := self ruleHolder value.
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   247
    rule isNil ifTrue:[^ self].
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   248
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   249
    cls := codeView textView editedClass.
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   250
    cls notNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   251
	pkg := cls package
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   252
    ].
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   253
    dialog := Tools::SearchDialog new
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   254
	currentClass:cls;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   255
	currentPackage:pkg;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   256
	setupToAskForMethodSearchTitle:(resources string:'Apply rule in:')
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   257
	forBrowser:nil
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   258
	searchWhat:nil searchArea:#everywhere
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   259
	withCaseIgnore:false withMatch:false
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   260
	withMethodList:false
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   261
	allowFind:false allowBuffer:false allowBrowser:true
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   262
	withTextEntry:false.
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   263
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   264
    [:restart|
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   265
	dialog askThenDo:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   266
	    |classes methods keepResultList browser|
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   267
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   268
	    classes := dialog classesToSearch.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   269
	    "/ methods := dialog methodsToSearch.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   270
	    browser := Tools::NewSystemBrowser new.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   271
	    browser allButOpen.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   272
	    browser
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   273
		smalllintRun:ruleHolder value
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   274
		onEnvironment:(ClassEnvironment new
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   275
				classes:classes;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   276
				label:'Lint on more classes').
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   277
	    browser openWindow.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   278
	].
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   279
    ] valueWithRestart.
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   280
    self hide.
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   281
!
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   282
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
browseLintRule
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   284
    self browseLintRule:self ruleHolder value
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   285
!
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   286
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   287
browseLintRule:rule
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   288
    |ruleClass|
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   289
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
    rule isNil ifTrue:[^ self].
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   291
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
    ruleClass := rule class.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
    self close.
877
92bce2b53e1f class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 873
diff changeset
   294
    SystemBrowser default openInClass:ruleClass selector:#rationale
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    "Created: / 07-09-2011 / 04:09:38 / cg"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
    "Modified: / 31-01-2012 / 11:30:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   298
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   299
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   300
disableLintRule
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   301
    |rule|
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   302
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   303
    rule := self ruleHolder value.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   304
    rule isNil ifTrue:[^ self].
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   305
443
3511d16582e6 class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 424
diff changeset
   306
    "/ how do I disable the rule in the current smalllint checker service?
460
4343e1369305 class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 443
diff changeset
   307
    "/ for now, a hack: keep a global disabledRules collection, and skip rules which are in it
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   308
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   309
    "/ if multiple rules complained, an anonymous composite rule is created;
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   310
    "/ then disable them all
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   311
    rule isComposite ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   312
	rule rules do:[:each |
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   313
	    SmalltalkChecker disableRule:each class.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   314
	].
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   315
    ] ifFalse:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   316
	SmalltalkChecker disableRule:rule class.
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   317
    ].
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   318
    self close.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   319
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   320
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   321
doQuickFix: quickFixNo
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   322
    self closeDownViews.
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   323
    "/ cg: why fork here?
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   324
    "[" fixer performFix: quickFixNo "] fork".
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   325
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   326
    "Created: / 16-02-2012 / 14:19:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   327
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   328
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   329
!CriticsWindow methodsFor:'aspects'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   330
988
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   331
applyRuleInString
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   332
    ^ 'Apply this Rule In...' asActionLinkTo:[ self applyLintRuleIn ]
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   333
!
75d5f2c16454 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 968
diff changeset
   334
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   335
closeIcon
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   336
    ^ ToolbarIconLibrary removeTab16x16Icon
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   337
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   338
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   339
disableRuleString
951
28ef86384d3e #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 948
diff changeset
   340
    ^ 'Disable this Rule' asActionLinkTo:[ self disableLintRule]
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   341
!
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   342
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
ruleHolder
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
    "return/create the 'ruleHolder' value holder (automatically generated)"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   346
    ruleHolder isNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   347
	ruleHolder := ValueHolder with: (RBDebuggingCodeLeftInMethodsRule new)
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   348
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   349
    ^ ruleHolder
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   350
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   351
    "Modified: / 30-01-2012 / 21:43:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   352
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   353
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   354
ruleHolder:something
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   355
    "set the 'ruleHolder' value holder (automatically generated)"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   356
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   357
    |oldValue newValue|
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   358
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   359
    ruleHolder notNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   360
	oldValue := ruleHolder value.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   361
	ruleHolder removeDependent:self.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   362
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
    ruleHolder := something.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   364
    ruleHolder notNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   365
	ruleHolder addDependent:self.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
    newValue := ruleHolder value.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
    oldValue ~~ newValue ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   369
	self update:#value with:newValue from:ruleHolder.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   373
ruleNameAspect
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   374
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
    |holder|
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
    (holder := builder bindingAt:#ruleNameAspect) isNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   379
	holder := BlockValue
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   380
		    with:[:h |
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   381
			|text rules|
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   382
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   383
			text := ''.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   384
			rules := h isComposite ifTrue:[ h rules ] ifFalse:[ { h } ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   385
			rules
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   386
			    do:[:each |
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   387
				|anchor|
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   388
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   389
				"/ h displayString , ' ' , (('[browse]' actionForAll:[ self browseLintRule]) colorizeAllWith:Color blue)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   390
				anchor := ('Browse Rule Class (%1)'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   391
					    bindWith:each class name)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   392
						asActionLinkTo:[ self browseLintRule:each ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   393
				text := text , anchor.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   394
			    ]
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   395
			    separatedBy:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   396
				text := text , '<br>'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   397
			    ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   398
			text.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   399
		    ]
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   400
		    argument: self ruleHolder.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   401
	builder aspectAt:#ruleNameAspect put:holder.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   402
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   403
    ^ holder.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   404
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   405
    "Modified: / 05-02-2010 / 12:51:30 / Jan Vrany "
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   406
    "Modified: / 07-09-2011 / 04:54:24 / cg"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   407
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   408
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   409
ruleRationaleAndFixesHTMLHolder
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   410
    "return/create the 'ruleRationaleAndFixesHTMLHolder' value holder (automatically generated)"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   411
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   412
    ruleRationaleAndFixesHTMLHolder isNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   413
	ruleRationaleAndFixesHTMLHolder := ValueHolder new.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   414
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   415
    ^ ruleRationaleAndFixesHTMLHolder
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   416
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   417
    "Modified (format): / 01-02-2012 / 10:57:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   418
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   419
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   420
!CriticsWindow methodsFor:'change & update'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   421
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   422
generateHTMLForRule: rule on: stream
946
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   423
    | flattenedRules collectedFixes putCollectedFixes
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   424
      previousRuleClass already|
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   425
946
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   426
    rule isComposite ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   427
	already := Set new.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   428
	flattenedRules := OrderedCollection new.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   429
	rule flatten do:[:each |
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   430
	    (already includes:each) ifFalse:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   431
		already add:each.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   432
		flattenedRules add:each
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   433
	    ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   434
	].
995
0191b93a64a6 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 993
diff changeset
   435
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   436
	"/ often, multiple instances of the same rule match in a line.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   437
	"/ avoid, generating long lists, which all look the same.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   438
	"/ so first, sort them by name.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   439
	flattenedRules sort:[:a :b | a name < b name].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   440
	"/ then in the code below, skip over repeated descriptions
946
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   441
    ] ifFalse:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   442
	flattenedRules := { rule }.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   443
    ].
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   444
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   445
    putCollectedFixes :=
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   446
	[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   447
	    collectedFixes notEmptyOrNil ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   448
		stream nextPutAll: '<p>'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   449
		collectedFixes size > 1 ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   450
		    stream nextPutAll: '<br>'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   451
		    stream nextPutLine: 'Possible fixes:'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   452
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   453
		stream nextPutLine:'<ul indent="0">'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   454
		collectedFixes withIndexDo:[:fix :index|
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   455
		    stream
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   456
			nextPutAll:'<li>';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   457
			nextPutAll:'<a action="doit: linkActionPerformer doQuickFix:';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   458
			nextPutAll: index printString;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   459
			nextPut:$";
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   460
			"/ nextPutAll:' info="',(fix rule class name),'"';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   461
			nextPut:$>;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   462
			nextPutAll: fix label;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   463
			nextPutAll:'</a>';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   464
			nextPutAll:' (',(fix rule class name),')';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   465
			nextPutAll:'</li>'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   466
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   467
		stream nextPutLine:'</ul>'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   468
	    ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   469
	].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   470
946
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   471
    previousRuleClass := nil.
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   472
    collectedFixes := OrderedCollection new.
315
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   473
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   474
    flattenedRules
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   475
	do:[:eachRule |
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   476
	    |fixesForMe editedMethod editedClass editedSelector resultMethod|
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   477
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   478
	    editedMethod := codeView editedMethod.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   479
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   480
	    eachRule class == previousRuleClass ifFalse:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   481
		collectedFixes notEmpty ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   482
		    putCollectedFixes value.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   483
		    collectedFixes := OrderedCollection new
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   484
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   485
		previousRuleClass notNil ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   486
		    stream nextPutLine: '<hr>'
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   487
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   488
		stream
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   489
		    "/ nextPutAll:'<I>',eachRule class name,':</I><BR>';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   490
		    nextPutAll:'<B>',eachRule name,'</B>';
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   491
		    nextPutAll:'<P>'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   492
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   493
		(editedMethod notNil
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   494
		and:[ eachRule result includesSelector:editedMethod selector in:editedMethod mclass ]) ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   495
		    stream nextPutLine:(eachRule rationaleWithAnchorForMethod:editedMethod)
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   496
		] ifFalse:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   497
		    stream nextPutLine: eachRule rationale.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   498
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   499
	    ].
1020
5cc6ac344d41 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1018
diff changeset
   500
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   501
	    "/ Generate fixes...
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   502
	    "/ BUG: because rules/transformations remember their result,
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   503
	    "/ after a run over a project, there might be changes for many many different classes
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   504
	    "/ in the rule's changes list.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   505
	    "/ therefore, the fixer selects only those changes which affect the current method.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   506
	    self breakPoint:#cg.
968
4cd706e4706e #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   507
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   508
	    "/ was
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   509
	    "/  eachRule fixes: fixer
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   510
	    "/ changed to:
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   511
	    editedMethod notNil ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   512
		editedClass := editedMethod mclass.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   513
		editedSelector := editedMethod selector.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   514
		(editedClass isNil or:[editedSelector isNil]) ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   515
		    Transcript showCR:'CriticsWindow: code in editor is outdated'.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   516
		    ^ self
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   517
		].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   518
	    ] ifFalse:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   519
		self breakPoint:#cg.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   520
		^ self.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   521
	    ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   522
	    eachRule
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   523
		addFixesForClass:editedClass
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   524
		selector:editedSelector
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   525
		to:fixer.
968
4cd706e4706e #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   526
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   527
	    fixesForMe := fixer fixesForRule: eachRule.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   528
	    fixesForMe notEmptyOrNil ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   529
		collectedFixes addAll:fixesForMe.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   530
	    ].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   531
	    previousRuleClass := eachRule class.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   532
	].
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   533
946
78732f808882 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 935
diff changeset
   534
    collectedFixes notEmpty ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   535
	putCollectedFixes value.
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   536
    ].
315
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   537
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   538
    "Created: / 15-12-2014 / 16:49:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   539
    "Modified: / 15-12-2014 / 18:17:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1018
f1af04fc8403 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 995
diff changeset
   540
    "Modified: / 17-02-2017 / 10:14:23 / stefan"
1020
5cc6ac344d41 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1018
diff changeset
   541
    "Modified: / 26-02-2017 / 14:52:29 / cg"
312
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   542
!
ce4e697a363c Few changes in SmallLint Critics Window
Claus Gittinger
parents: 306
diff changeset
   543
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   544
update:something with:aParameter from:changedObject
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   545
    "Invoked when an object that I depend upon sends a change notification."
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   546
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
    changedObject == ruleHolder ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   548
	 self updateRationaleAndFixes.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   549
	 ^ self.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   550
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   551
    super update:something with:aParameter from:changedObject
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   552
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   553
    "Modified: / 01-02-2012 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   554
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   555
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   556
updateRationaleAndFixes
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   557
    | rule html |
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   558
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   559
    rule := self ruleHolder value.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   560
    rule isNil ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   561
	fixer := nil.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   562
	html :=  'No rule...'.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   563
    ] ifFalse:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   564
	fixer := SmalltalkQuickFixer forView: codeView.
315
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   565
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   566
	html :=
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   567
	    String streamContents:[:s|
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   568
		self generateHTMLForRule: rule on: s.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   569
	    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   570
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   571
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   572
    self ruleRationaleAndFixesHTMLHolder value: html
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   573
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   574
    "Created: / 01-02-2012 / 10:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
315
0a4845a0c211 Update to catchup changes in libtool: refactoring to support multiple lint warnings at line
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 312
diff changeset
   575
    "Modified: / 15-12-2014 / 18:18:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   576
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   577
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   578
!CriticsWindow methodsFor:'event processing'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   579
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   580
processEvent: anEvent
1021
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   581
    "/ always stay on top
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   582
    (anEvent isPointerEnterLeaveEvent
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   583
    or:[ anEvent isFocusEvent
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   584
    or:[ anEvent view notNil and:[ anEvent view isComponentOf:codeView topView ]]]) ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   585
	self window raise.
1021
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   586
    ].
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   587
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   588
    anEvent isKeyReleaseEvent ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   589
	anEvent key == #Escape ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   590
	    self closeRequest. "/ closeDownViews.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   591
	    ^true.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   592
	].
183
cfce2733ee7e Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   593
    ].
cfce2733ee7e Allow lint window to be closed by pressing escape.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 174
diff changeset
   594
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   595
    "/ cg: if this is a modal dialog - do not exit on leave.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   596
    "/ if used as a flyBy, set the closeOnLeave flag.
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   597
    self closeOnLeave ifTrue:[
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   598
	anEvent isPointerLeaveEvent ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   599
	    anEvent view == self window ifTrue:[
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   600
		self closeRequest. "/ closeDownViews.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   601
		^true.
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   602
	    ]
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   603
	].
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   604
    ].
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
    ^false
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
1021
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   608
    "Created: / 16-02-2012 / 14:09:33 / Jan Vrany"
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   609
    "Modified (format): / 31-03-2014 / 16:53:41 / Jan Vrany"
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   610
    "Modified (comment): / 18-03-2017 / 14:26:11 / cg"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   611
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   612
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   613
!CriticsWindow methodsFor:'hooks'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   614
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   615
postBuildWith: aBuilder
935
f99d1d3a21f9 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 877
diff changeset
   616
    |window|
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   617
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   618
    super postBuildWith:aBuilder.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   619
935
f99d1d3a21f9 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 877
diff changeset
   620
    window := aBuilder window.
f99d1d3a21f9 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 877
diff changeset
   621
    window allViewBackground:(window viewBackground).
306
798ea6162eba Improvements in UI
Claus Gittinger
parents: 252
diff changeset
   622
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   623
    entered := false.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   624
    self updateRationaleAndFixes.
1021
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   625
935
f99d1d3a21f9 #UI_ENHANCEMENT
Claus Gittinger <cg@exept.de>
parents: 877
diff changeset
   626
    window beSlave.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   627
1021
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   628
    "Created: / 03-04-2011 / 10:45:10 / Jan Vrany"
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   629
    "Modified: / 16-02-2012 / 14:14:07 / Jan Vrany"
ddbfb17fdd1b #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 1020
diff changeset
   630
    "Modified (comment): / 18-03-2017 / 14:24:50 / cg"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   631
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   632
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   633
postOpenWith: bldr
174
3e08d765d86f sync from current CVS head; fixed comment highlighting for STXEOLRule
Claus Gittinger
parents: 72
diff changeset
   634
    super postOpenWith: bldr.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   635
    self windowGroup addPreEventHook: self.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   636
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   637
    "Created: / 16-02-2012 / 14:09:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   638
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   639
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   640
!CriticsWindow methodsFor:'initialization'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   641
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   642
setupHTMLView:aView
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
    rationalView := aView.
877
92bce2b53e1f class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 873
diff changeset
   644
    rationalView linkActionPerformer:self.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
    aView painter
1064
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   646
	leftMargin:20;
aa8b465f26ac flyByHelpSpec -> helpSpec
Claus Gittinger <cg@exept.de>
parents: 1021
diff changeset
   647
	topMargin:5.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
    "Created: / 04-08-2011 / 18:00:36 / cg"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   651
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   652
!CriticsWindow class methodsFor:'documentation'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   653
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   654
version
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   655
    ^ '$Header$'
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   656
!
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   657
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   658
version_CVS
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   659
    ^ '$Header$'
321
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   660
!
ba897eeaa755 initial checkin
Claus Gittinger <cg@exept.de>
parents: 320
diff changeset
   661
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   662
version_HG
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   663
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   664
    ^ '$Changeset: <not expanded> $'
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   665
!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   666
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   667
version_SVN
873
4716c7d3151a class: SmallSense::CriticsWindow
Claus Gittinger <cg@exept.de>
parents: 460
diff changeset
   668
    ^ '$Id$'
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   669
! !