Tools__LintRuleSettingsApplication.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 16 Oct 2014 17:09:14 +0200
changeset 14785 f94b74d793a6
parent 14774 9337fd51b990
child 14821 77f50f088501
permissions -rw-r--r--
class: Tools::LintRuleSettingsApplication changed: #basicSaveSettings
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
AbstractSettingsApplication subclass:#LintRuleSettingsApplication
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:'rulesetList rulesetSelectionHolder hasSelectionHolder'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:'LastFileName'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Lint'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!LintRuleSettingsApplication class methodsFor:'documentation'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
copyright
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
              All Rights Reserved
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 This software is furnished under a license and may be used
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 only in accordance with the terms of that license and with the
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 be provided or otherwise made available to, or used by, any
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 other person.  No title to or ownership of the software is
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 hereby transferred.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!LintRuleSettingsApplication class methodsFor:'class initialization'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
initialize
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    Smalltalk addStartBlock:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
        NewLauncher
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
            addSettingsApplicationByClass: self name
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
            withName: 'Tools/SmallLint'
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
            icon: nil.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    ]
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    "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
    51
    "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
    52
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!LintRuleSettingsApplication class methodsFor:'interface opening'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
open    
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    | settingsApp |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    settingsApp := SettingsDialog new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    settingsApp addApplClass:self fullName
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
                withName:'SmallLint Rules'.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    settingsApp showRoot: false.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    settingsApp selectedItem value:
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
        (settingsApp applicationList root children anyOne).
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    settingsApp open.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    "Created: / 26-05-2008 / 12:17:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    "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
    70
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!LintRuleSettingsApplication class methodsFor:'interface specs'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    "This resource specification was automatically generated
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
     by the UIPainter of ST/X."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "Do not manually edit this!! If it is corrupted,
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
     the UIPainter may not be able to read the specification."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
     UIPainter new openOnClass:Tools::LintRuleSettingsApplication andSelector:#windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
     Tools::LintRuleSettingsApplication new openInterface:#windowSpec
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     Tools::LintRuleSettingsApplication open
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    "
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    <resource: #canvas>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    ^ 
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    90
    #(FullSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    91
       name: windowSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    92
       window: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    93
      (WindowSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    94
         label: 'Profiles'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    95
         name: 'Profiles'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    96
         min: (Point 10 10)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    97
         bounds: (Rectangle 0 0 782 552)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    98
       )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
    99
       component: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   100
      (SpecCollection
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   101
         collection: (
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   102
          (LabelSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   103
             label: 'Predefined SmallLint Rule Sets'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   104
             name: 'Label'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   105
             layout: (LayoutFrame 0 0 35 0 0 1 65 0)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   106
             translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   107
             adjust: left
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   108
           )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   109
          (SelectionInListModelViewSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   110
             name: 'ProfileList'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   111
             layout: (LayoutFrame 0 0 65 0 -128 1 0 1)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   112
             enableChannel: svnEnabled
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   113
             model: rulesetSelectionHolder
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   114
             hasHorizontalScrollBar: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   115
             hasVerticalScrollBar: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   116
             listModel: rulesetList
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   117
             useIndex: false
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   118
             highlightMode: line
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   119
             doubleClickSelector: doEdit
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   120
           )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   121
          (VerticalPanelViewSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   122
             name: 'Buttons1'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   123
             layout: (LayoutFrame -124 1 65 0 0 1 0 0.7)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   124
             horizontalLayout: fit
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   125
             verticalLayout: top
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   126
             horizontalSpace: 5
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   127
             verticalSpace: 3
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   128
             component: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   129
            (SpecCollection
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   130
               collection: (
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   131
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   132
                   label: 'Add'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   133
                   name: 'ButtonAdd'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   134
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   135
                   model: doAdd
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   136
                   extent: (Point 124 22)
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
                 )
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   138
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   139
                   label: 'Copy'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   140
                   name: 'ButtonCopy'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   141
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   142
                   model: doCopy
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   143
                   enableChannel: canCopyHolder
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   144
                   extent: (Point 124 22)
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
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   147
                   label: 'Edit'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   148
                   name: 'ButtonEdit'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   149
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   150
                   model: doEdit
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   151
                   enableChannel: canEditHolder
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   152
                   extent: (Point 124 22)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   153
                 )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   154
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   155
                   label: 'Remove'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   156
                   name: 'ButtonRemove'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   157
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   158
                   model: doRemove
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   159
                   enableChannel: canRemoveHolder
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   160
                   extent: (Point 124 22)
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                 )
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   162
                )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   163
              
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   164
             )
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
           )
