Tools__LintAnnotation.st
author Claus Gittinger <cg@exept.de>
Sun, 01 Feb 2015 14:17:11 +0100
changeset 15150 940d37c7d3ac
parent 15101 05cf28ac84ef
child 15292 bd889ce17f57
permissions -rw-r--r--
class: Tools::ChangeList fixed the following redraw bug in ModelListView (which is already fixed in SelectionInListView): if a colored item is shown with selection, the color attribute should be removed (or relaxed), to avoid drawing the label invisible. I.e. if the text color is blue or grey, and the selection bg is blue. we should draw white-on-blue, instead of blue/grey on blue. For this to work, the info whether drawing a selection must be passed down through the renderer to the item's draw routine.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
Object subclass:#LintAnnotation
15028
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    17
	instanceVariableNames:'line rule'
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Lint'
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!LintAnnotation class methodsFor:'documentation'!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
              All Rights Reserved
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!LintAnnotation class methodsFor:'instance creation'!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
from: start to: end rule: rule
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    ^self new
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
        startPosition: start;
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
        endPosition: end;
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
        rule: rule;
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
        yourself.
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    "Created: / 30-01-2012 / 15:23:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
! !
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!LintAnnotation methodsFor:'accessing'!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
line
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    ^ line
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
line:anInteger
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    line := anInteger.
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
rule
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    ^ rule
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
rule:anRBLintRule
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    rule := anRBLintRule.
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
15028
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    69
    "Modified: / 15-12-2014 / 13:10:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
! !
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
14995
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    72
!LintAnnotation methodsFor:'help'!
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    73
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    74
helpTextFor:aView
15101
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    75
    |info|
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    76
14995
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    77
    rule notNil ifTrue:[
15101
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    78
        rule isComposite ifTrue:[
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    79
            info := Character cr ,
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    80
                    ((rule rules collect:[:each | aView resources string:each infoInToolTip] as:Set)
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    81
                        asStringCollection asStringWith:Character cr). 
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    82
        ] ifFalse:[
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    83
            info := aView resources string:rule infoInToolTip
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    84
        ].
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    85
14995
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    86
        ^ aView resources 
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    87
                stringWithCRs:'Lint says: %1' "/ 'Lint says: %1\Click for more info.' 
15101
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
    88
                with:info.
14995
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    89
    ].
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    90
    ^ nil
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    91
! !
9dc92bd11831 class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 13857
diff changeset
    92
15028
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    93
!LintAnnotation methodsFor:'printing & storing'!
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    94
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    95
printOn:aStream
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    96
    "append a user printed representation of the receiver to aStream.
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    97
    The format is suitable for a human - not meant to be read back."
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    98
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
    99
    self basicPrintOn: aStream.
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   100
    aStream nextPut: $(.
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   101
    line printOn: aStream.
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   102
    aStream nextPut: $).
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   103
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   104
    "Modified: / 15-12-2014 / 13:41:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   105
! !
5b22d7abf3e0 LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14995
diff changeset
   106
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!LintAnnotation class methodsFor:'documentation'!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
version
15101
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
   110
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintAnnotation.st,v 1.4 2015-01-23 12:52:33 cg Exp $'
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
version_CVS
15101
05cf28ac84ef class: Tools::LintAnnotation
Claus Gittinger <cg@exept.de>
parents: 15028
diff changeset
   114
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintAnnotation.st,v 1.4 2015-01-23 12:52:33 cg Exp $'
13857
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
! !
f60d162c2af2 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116