Tools__LintRuleSettingsApplication.st
author Claus Gittinger <cg@exept.de>
Mon, 02 Mar 2015 11:20:20 +0100
changeset 15493 c622c88a464b
parent 15484 aa6b6dd894a2
child 15566 184cea584be5
child 15626 92dcdf76584c
permissions -rw-r--r--
class: Tools::LintRuleSettingsApplication changed: #helpFilename
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15472
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
     1
"{ Encoding: utf8 }"
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
     2
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 COPYRIGHT (c) 2006 by eXept Software AG
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
              All Rights Reserved
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 This software is furnished under a license and may be used
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 hereby transferred.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ Package: 'stx:libtool' }"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
"{ NameSpace: Tools }"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
AbstractSettingsApplication subclass:#LintRuleSettingsApplication
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
    19
	instanceVariableNames:'rulesetList rulesetSelectionHolder hasSelectionHolder
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
    20
		hasSelectionAndUserDefinedHolder smallSenseEnabledHolder'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	classVariableNames:'LastFileName'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	poolDictionaries:''
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
	category:'Interface-Lint'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!LintRuleSettingsApplication class methodsFor:'documentation'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
copyright
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 COPYRIGHT (c) 2006 by eXept Software AG
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
              All Rights Reserved
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 This software is furnished under a license and may be used
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 only in accordance with the terms of that license and with the
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 inclusion of the above copyright notice.   This software may not
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 be provided or otherwise made available to, or used by, any
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 other person.  No title to or ownership of the software is
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 hereby transferred.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!LintRuleSettingsApplication class methodsFor:'class initialization'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
initialize
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    Smalltalk addStartBlock:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
        NewLauncher
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
            addSettingsApplicationByClass: self name
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
            withName: 'Tools/SmallLint'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
            icon: nil.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    ]
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    "Created: / 04-02-2012 / 21:50:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "Modified: / 27-02-2013 / 22:37:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    57
!LintRuleSettingsApplication class methodsFor:'help specs'!
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    58
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    59
flyByHelpSpec
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    60
    "This resource specification was automatically generated
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    61
     by the UIHelpTool of ST/X."
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    62
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    63
    "Do not manually edit this!! If it is corrupted,
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    64
     the UIHelpTool may not be able to read the specification."
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    65
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    66
    "
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    67
     UIHelpTool openOnClass:Tools::LintRuleSettingsApplication    
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    68
    "
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    69
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    70
    <resource: #help>
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    71
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    72
    ^ super flyByHelpSpec addPairsFrom:#(
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    73
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    74
#add
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    75
'Create a new ruleset'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    76
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    77
#copy
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    78
'Create a copy of the selected ruleset'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    79
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    80
#edit
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    81
'Edit the selected ruleset'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    82
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    83
#export
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    84
'Export the selected ruleset as a file'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    85
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    86
#import
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    87
'Import a ruleset from a file'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    88
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    89
#remove
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    90
'Remove the selected ruleset'
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    91
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    92
#resetDefault
15359
0bbf1d44da51 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15291
diff changeset
    93
'Recreate the default ruleset with all existing RBRules.\(Do this after new rules have been added or rule classes were modified)'
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    94
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
    95
#smallSenseEnabled
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
    96
'Enable SmallSense (incremental lint rule checking in the editor).\Sorry, but this will only affect new windows,\so you have to reopen the browsers.'
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
    97
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    98
)
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
    99