14231
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   166
          (VerticalPanelViewSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   167
             name: 'Buttons2'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   168
             layout: (LayoutFrame -124 1 0 0.7 0 1 0 1)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   169
             horizontalLayout: fit
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   170
             verticalLayout: bottom
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   171
             horizontalSpace: 5
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   172
             verticalSpace: 3
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   173
             component: 
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   174
            (SpecCollection
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   175
               collection: (
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   176
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   177
                   label: 'Export'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   178
                   name: 'Button2'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   179
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   180
                   model: doExport
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   181
                   enableChannel: canExportHolder
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   182
                   extent: (Point 124 22)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   183
                 )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   184
                (ActionButtonSpec
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   185
                   label: 'Import'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   186
                   name: 'Button3'
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   187
                   translateLabel: true
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   188
                   model: doImport
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   189
                   extent: (Point 124 22)
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   190
                 )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   191
                )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   192
              
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   193
             )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   194
           )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   195
          )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   196
        
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   197
       )
d747f6fed85e class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14154
diff changeset
   198
     )
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
!LintRuleSettingsApplication methodsFor:'accessing'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
selection
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    ^self selectionHolder value
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    "Created: / 25-08-2010 / 14:10:03 / Jan Vrany <enter your email here>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
selection: anObject
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    self selectionHolder value: anObject
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
    "Created: / 25-08-2010 / 14:09:40 / Jan Vrany <enter your email here>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
!LintRuleSettingsApplication methodsFor:'actions'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
doAdd
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   222
    | ruleset |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   224
    ruleset := RBCompositeLintRule new.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   225
    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
   226
    self doAdd: ruleset
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   227
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   228
    "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
   229
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
doAdd: anRBCompositeLintRule
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   232
    | dialog |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   234
    dialog := LintRuleEditDialog new.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   235
    dialog rule: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   236
    dialog open.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   237
    dialog accepted ifTrue:[ 
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   238
        self rulesetList add: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   239
        self rulesetSelectionHolder value: anRBCompositeLintRule.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   240
        self updateModifiedChannel.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    "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
   244
    "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
   245
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
doCopy
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    | ruleset |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
    ruleset := self rulesetSelectionHolder value deepCopy.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
    ruleset name: ruleset name , ' (copy)'.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    self doAdd:  ruleset
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "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
   257
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
doEdit
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
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
   262
    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
   263
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
   264
    "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
   265
!
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
   266
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
   267
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
   268
    | edited dialog |    
14061
aec91e761d33 class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 14059
diff changeset
   269
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
   270
    dialog := LintRuleEditDialog new.
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   271
    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
   272
    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
   273
    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
   274
    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
   275
    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
   276
        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
   277
        rule rules: edited rules.
14154
5bfb4881d66d class: Tools::LintRuleSettingsApplication
Stefan Vogel <sv@exept.de>
parents: 14061
diff changeset
   278
        self updateModifiedChannel.
5bfb4881d66d class: Tools::LintRuleSettingsApplication
Stefan Vogel <sv@exept.de>
parents: 14061
diff changeset
   279
    ].
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
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
   281
    "Created: / 14-10-2014 / 16:47:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   282
    "Modified: / 16-10-2014 / 11:12:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
doExport
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    | file |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   290
    DIalog warn: 'Not yet implemented'.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   291
    ^ self.
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   292
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    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
   294
    file isEmptyOrNil ifTrue:[ ^ self ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    self shouldImplement
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   298
    "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
   299
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
doImport
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   304
    Dialog warn: 'Not yet implemented'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
14769
8fbf2cc4645d UI fixes/tweaks.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14231
diff changeset
   306
    "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
   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
doRemove
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    <resource: #uiCallback>
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
    | rule idx |
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    rule := self rulesetSelectionHolder value.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    idx := self rulesetList indexOf: rule.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
    idx ~~ 0 ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
        self rulesetList remove: rule.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
        self rulesetList size > 0 ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
            self rulesetSelectionHolder value: (self rulesetList at: ((idx -1 ) max: 1))
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
        ]
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    self updateModifiedChannel
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    "Modified: / 27-02-2013 / 11:57:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
!LintRuleSettingsApplication methodsFor:'aspects'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
canCopyHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    "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
   333
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
canEditHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    "Created: / 27-02-2013 / 11:24:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
canExportHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    "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
   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
canRemoveHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    ^self hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    "Created: / 27-02-2013 / 11:24:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    "return/create the 'hasSelectionHolder' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
    hasSelectionHolder isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
        hasSelectionHolder := (AspectAdaptor forAspect: #notNil) subjectChannel: self rulesetSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
    ^ hasSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    "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
   362
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
rulesetList
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
    "return/create the 'rulesetList' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
    rulesetList isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
        rulesetList := List new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    ^ rulesetList
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
    "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
   373
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
rulesetSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    "return/create the 'rulesetSelectionHolder' value holder (automatically generated)"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    rulesetSelectionHolder isNil ifTrue:[
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
        rulesetSelectionHolder := ValueHolder new.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
    ].
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
    ^ rulesetSelectionHolder
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
!LintRuleSettingsApplication methodsFor:'protocol'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
basicReadSettings
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
13899
85faafbcb77c class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13840
diff changeset
   389
    RBCompositeLintRule notNil ifTrue:[
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   390
        self rulesetList removeAll; addAll: RBCompositeLintRule rulesetsUserDefined deepCopy
13899
85faafbcb77c class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13840
diff changeset
   391
    ].
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
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
   393
    "Modified: / 14-10-2014 / 17:40:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
basicSaveSettings
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
   397
    | oldRulesets newRulesets toRemove toAdd |
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
   398
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   399
    oldRulesets := RBCompositeLintRule rulesetsUserDefined.
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
   400
    newRulesets := self rulesetList.
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
   401
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
   402
    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
   403
    toRemove := Set new.
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   404
    RBCompositeLintRule 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
   405
        | newRuleset |
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
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
   407
        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
   408
        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
   409
            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
   410
        ] 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
   411
            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
   412
            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
   413
        ].
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
   414
    ].
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
   415
    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
   416
    oldRulesets addAll:toAdd.
14785
f94b74d793a6 class: Tools::LintRuleSettingsApplication
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14774
diff changeset
   417
    RBCompositeLintRule rulesetsUserDefined: oldRulesets.
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
14785
f94b74d793a6 class: Tools::LintRuleSettingsApplication
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14774
diff changeset
   419
    "Modified (format): / 16-10-2014 / 15:55:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
helpFilename
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
    "subclasses must return the relative name of a helpFile
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
     in the doc/online/<language>/help directory.
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
     Or nil, if no help is available."
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    ^ nil
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:16:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
!LintRuleSettingsApplication methodsFor:'queries'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
hasUnsavedChanges
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    "superclass AbstractSettingsApplication says that I am responsible to implement this method"
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
13899
85faafbcb77c class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13840
diff changeset
   437
    RBCompositeLintRule isNil ifTrue:[^ false].
14059
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   438
    SequenceableCollection missingClassInLiteralArrayErrorSignal handle:[:ex |
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   439
        "/ maybe we have to load additional packages...
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   440
        (Smalltalk isPackageLoaded:'stx:goodies/refactoryBrowser/lint/spelling') ifFalse:[
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   441
            Smalltalk loadPackage:'stx:goodies/refactoryBrowser/lint/spelling'.
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   442
            ex restart.
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   443
        ].
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   444
        ex reject.
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   445
    ] do:[
14774
9337fd51b990 Support for built-in Lint rulesets
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14770
diff changeset
   446
        ^ RBCompositeLintRule rulesetsUserDefined asArray ~= self rulesetList asArray
14059
3ede3ee7643b class: Tools::LintRuleSettingsApplication
Claus Gittinger <cg@exept.de>
parents: 13899
diff changeset
   447
    ].
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
    "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
   450
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
!LintRuleSettingsApplication class methodsFor:'documentation'!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
version
14785
f94b74d793a6 class: Tools::LintRuleSettingsApplication
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14774
diff changeset
   455
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.10 2014-10-16 15:09:14 vrany Exp $'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
!
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
version_CVS
14785
f94b74d793a6 class: Tools::LintRuleSettingsApplication
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 14774
diff changeset
   459
    ^ '$Header: /cvs/stx/stx/libtool/Tools__LintRuleSettingsApplication.st,v 1.10 2014-10-16 15:09:14 vrany Exp $'
13840
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
! !
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
ef630a77665f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
LintRuleSettingsApplication initialize!