! !
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   100
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!LintRuleSettingsApplication class methodsFor:'interface opening'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
open    
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    | settingsApp |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    settingsApp := SettingsDialog new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    settingsApp addApplClass:self fullName
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                withName:'SmallLint Rules'.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    settingsApp showRoot: false.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    settingsApp selectedItem value:
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
        (settingsApp applicationList root children anyOne).
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    settingsApp open.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    "Created: / 26-05-2008 / 12:17:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    "Modified: / 27-02-2013 / 11:25:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
!LintRuleSettingsApplication class methodsFor:'interface specs'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    "This resource specification was automatically generated
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
     by the UIPainter of ST/X."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "Do not manually edit this!! If it is corrupted,
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
     the UIPainter may not be able to read the specification."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
    "
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
     UIPainter new openOnClass:Tools::LintRuleSettingsApplication andSelector:#windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     Tools::LintRuleSettingsApplication new openInterface:#windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
     Tools::LintRuleSettingsApplication open
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    <resource: #canvas>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    ^ 
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   137
    #(FullSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   138
       name: windowSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   139
       window: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   140
      (WindowSpec
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   141
         label: 'Lint Settings'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   142
         name: 'Lint Settings'
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   143
         min: (Point 10 10)
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   144
         bounds: (Rectangle 0 0 587 473)
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   145
       )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   146
       component: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   147
      (SpecCollection
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   148
         collection: (
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   149
          (VerticalPanelViewSpec
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   150
             name: 'VerticalPanel1'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   151
             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   152
             horizontalLayout: fit
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   153
             verticalLayout: topFit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   154
             horizontalSpace: 3
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   155
             verticalSpace: 3
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   156
             component: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   157
            (SpecCollection
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   158
               collection: (
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   159
                (CheckBoxSpec
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   160
                   label: 'Enable Lintrule Checking in Codeview (Load SmallSense Package)'
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   161
                   name: 'CheckBox1'
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   162
                   activeHelpKey: smallSenseEnabled
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   163
                   enableChannel: hasSmallSenseNotLoaded
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   164
                   model: smallSenseEnabledHolder
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   165
                   translateLabel: true
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   166
                   useDefaultExtent: true
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   167
                 )
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   168
                (ViewSpec
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   169
                   name: 'Box2'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   170
                   component: 
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   171
                  (SpecCollection
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   172
                     collection: (
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   173
                      (LabelSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   174
                         label: 'Predefined SmallLint Rule Sets'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   175
                         name: 'Label'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   176
                         layout: (LayoutFrame 0 0 0 0 0 1 30 0)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   177
                         translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   178
                         adjust: left
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   179
                       )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   180
                      (SelectionInListModelViewSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   181
                         name: 'ProfileList'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   182
                         layout: (LayoutFrame 0 0 30 0 -128 1 0 1)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   183
                         enableChannel: svnEnabled
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   184
                         model: rulesetSelectionHolder
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   185
                         hasHorizontalScrollBar: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   186
                         hasVerticalScrollBar: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   187
                         listModel: rulesetList
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   188
                         useIndex: false
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   189
                         highlightMode: line
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   190
                         doubleClickSelector: doEdit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   191
                       )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   192
                      (VerticalPanelViewSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   193
                         name: 'Buttons1'
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   194
                         layout: (LayoutFrame -128 1 30 0 0 1 -65 0.70000000000000018)
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   195
                         horizontalLayout: fit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   196
                         verticalLayout: top
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   197
                         horizontalSpace: 5
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   198
                         verticalSpace: 3
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   199
                         component: 
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   200
                        (SpecCollection
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   201
                           collection: (
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   202
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   203
                               label: 'Edit'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   204
                               name: 'ButtonEdit'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   205
                               activeHelpKey: edit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   206
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   207
                               model: doEdit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   208
                               enableChannel: canEditHolder
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   209
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   210
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   211
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   212
                               label: 'Copy'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   213
                               name: 'ButtonCopy'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   214
                               activeHelpKey: copy
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   215
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   216
                               model: doCopy
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   217
                               enableChannel: canCopyHolder
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   218
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   219
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   220
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   221
                               label: 'New'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   222
                               name: 'ButtonAdd'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   223
                               activeHelpKey: add
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   224
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   225
                               model: doAdd
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   226
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   227
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   228
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   229
                               label: 'Remove'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   230
                               name: 'ButtonRemove'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   231
                               activeHelpKey: remove
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   232
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   233
                               model: doRemove
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   234
                               enableChannel: canRemoveHolder
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   235
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   236
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   237
                            )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   238
                          
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   239
                         )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   240
                       )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   241
                      (VerticalPanelViewSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   242
                         name: 'Buttons2'
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   243
                         layout: (LayoutFrame -128 1 -64 0.70000000000000018 0 1 0 1)
15029
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   244
                         horizontalLayout: fit
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   245
                         verticalLayout: bottom
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   246
                         horizontalSpace: 5
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   247
                         verticalSpace: 3
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   248
                         component: 
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   249
                        (SpecCollection
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   250
                           collection: (
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   251
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   252
                               label: 'Reset Default'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   253
                               name: 'Button4'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   254
                               activeHelpKey: resetDefault
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   255
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   256
                               model: doResetDefault
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   257
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   258
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   259
                            (ViewSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   260
                               name: 'Box1'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   261
                               extent: (Point 128 30)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   262
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   263
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   264
                               label: 'Export'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   265
                               name: 'Button2'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   266
                               activeHelpKey: export
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   267
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   268
                               model: doExport
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   269
                               enableChannel: canExportHolder
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   270
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   271
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   272
                            (ActionButtonSpec
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   273
                               label: 'Import'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   274
                               name: 'Button3'
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   275
                               activeHelpKey: import
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   276
                               translateLabel: true
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   277
                               model: doImport
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   278
                               extent: (Point 128 22)
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   279
                             )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   280
                            )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   281
                          
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   282
                         )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   283
                       )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   284
                      )
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   285
                    
5dccdad68e3a LintHighlighter/.LintService refactored to show multiple rules at line...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15026
diff changeset
   286
                   )
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   287
                   extent: (Point 587 443)
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   288
                 )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   289
                )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   290
              
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   291
             )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   292
           )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   293
          )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   294
        
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   295
       )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   296
     )
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
!LintRuleSettingsApplication methodsFor:'accessing'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
selection
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   303
    ^self rulesetSelectionHolder value
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    "Created: / 25-08-2010 / 14:10:03 / Jan Vrany <enter your email here>"
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   306
    "Modified: / 11-11-2014 / 15:11:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
selection: anObject
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   311
    self rulesetSelectionHolder value: anObject
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
    "Created: / 25-08-2010 / 14:09:40 / Jan Vrany <enter your email here>"
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   314
    "Modified: / 11-11-2014 / 15:11:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
!LintRuleSettingsApplication methodsFor:'actions'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
doAdd
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   322
    | ruleset |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   324
    ruleset := RBCompositeLintRule new.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   325
    ruleset name: 'New Rule Set ' , (self rulesetList size + 1) printString.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   326
    self doAdd: ruleset
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   327
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   328
    "Modified: / 14-10-2014 / 16:30:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
doAdd: anRBCompositeLintRule
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   332
    | dialog |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   334
    dialog := LintRuleEditDialog new.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   335
    dialog rule: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   336
    dialog open.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   337
    dialog accepted ifTrue:[ 
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   338
        self rulesetList add: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   339
        self rulesetSelectionHolder value: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   340
        self updateModifiedChannel.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    "Created: / 27-02-2013 / 11:25:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   344
    "Modified: / 14-10-2014 / 16:29:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
doCopy
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    | ruleset |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
    ruleset := self rulesetSelectionHolder value deepCopy.
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   353
    ruleset name: ('Copy of ' , ruleset name).
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    self doAdd:  ruleset
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    "Modified: / 27-02-2013 / 11:30:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
doEdit
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   362
    self doEdit: self rulesetSelectionHolder value.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   363
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   364
    "Modified: / 14-10-2014 / 16:48:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   365
!
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   366
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   367
doEdit: rule
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   368
    | edited dialog |    
14061
aec91e761d33 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14059
diff changeset
   369
14868
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   370
    rule isBuiltin ifTrue:[ 
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   371
        Dialog warn: (resources string: 'Cannot edit built-in rule sets').
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   372
        ^ self
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   373
    ].
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   374
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   375
    dialog := LintRuleEditDialog new.
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   376
    dialog nameEditableHolder value: false.
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   377
    edited := rule deepCopy.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   378
    dialog rule: edited.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   379
    dialog open.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   380
    dialog accepted ifTrue:[ 
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   381
        rule name: edited name.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   382
        rule rules: edited rules.
14154
5bfb4881d66d class: Tools::LintRuleSettingsApplication
Stefan Vogel <sv@exept.de>
parents: 14061
diff changeset
   383
        self updateModifiedChannel.
5bfb4881d66d class: Tools::LintRuleSettingsApplication
Stefan Vogel <sv@exept.de>
parents: 14061
diff changeset
   384
    ].
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   386
    "Created: / 14-10-2014 / 16:47:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14868
2b290ffb8a95 Warn when trying to edit built-in ruleset (by double-clicking, for example)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14852
diff changeset
   387
    "Modified: / 20-11-2014 / 01:59:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
doExport
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    | file |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   395
    DIalog warn: 'Not yet implemented'.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   396
    ^ self.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   397
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    file := Dialog requestFileName: (resources string: 'Select file') default: (LastFileName ? Filename currentDirectory / 'exported-ruleset.st').
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    file isEmptyOrNil ifTrue:[ ^ self ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
    self shouldImplement
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   403
    "Modified: / 14-10-2014 / 16:33:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
doImport
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   409
    Dialog warn: 'Not yet implemented'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   411
    "Modified: / 14-10-2014 / 16:33:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
doRemove
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
    | rule idx |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
    rule := self rulesetSelectionHolder value.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
    idx := self rulesetList indexOf: rule.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
    idx ~~ 0 ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
        self rulesetList remove: rule.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
        self rulesetList size > 0 ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
            self rulesetSelectionHolder value: (self rulesetList at: ((idx -1 ) max: 1))
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
        ]
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    self updateModifiedChannel
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
    "Modified: / 27-02-2013 / 11:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14878
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   430
!
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   431
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   432
doResetDefault
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   433
    <resource: #uiCallback>
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   434
d33a626816f6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14868
diff changeset
   435
    RBBuiltinRuleSet flushBuiltinDefault.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
!LintRuleSettingsApplication methodsFor:'aspects'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
canCopyHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    "Created: / 27-02-2013 / 11:24:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
canEditHolder
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   447
    ^self hasSelectionAndUserDefinedHolder
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
    "Created: / 27-02-2013 / 11:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   450
    "Modified: / 11-11-2014 / 15:12:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
canExportHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
    "Created: / 27-02-2013 / 11:24:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
canRemoveHolder
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   460
    ^self hasSelectionAndUserDefinedHolder
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
    "Created: / 27-02-2013 / 11:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   463
    "Modified: / 11-11-2014 / 15:12:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   464
!
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   465
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   466
hasSelectionAndUserDefinedHolder
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   467
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   468
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   469
    hasSelectionAndUserDefinedHolder isNil ifTrue:[
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   470
        hasSelectionAndUserDefinedHolder := PluggableAdaptor on: self rulesetSelectionHolder
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   471
            getter:[ :model | model value notNil and:[model value isBuiltin not ] ]
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   472
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   473
    ].
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   474
    ^ hasSelectionAndUserDefinedHolder
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   475
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   476
    "Created: / 11-11-2014 / 15:11:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
    "return/create the 'hasSelectionHolder' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
    hasSelectionHolder isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
        hasSelectionHolder := (AspectAdaptor forAspect: #notNil) subjectChannel: self rulesetSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
    ^ hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
    "Modified: / 27-02-2013 / 11:24:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
rulesetList
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
    "return/create the 'rulesetList' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
    rulesetList isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
        rulesetList := List new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    ^ rulesetList
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
    "Modified: / 27-02-2013 / 11:14:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
rulesetSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    "return/create the 'rulesetSelectionHolder' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    rulesetSelectionHolder isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
        rulesetSelectionHolder := ValueHolder new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
    ^ rulesetSelectionHolder
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   508
!
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   509
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   510
smallSenseEnabledHolder
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   511
    smallSenseEnabledHolder isNil ifTrue:[
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   512
        smallSenseEnabledHolder := ValueHolder with:false.
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   513
        smallSenseEnabledHolder onChangeSend:#updateModifiedChannel to:self
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   514
    ].
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   515
    ^ smallSenseEnabledHolder
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
!LintRuleSettingsApplication methodsFor:'protocol'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
basicReadSettings
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   523
    |rbCompositeLintRuleClass|
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   524
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   525
    self smallSenseEnabledHolder 
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   526
        value:((Smalltalk at:#'SmallSense::SmalltalkChecker') notNil
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   527
               and:[ UserPreferences current perform:#smallSenseEnabled ifNotUnderstood:false]).
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   528
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   529
    rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   530
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   531
    rbCompositeLintRuleClass isNil ifTrue:[ 
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   532
        "/ Not loaded?
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   533
        [
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   534
            Smalltalk loadPackage: #'stx:goodies/refactoryBrowser/lint'.
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   535
        ] on: PackageLoadError do:[:ex | 
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   536
            Dialog warn: (resources string: 'SmallLint package could not be loaded!!').
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   537
            ^ self.
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   538
        ].
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   539
        rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
13899
85faafbcb77c class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13840
diff changeset
   540
    ].
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   542
    rbCompositeLintRuleClass notNil ifTrue:[
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   543
        self rulesetList 
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   544
            removeAll; 
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   545
            addAll: rbCompositeLintRuleClass rulesetsBuiltin;            
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   546
            addAll: rbCompositeLintRuleClass rulesetsUserDefined deepCopy
14821
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   547
    ].
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   548
77f50f088501 Show also builtin rules in Lint rule settings dialog.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14785
diff changeset
   549
    "Modified: / 11-11-2014 / 15:08:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
basicSaveSettings
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   553
    | oldRulesets newRulesets toRemove toAdd rbCompositeLintRuleClass|
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   554
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   555
    self smallSenseEnabledHolder value ifTrue:[
15472
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
   556
        UserPreferences current addPreloadedPackage:'stx:goodies/smallsense'
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
   557
    ] ifFalse:[
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
   558
        UserPreferences current removePreloadedPackage:'stx:goodies/smallsense'
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   559
    ].
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   560
    (Smalltalk at:#'SmallSense::SmalltalkChecker') notNil ifTrue:[
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   561
        UserPreferences current 
15472
abf44e74df2f class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15359
diff changeset
   562
            perform:#smallSenseEnabled: with:(self smallSenseEnabledHolder value) ifNotUnderstood:[]
15291
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   563
    ].
fbdf542a45b3 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15100
diff changeset
   564
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   565
    rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   566
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   567
    oldRulesets := rbCompositeLintRuleClass rulesetsUserDefined.
14899
8a2d8908b414 Fix to handle old settings properly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14878
diff changeset
   568
    newRulesets := self rulesetList reject:[:e|e isBuiltin].
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   569
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   570
    toAdd := OrderedCollection withAll: newRulesets.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   571
    toRemove := Set new.
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   572
    rbCompositeLintRuleClass rulesetsUserDefined do:[:oldRuleset | 
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   573
        | newRuleset |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
14770
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   575
        newRuleset := newRulesets detect:[:each | each name = oldRuleset name ] ifNone: nil.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   576
        newRuleset isNil ifTrue:[ 
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   577
            toRemove add: oldRuleset.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   578
        ] ifFalse:[ 
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   579
            toAdd remove: newRuleset.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   580
            oldRuleset rules: newRuleset rules.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   581
        ].
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   582
    ].
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   583
    oldRulesets removeAll:toRemove.
6a3d59666ca8 Fix in reading/saving rulesets - work on copy of rulesets and update them in-place
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14769
diff changeset
   584
    oldRulesets addAll:toAdd.
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   585
    rbCompositeLintRuleClass rulesetsUserDefined: oldRulesets.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
14899
8a2d8908b414 Fix to handle old settings properly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14878
diff changeset
   587
    "Modified: / 24-11-2014 / 11:21:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   590
hasSmallSenseLoaded
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   591
   ^ (Smalltalk at:#'SmallSense::SmalltalkChecker') notNil
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   592
!
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   593
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   594
hasSmallSenseNotLoaded
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   595
   ^ self hasSmallSenseLoaded not
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   596
!
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   597
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
helpFilename
15493
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   599
    "subclasses must return either the relative name of a helpFile
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   600
     in the doc/online/<language>/help directory,
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   601
     or an absolute pathname (typically in their packageDirectory).
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
     Or nil, if no help is available."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
15493
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   604
    ^ 'Launcher/lintRuleSettings.html'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
!LintRuleSettingsApplication methodsFor:'queries'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
hasUnsavedChanges
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   612
    |defaultRules currentRules firstTry rbCompositeLintRuleClass|
14852
5dd39f1f7d2b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14821
diff changeset
   613
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   614
    self smallSenseEnabledHolder value ifTrue:[
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   615
        UserPreferences current addPreloadedPackage:'stx:goodies/smallsense'
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   616
    ].
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   617
    (UserPreferences current perform:#smallSenseEnabled ifNotUnderstood:false)
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   618
            ~= (self smallSenseEnabledHolder value) 
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   619
    ifTrue:[
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   620
        ^ true
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   621
    ].
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   622
    rbCompositeLintRuleClass := Smalltalk at:#'RBCompositeLintRule'.
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   623
    rbCompositeLintRuleClass isNil ifTrue:[^ false].
15100
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   624
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   625
    firstTry := true.
14059
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   626
    SequenceableCollection missingClassInLiteralArrayErrorSignal handle:[:ex |
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   627
        "/ maybe we have to load additional packages...
15100
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   628
        firstTry ifTrue:[
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   629
            (Smalltalk isPackageLoaded:'stx:goodies/refactoryBrowser/lint/spelling') ifFalse:[
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   630
                firstTry := false.
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   631
                Smalltalk loadPackage:'stx:goodies/refactoryBrowser/lint/spelling'.
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   632
                ex restart.
1e7b3f5e4ca6 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15029
diff changeset
   633
            ].
14059
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   634
        ].
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   635
        ex reject.
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   636
    ] do:[
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   637
        defaultRules := rbCompositeLintRuleClass rulesetsUserDefined copyAsOrderedCollection.
14852
5dd39f1f7d2b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14821
diff changeset
   638
        currentRules := self rulesetList copyAsOrderedCollection.
5dd39f1f7d2b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14821
diff changeset
   639
        "/ I will always add the defaultRule
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   640
        defaultRules removeAllFoundIn:rbCompositeLintRuleClass rulesetsBuiltin.
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   641
        currentRules removeAllFoundIn:rbCompositeLintRuleClass rulesetsBuiltin.
14852
5dd39f1f7d2b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14821
diff changeset
   642
        ^ defaultRules ~= currentRules
14059
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   643
    ].
15484
aa6b6dd894a2 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15472
diff changeset
   644
    ^ false.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    "Modified: / 28-02-2013 / 10:03:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
!LintRuleSettingsApplication class methodsFor:'documentation'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
version
15493
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   652
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.23 2015-03-02 10:20:20 cg Exp $'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
version_CVS
15493
c622c88a464b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 15484
diff changeset
   656
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.23 2015-03-02 10:20:20 cg Exp $'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
LintRuleSettingsApplication initialize!