UIHelpTool.st
author tz
Thu, 02 Apr 1998 21:16:00 +0200
changeset 765 27936ff059d3
parent 761 91e524583390
child 779 2ffa22f97d5d
permissions -rw-r--r--
obselete methods removed + comments revised
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     1
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     2
 COPYRIGHT (c) 1995 by eXept Software AG
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     3
              All Rights Reserved
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     4
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     5
 This software is furnished under a license and may be used
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     6
 only in accordance with the terms of that license and with the
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     8
 be provided or otherwise made available to, or used by, any
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
     9
 other person.  No title to or ownership of the software is
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    10
 hereby transferred.
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    11
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    12
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    13
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    14
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    15
ToolApplicationModel subclass:#UIHelpTool
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    16
	instanceVariableNames:'specClass specSelector dictionary dictionaries listSelection
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    17
		modifiedHolder maxCharsPerLine modified'
148
785417b6955d intitial checkin
ca
parents:
diff changeset
    18
	classVariableNames:''
785417b6955d intitial checkin
ca
parents:
diff changeset
    19
	poolDictionaries:''
785417b6955d intitial checkin
ca
parents:
diff changeset
    20
	category:'Interface-UIPainter'
785417b6955d intitial checkin
ca
parents:
diff changeset
    21
!
785417b6955d intitial checkin
ca
parents:
diff changeset
    22
785417b6955d intitial checkin
ca
parents:
diff changeset
    23
!UIHelpTool class methodsFor:'documentation'!
785417b6955d intitial checkin
ca
parents:
diff changeset
    24
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    25
copyright
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    26
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    27
 COPYRIGHT (c) 1995 by eXept Software AG
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    28
              All Rights Reserved
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    29
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    30
 This software is furnished under a license and may be used
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    31
 only in accordance with the terms of that license and with the
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    33
 be provided or otherwise made available to, or used by, any
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    34
 other person.  No title to or ownership of the software is
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    35
 hereby transferred.
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    36
"
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    37
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    38
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    39
!
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    40
148
785417b6955d intitial checkin
ca
parents:
diff changeset
    41
documentation
785417b6955d intitial checkin
ca
parents:
diff changeset
    42
"
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    43
    The UIHelpTool allows you to define help dictionaries for the widgets in
761
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
    44
    window applications. The tool are able to run stand alone or in other master 
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    45
    applications like the GUI Painter and the Menu Editor.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    46
    If the application responds to the selector #showHelp:aHelpText for:aView,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    47
    this selector is called by the widget's view when the mouse cursor moves over. 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    48
    If the application does not responds to that selector, and the activeHelp mode
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    49
    is enabled, an active help bubble is shown at the widget's view.
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    50
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    51
    [author:]
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    52
        Claus Atzkern, eXept Software AG
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    53
        Thomas Zwick, eXept Software AG
148
785417b6955d intitial checkin
ca
parents:
diff changeset
    54
"
785417b6955d intitial checkin
ca
parents:
diff changeset
    55
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
    56
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    57
!UIHelpTool class methodsFor:'instance creation'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    58
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    59
openOnClass:aClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    60
    "
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    61
     UIHelpTool openOnClass:self
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    62
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    63
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    64
    UIHelpTool new openOnClass:aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    65
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    66
! !
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    67
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    68
!UIHelpTool class methodsFor:'accessing'!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    69
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    70
resourceType
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    71
    "get the type of resource of the method generated by the Help Tool"
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    72
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    73
    ^#help
9b705e31d38e some cleans
tz
parents: 740
diff changeset
    74
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    75
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    76
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    77
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    78
!UIHelpTool class methodsFor:'constants'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    79
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    80
label
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    81
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    82
    ^'Help'
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    83
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    84
151
ca
parents: 148
diff changeset
    85
!UIHelpTool class methodsFor:'help specs'!
ca
parents: 148
diff changeset
    86
ca
parents: 148
diff changeset
    87
helpSpec
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    88
    "This resource specification was automatically generated
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    89
     by the UIHelpTool of ST/X."
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    90
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    91
    "Do not manually edit this!! If it is corrupted,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    92
     the UIHelpTool may not be able to read the specification."
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    93
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
    94
    "
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    95
     UIHelpTool openOnClass:UIHelpTool    
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    96
    "
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    97
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    98
    <resource: #help>
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
    99
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   100
    ^super helpSpec addPairsFrom:#(
151
ca
parents: 148
diff changeset
   101
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   102
#addHelpTextKey
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   103
'Adds the help text key to the help spec.'
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   104
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   105
#currentHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   106
'Selected help text key.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   107
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   108
#deleteHelpTextKey
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   109
'Deletes the help text key from the help spec.'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   110
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   111
#fileLoad
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   112
'Opens a dialog for selecting and loading a help spec from a class.'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   113
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   114
#fileSave
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   115
'Saves current help spec.'
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   116
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   117
#helpTextView
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   118
'Shows the help text.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   119
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   120
#listOfHelpSpecClasses
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   121
'List of the classes where help specs can be/are implemented.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   122
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   123
#listOfHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   124
'List of the help text keys.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   125
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   126
#removeHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   127
'Removes the help text key from the widget.'
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
   128
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
   129
)
151
ca
parents: 148
diff changeset
   130
! !
ca
parents: 148
diff changeset
   131
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   132
!UIHelpTool class methodsFor:'interface specs'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   133
785417b6955d intitial checkin
ca
parents:
diff changeset
   134
windowSpec
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   135
    "This resource specification was automatically generated
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   136
     by the UIPainter of ST/X."
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   137
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   138
    "Do not manually edit this!! If it is corrupted,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   139
     the UIPainter may not be able to read the specification."
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   140
785417b6955d intitial checkin
ca
parents:
diff changeset
   141
    "
151
ca
parents: 148
diff changeset
   142
     UIPainter new openOnClass:UIHelpTool andSelector:#windowSpec
ca
parents: 148
diff changeset
   143
     UIHelpTool new openInterface:#windowSpec
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   144
     UIHelpTool open
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   145
    "
785417b6955d intitial checkin
ca
parents:
diff changeset
   146
785417b6955d intitial checkin
ca
parents:
diff changeset
   147
    <resource: #canvas>
785417b6955d intitial checkin
ca
parents:
diff changeset
   148
785417b6955d intitial checkin
ca
parents:
diff changeset
   149
    ^
785417b6955d intitial checkin
ca
parents:
diff changeset
   150
     
785417b6955d intitial checkin
ca
parents:
diff changeset
   151
       #(#FullSpec
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   152
          #window: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   153
           #(#WindowSpec
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   154
              #name: 'Help Tool'
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   155
              #layout: #(#LayoutFrame 155 0 273 0 440 0 543 0)
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   156
              #label: 'Help Tool'
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   157
              #min: #(#Point 10 10)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   158
              #max: #(#Point 1160 870)
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   159
              #bounds: #(#Rectangle 155 273 441 544)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   160
              #usePreferredExtent: false
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   161
          )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   162
          #component: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   163
           #(#SpecCollection
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   164
              #collection: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   165
               #(
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   166
                 #(#VariableVerticalPanelSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   167
                    #name: 'VariableVerticalPanel'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   168
                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   169
                    #component: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   170
                     #(#SpecCollection
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   171
                        #collection: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   172
                         #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   173
                           #(#VariableHorizontalPanelSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   174
                              #name: 'VariableHorizontalPanel'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   175
                              #component: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   176
                               #(#SpecCollection
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   177
                                  #collection: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   178
                                   #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   179
                                     #(#SequenceViewSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   180
                                        #name: 'listOfHelpKeysView'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   181
                                        #activeHelpKey: #listOfHelpTexts
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   182
                                        #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   183
                                        #model: #listModel
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   184
                                        #hasHorizontalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   185
                                        #hasVerticalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   186
                                        #miniScrollerHorizontal: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   187
                                        #useIndex: false
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   188
                                        #sequenceList: #listChannel
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   189
                                    )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   190
                                     #(#ViewSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   191
                                        #name: 'Box'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   192
                                        #component: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   193
                                         #(#SpecCollection
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   194
                                            #collection: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   195
                                             #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   196
                                               #(#InputFieldSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   197
                                                  #name: 'helpKeyInputField'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   198
                                                  #layout: #(#LayoutFrame 0 0.0 29 0 0 1.0 51 0)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   199
                                                  #activeHelpKey: #currentHelpTexts
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   200
                                                  #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   201
                                                  #model: #listModel
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   202
                                                  #immediateAccept: false
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   203
                                              )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   204
                                               #(#SequenceViewSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   205
                                                  #name: 'listOfHelpSpecClassesView'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   206
                                                  #layout: #(#LayoutFrame 0 0.0 54 0 0 1.0 0 1.0)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   207
                                                  #activeHelpKey: #listOfHelpSpecClasses
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   208
                                                  #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   209
                                                  #model: #selectionOfHelpSpecClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   210
                                                  #hasHorizontalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   211
                                                  #hasVerticalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   212
                                                  #miniScrollerHorizontal: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   213
                                                  #miniScrollerVertical: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   214
                                                  #valueChangeSelector: #helpSpecClassSelected
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   215
                                                  #useIndex: false
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   216
                                                  #sequenceList: #listOfHelpSpecClasses
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   217
                                              )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   218
                                               #(#HorizontalPanelViewSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   219
                                                  #name: 'HorizontalPanel1'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   220
                                                  #layout: #(#LayoutFrame 0 0.0 2 0 0 1.0 26 0)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   221
                                                  #component: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   222
                                                   #(#SpecCollection
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   223
                                                      #collection: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   224
                                                       #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   225
                                                         #(#ActionButtonSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   226
                                                            #name: 'AddButton'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   227
                                                            #activeHelpKey: #addHelpTextKey
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   228
                                                            #label: 'Add'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   229
                                                            #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   230
                                                            #model: #doAdd
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   231
                                                            #extent: #(#Point 44 24)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   232
                                                        )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   233
                                                         #(#ActionButtonSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   234
                                                            #name: 'RemoveButton'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   235
                                                            #activeHelpKey: #removeHelpTextKey
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   236
                                                            #label: 'Remove'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   237
                                                            #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   238
                                                            #model: #doRemove
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   239
                                                            #extent: #(#Point 45 24)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   240
                                                        )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   241
                                                         #(#ActionButtonSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   242
                                                            #name: 'DeleteButton'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   243
                                                            #activeHelpKey: #deleteHelpTextKey
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   244
                                                            #label: 'Delete'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   245
                                                            #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   246
                                                            #model: #doDelete
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   247
                                                            #extent: #(#Point 45 24)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   248
                                                        )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   249
                                                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   250
                                                  )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   251
                                                  #horizontalLayout: #fit
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   252
                                                  #verticalLayout: #fit
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   253
                                                  #horizontalSpace: 3
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   254
                                                  #verticalSpace: 3
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   255
                                              )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   256
                                            )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   257
                                        )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   258
                                    )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   259
                                  )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   260
                              )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   261
                              #handles: #(#Any 0.5 1.0)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   262
                          )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   263
                           #(#TextEditorSpec
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   264
                              #name: 'helpTextView'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   265
                              #activeHelpKey: #helpTextView
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   266
                              #tabable: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   267
                              #hasHorizontalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   268
                              #hasVerticalScrollBar: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   269
                              #miniScrollerHorizontal: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   270
                              #miniScrollerVertical: true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   271
                          )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   272
                        )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   273
                    )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   274
                    #handles: #(#Any 0.5 1.0)
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   275
                )
785417b6955d intitial checkin
ca
parents:
diff changeset
   276
              )
785417b6955d intitial checkin
ca
parents:
diff changeset
   277
          )
785417b6955d intitial checkin
ca
parents:
diff changeset
   278
      )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   279
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   280
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   281
windowSpecForStandAlone
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   282
    "This resource specification was automatically generated
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   283
     by the UIPainter of ST/X."
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   284
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   285
    "Do not manually edit this!! If it is corrupted,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   286
     the UIPainter may not be able to read the specification."
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   287
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   288
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   289
     UIPainter new openOnClass:UIHelpTool andSelector:#windowSpecForStandAlone
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   290
     UIHelpTool new openInterface:#windowSpecForStandAlone
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   291
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   292
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   293
    <resource: #canvas>
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   294
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   295
    ^
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   296
     
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   297
       #(#FullSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   298
          #window: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   299
           #(#WindowSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   300
              #name: 'Help Tool'
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   301
              #layout: #(#LayoutFrame 191 0 334 0 660 0 663 0)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   302
              #label: 'Help Tool'
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   303
              #min: #(#Point 300 300)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   304
              #max: #(#Point 1152 900)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   305
              #bounds: #(#Rectangle 191 334 661 664)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   306
              #menu: #menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   307
              #usePreferredExtent: false
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   308
          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   309
          #component: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   310
           #(#SpecCollection
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   311
              #collection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   312
               #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   313
                 #(#UISubSpecification
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   314
                    #name: 'windowSpec'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   315
                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -26 1.0)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   316
                    #minorKey: #windowSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   317
                )
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   318
                 #(#UISubSpecification
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   319
                    #name: 'windowSpecForInfoBar'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   320
                    #layout: #(#LayoutFrame 0 0 -24 1 0 1 0 1)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   321
                    #majorKey: #ToolApplicationModel
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   322
                    #minorKey: #windowSpecForInfoBar
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   323
                )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   324
              )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   325
          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   326
      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   327
! !
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   328
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   329
!UIHelpTool class methodsFor:'menu specs'!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   330
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   331
menu
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   332
    "This resource specification was automatically generated
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   333
     by the MenuEditor of ST/X."
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   334
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   335
    "Do not manually edit this!! If it is corrupted,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   336
     the MenuEditor may not be able to read the specification."
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   337
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   338
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   339
     MenuEditor new openOnClass:UIHelpTool andSelector:#menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   340
     (Menu new fromLiteralArrayEncoding:(UIHelpTool menu)) startUp
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   341
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   342
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   343
    <resource: #menu>
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   344
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   345
    ^
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   346
     
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   347
       #(#Menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   348
          
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   349
           #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   350
             #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   351
                #label: 'File'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   352
                #submenu: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   353
                 #(#Menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   354
                    
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   355
                     #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   356
                       #(#MenuItem
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   357
                          #label: 'Load'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   358
                          #value: #doLoad
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   359
                          #activeHelpKey: #fileLoad
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   360
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   361
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   362
                          #label: '-'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   363
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   364
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   365
                          #label: 'Save'
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   366
                          #value: #doSave
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   367
                          #activeHelpKey: #fileSave
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   368
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   369
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   370
                          #label: '-'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   371
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   372
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   373
                          #label: 'Exit'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   374
                          #value: #closeRequest
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   375
                          #activeHelpKey: #fileExit
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   376
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   377
                    ) nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   378
                    nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   379
                )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   380
            )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   381
             #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   382
                #label: 'Edit'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   383
                #submenu: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   384
                 #(#Menu
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   385
                    
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   386
                     #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   387
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   388
                          #label: 'Add'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   389
                          #value: #doAdd
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   390
                          #activeHelpKey: #addHelpTextKey
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   391
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   392
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   393
                          #label: '-'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   394
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   395
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   396
                          #label: 'Delete'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   397
                          #value: #doDelete
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   398
                          #activeHelpKey: #deleteHelpTextKey
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   399
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   400
                    ) nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   401
                    nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   402
                )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   403
            )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   404
             #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   405
                #label: 'Help'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   406
                #startGroup: #right
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   407
                #submenu: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   408
                 #(#Menu
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   409
                    
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   410
                     #(
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   411
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   412
                          #label: 'Documentation'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   413
                          #value: #openHTMLDocument:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   414
                          #activeHelpKey: #helpHelpTool
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   415
                          #argument: 'tools/uipainter/HelpTool.html'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   416
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   417
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   418
                          #label: '-'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   419
                      )
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   420
                       #(#MenuItem
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   421
                          #label: 'Show Help Texts'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   422
                          #activeHelpKey: #helpShowHelp
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   423
                          #indication: #showHelp:
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   424
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   425
                    ) nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   426
                    nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   427
                )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   428
            )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   429
          ) nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   430
          nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   431
      )
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   432
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   433
785417b6955d intitial checkin
ca
parents:
diff changeset
   434
!UIHelpTool methodsFor:'accessing'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   435
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   436
dictionaries
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   437
    "get the dictionary of the help dictionaries of the classes having help specs
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   438
    "
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   439
    ^dictionaries
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   440
!
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   441
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   442
dictionaries:aDictionaryOfDictionaries
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   443
    "set a dictionary of the help dictionaries of the classes having help specs
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   444
    "
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   445
    (dictionaries := aDictionaryOfDictionaries) isNil ifTrue:[
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   446
        dictionaries := Dictionary new.
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   447
    ].
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   448
    self updateList.
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   449
!
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   450
151
ca
parents: 148
diff changeset
   451
dictionary
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   452
    "get the dictionary of the selected class
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   453
    "
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   454
    ^dictionary
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   455
!
151
ca
parents: 148
diff changeset
   456
ca
parents: 148
diff changeset
   457
dictionary:aDictionary
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   458
    "set dictionary of the selected class
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   459
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   460
    (dictionary := aDictionary) isNil ifTrue:[
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   461
        dictionary := Dictionary new.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   462
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   463
    self updateList
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   464
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   465
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   466
helpKey
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   467
    "get the help key of selected help text
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   468
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   469
    listSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   470
        ^ listSelection asSymbol
151
ca
parents: 148
diff changeset
   471
    ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   472
    ^ nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   473
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   474
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   475
helpKey:aKey
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   476
    "set the help key into the selection channel in order to show the help text
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   477
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   478
    |key|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   479
    aKey size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   480
        key := aKey asString
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   481
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   482
    self listModel value:key
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   483
151
ca
parents: 148
diff changeset
   484
!
ca
parents: 148
diff changeset
   485
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   486
modified
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   487
    "answer whether the help tool was modified
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   488
    "
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   489
    ^modified
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   490
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   491
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   492
modified: aBoolean
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   493
    "set the help tool as modified
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   494
    "
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   495
    modified := aBoolean
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   496
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   497
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   498
modifiedHolder:aValueHolder
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   499
    "set the value holder set to true in case of modifying attributes
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   500
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   501
    modifiedHolder notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   502
        modifiedHolder removeDependent:self. 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   503
    ].
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   504
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   505
    (modifiedHolder := aValueHolder) notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   506
        modifiedHolder addDependent:self.
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   507
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   508
        self editTextView notNil ifTrue: [
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   509
            self editTextView modifiedChannel onChangeSend:#value to:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   510
                modifiedHolder notNil ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   511
                    self editTextView modifiedChannel value ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   512
                        modifiedHolder value:true
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   513
                    ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   514
                ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   515
            ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   516
        ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   517
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   518
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   519
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   520
!
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   521
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   522
specClass
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   523
    "get the class on which the help tool works
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   524
    "
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   525
    ^specClass
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   526
! !
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   527
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   528
!UIHelpTool methodsFor:'aspects'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   529
785417b6955d intitial checkin
ca
parents:
diff changeset
   530
listChannel
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   531
    "get the value holder of the help texts
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   532
    "
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   533
    |holder|
785417b6955d intitial checkin
ca
parents:
diff changeset
   534
    (holder := builder bindingAt:#listChannel) isNil ifTrue:[
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   535
        builder aspectAt:#listChannel put:(holder :=  OrderedCollection new asValue).
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   536
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   537
    ^ holder
785417b6955d intitial checkin
ca
parents:
diff changeset
   538
!
785417b6955d intitial checkin
ca
parents:
diff changeset
   539
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   540
listModel
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   541
    "get the value holder of the help key
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   542
    "
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   543
    |holder|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   544
    (holder := builder bindingAt:#listModel) isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   545
        holder := AspectAdaptor new subject:self; forAspect:#listSelection.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   546
        builder aspectAt:#listModel put:holder.
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   547
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   548
    ^ holder
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   549
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   550
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   551
listOfHelpSpecClasses
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   552
    "get the value holder of the specClass and its superclasses 
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   553
     which are subclasses of ApplicationModel
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   554
    "
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   555
    |holder|       
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   556
    (holder := builder bindingAt:#listOfHelpSpecClasses) isNil ifTrue:[
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   557
        builder aspectAt:#listOfHelpSpecClasses put: (holder := List new)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   558
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   559
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   560
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   561
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   562
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   563
selectionOfHelpSpecClass
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   564
    "get the value holder of the selected help spec class
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   565
    "
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   566
    |holder|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   567
    (holder := builder bindingAt:#selectionOfHelpSpecClass) isNil ifTrue:[
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   568
        builder aspectAt:#selectionOfHelpSpecClass put: (holder := ValueHolder new)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   569
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   570
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   571
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   572
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   573
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   574
!UIHelpTool methodsFor:'building'!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   575
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   576
buildFromClass:aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   577
    "read the help dictionary from aClass and find remaining classes 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   578
     'between' aClass and ApplicationModel 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   579
    "
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   580
    modified := false.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   581
    specClass notNil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   582
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   583
    [   
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   584
        dictionary   := Dictionary new.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   585
        dictionaries := Dictionary new.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   586
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   587
    specClass  := self getHelpSpecClassFromClass:aClass.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   588
    (specClass isClass and: [specClass isLoaded])
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   589
    ifTrue: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   590
    [                                               
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   591
        (specClass class implements:specSelector) ifFalse:[
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   592
            dictionaries at: specClass name put: dictionary 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   593
        ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   594
        self listOfHelpSpecClasses contents:  (specClass withAllSuperclasses reverse collect: [:cls| cls name]).
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   595
        (self listOfHelpSpecClasses includes: #ApplicationModel)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   596
            ifTrue: [self listOfHelpSpecClasses removeAll: (ApplicationModel withAllSuperclasses collect: [:cls| cls name])].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   597
        self selectionOfHelpSpecClass value: specClass name.  
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   598
        (builder componentAt: #listOfHelpSpecClassesView) selection: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   599
                (self listOfHelpSpecClasses value indexOf: specClass name).
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   600
        self helpSpecClassSelected.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   601
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   602
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   603
    self updateList
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   604
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   605
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   606
buildFromClass: aClass andSelector: aSelector
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   607
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   608
    specSelector := aSelector.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   609
    self buildFromClass:aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   610
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   611
! !
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   612
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   613
!UIHelpTool methodsFor:'callbacks'!
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   614
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   615
helpSpecClassSelected
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   616
    "extract the help dictionary from the selected class and make it current
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   617
    "
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   618
    |clsName|
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   619
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   620
    clsName := self selectionOfHelpSpecClass value.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   621
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   622
    (dictionary := dictionaries at: clsName ifAbsent: nil) isNil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   623
    ifTrue:
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   624
    [        
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   625
        dictionary := dictionaries at: clsName put: (self extractHelpSpecForClass: (Smalltalk at: clsName))
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   626
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   627
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   628
    self updateList.
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   629
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   630
    listSelection notNil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   631
    ifTrue: 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   632
    [
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   633
        (dictionary keys includes: listSelection asSymbol)
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   634
            ifTrue: [(builder componentAt: #listOfHelpKeysView) selection: 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   635
                     (self listChannel value indexOf: (builder componentAt: #helpKeyInputField) contents)]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   636
            ifFalse: [(builder componentAt: #listOfHelpKeysView) selection: nil].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   637
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   638
    listSelection notNil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   639
    ifTrue: 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   640
    [
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   641
        self editTextView contents: (dictionary at: listSelection asSymbol ifAbsent: '')
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   642
    ]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   643
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   644
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   645
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   646
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   647
!UIHelpTool methodsFor:'help'!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   648
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   649
defaultInfoLabel
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   650
    "get default label for the info bar"
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   651
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   652
    specClass isClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   653
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   654
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   655
        (specClass class implements: specSelector)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   656
        ifFalse: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   657
        [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   658
            ^specSelector isNil 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   659
                ifTrue:  [specClass name, ' >> ? (no selector defined)']
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   660
                ifFalse: [specClass name, ' >> ', specSelector, ' (not implemented)']
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   661
        ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   662
        ^specClass name, ' >> ', specSelector
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   663
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   664
    ^'No class and selector defined.'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   665
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   666
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   667
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   668
! !
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   669
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   670
!UIHelpTool methodsFor:'private'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   671
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   672
askForModification
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   673
    "ask for modification"
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   674
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   675
    modified
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   676
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   677
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   678
        ((YesNoBox title: 'List was modified!!')        
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   679
            noText:'Cancel';
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   680
            yesText:'Waste it and proceed';
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   681
            showAtPointer;
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   682
            accepted) ifFalse: [^false].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   683
        modified := false
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   684
    ].
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   685
    ^true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   686
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   687
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   688
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   689
!
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   690
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   691
editTextView
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   692
    "get the editTextView or nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   693
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   694
    |view|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   695
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   696
    (view := builder componentAt:#helpTextView) notNil ifTrue:[
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   697
        view := view scrolledView.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   698
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   699
        view acceptAction isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   700
            view acceptAction:[:aList| self accept ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   701
        ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   702
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   703
        view left ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   704
            (maxCharsPerLine := view extent x // view font width) < 10 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   705
                maxCharsPerLine := nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   706
            ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   707
        ].
454
8b016ffd83ce set modified if help text accepted
tz
parents: 393
diff changeset
   708
    ].       
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   709
    ^ view
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   710
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   711
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   712
extractHelpSpecForClass: aClass
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   713
    "extract the help dictionary of aClass, it current and return it
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   714
    "
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   715
    |helpSpecSuperClass superHelpSpecKeys helpSpec|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   716
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   717
    ((aClass class implements: specSelector)
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   718
    and: [(helpSpecSuperClass := aClass allSuperclasses detect: [:cls| cls class implements: specSelector] ifNone: nil) notNil])
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   719
    ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   720
    [                  
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   721
        superHelpSpecKeys := helpSpecSuperClass helpSpec keys.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   722
        helpSpec := Dictionary new.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   723
        aClass helpSpec associationsDo:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   724
        [:asso|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   725
            (superHelpSpecKeys includes: asso key) ifFalse: [helpSpec at: asso key put: asso value]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   726
        ].          
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   727
        ^dictionary := helpSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   728
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   729
    ^dictionary := Dictionary new 
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   730
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   731
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   732
findHelpSpecForKey: aHelpKey
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   733
    "find the help spec class including aHelpKey in its help dictionary and make it current
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   734
    "
761
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   735
    |dictTemp|
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   736
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   737
    aHelpKey isNil ifTrue: [^nil].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   738
    dictTemp := dictionary.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   739
    self listOfHelpSpecClasses value do:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   740
    [:clsName|            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   741
        (dictionary := dictionaries at: clsName ifAbsent: nil) isNil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   742
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   743
        [        
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   744
            dictionary := dictionaries at: clsName put: (self extractHelpSpecForClass: (Smalltalk at: clsName))
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   745
        ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   746
        (dictionary includesKey: aHelpKey asSymbol)  
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   747
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   748
        [            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   749
            self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   750
            ^(builder componentAt: #listOfHelpSpecClassesView) selection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   751
                (self listOfHelpSpecClasses value indexOf: clsName).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   752
        ]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   753
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   754
    dictionary := dictTemp
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   755
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   756
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   757
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   758
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   759
getHelpSpecClassFromClass:aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   760
    "get application class keeping the associated help text or nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   761
    "
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   762
    |cls|
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   763
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   764
    ((cls := self resolveName:aClass) notNil and:[cls respondsTo: #helpSpecClass]) ifTrue:[
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   765
        ^cls helpSpecClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   766
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   767
    ^cls
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   768
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   769
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   770
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   771
761
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   772
getUnformattedHelpText: aHelpText
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   773
    "unformats aHelpText and returns it"
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   774
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   775
    |helpText|
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   776
    helpText := aHelpText asString replaceAll: Character cr with: Character space.
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   777
    (helpText endsWith:Character space) ifTrue:[
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   778
        helpText := helpText copyWithoutLast:1
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   779
    ].
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   780
    ^helpText
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   781
!
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   782
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   783
installHelpSpecOnClass:aClass
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   784
    "save the help dicts in aClass which is subclass of ApplicationModel"
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   785
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   786
    |cls src helpSpec|
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   787
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   788
    cls := self getHelpSpecClassFromClass: aClass.
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   789
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   790
    cls isNil ifTrue:[
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   791
        self information:'No application class defined!!'.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   792
        ^nil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   793
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   794
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   795
    (cls isSubclassOf: ApplicationModel) ifFalse:[
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   796
        self information: 'Cannot save help spec into class ', cls name asBoldText, ',\because it is not a subclass of ApplicationModel!!' withCRs.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   797
        ^nil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   798
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   799
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   800
    helpSpec := dictionaries 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   801
        at: cls name 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   802
        ifAbsent: [specClass notNil 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   803
            ifTrue:  [dictionaries at: aClass put: (self extractHelpSpecForClass: (Smalltalk at: aClass))]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   804
            ifFalse: [dictionary size > 0 ifTrue: [dictionary] ifFalse: [Dictionary new]]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   805
761
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   806
    helpSpec associationsDo:
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   807
    [:h|
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   808
        helpSpec at: h key put: (self getUnformattedHelpText: h value)
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   809
    ].
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   810
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   811
    (cls class implements: specSelector) 
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   812
    ifTrue: 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   813
    [
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   814
        |superclassHelpKeys implementedHelpSpec hasChanged|
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   815
        implementedHelpSpec := Dictionary new.
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   816
        superclassHelpKeys := (cls superclass respondsTo: specSelector)
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   817
            ifTrue:  [cls superclass helpSpec keys]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   818
            ifFalse: [Array new].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   819
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   820
        cls helpSpec associationsDo: [:h| (superclassHelpKeys includes: h key) 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   821
            ifFalse: [implementedHelpSpec at: h key put: h value]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   822
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   823
        hasChanged := false.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   824
        implementedHelpSpec associationsDo: [:h| (helpSpec            includesAssociation: h) ifFalse: [hasChanged := true]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   825
        helpSpec            associationsDo: [:h| (implementedHelpSpec includesAssociation: h) ifFalse: [hasChanged := true]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   826
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   827
        (implementedHelpSpec notEmpty and: [hasChanged and:
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   828
        [DialogBox confirm: 'Class ', cls name asBoldText, ' already implements\a help spec!!\\Do only replace, if you have removed\help keys in an existing help spec.\' withCRs yesLabel: ' Merge ' noLabel: ' Replace ']])
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   829
        ifTrue:
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   830
        [      
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   831
             implementedHelpSpec associationsDo: [:h| (helpSpec includesKey: h key) 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   832
                ifFalse: [helpSpec at: h key put: h value]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   833
        ]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   834
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   835
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   836
    helpSpec isEmpty ifTrue:[
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   837
        ^(cls superclass respondsTo: specSelector) ifTrue: [cls class removeSelector: specSelector].
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   838
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   839
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   840
    src  := '' writeStream.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   841
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   842
    src nextPutAll:
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   843
        specSelector, '\' withCRs,
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   844
        (ResourceSpecEditor codeGenerationCommentForClass: UIHelpTool) withCRs,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   845
    '\\' withCRs,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   846
    '    "\' withCRs,
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   847
    '     UIHelpTool openOnClass:', cls name asString ,'    
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   848
    "
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   849
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   850
    <resource: #help>
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   851
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   852
    ^super ', specSelector, ' addPairsFrom:#(
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   853
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   854
'.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   855
761
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   856
    helpSpec keys asSortedCollection do:
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   857
    [:key|
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   858
        src nextPutLine: key storeString.
91e524583390 do not save, if help texts have not changed (unformatting)
tz
parents: 750
diff changeset
   859
        src nextPutLine: (helpSpec at: key) storeString; cr.
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   860
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   861
    src nextPutLine:')'.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   862
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   863
    Compiler 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   864
        compile:(src contents)
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   865
        forClass:cls class 
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   866
        inCategory:'help specs'.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   867
!
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   868
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   869
installHelpSpecsOnClass:aClass
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   870
    "save the help dicts on aClass and its superclasses which are subclasses of ApplicationModel
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   871
    "
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   872
    |cls helpSpecClasses|
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   873
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   874
    cls := self getHelpSpecClassFromClass:aClass.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   875
    cls isNil ifTrue: [^self information:'No application class defined!!'].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   876
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   877
    modified ifFalse:[
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   878
        masterApplication isNil ifTrue: [self information:'Nothing was modified!!'].
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   879
        ^nil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   880
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   881
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   882
    (helpSpecClasses := self listOfHelpSpecClasses value) notNil
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   883
    ifTrue:
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   884
    [        
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   885
        (helpSpecClasses includes: cls name) ifFalse: [helpSpecClasses add: cls name].
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   886
        helpSpecClasses do: [:clsName| (self installHelpSpecOnClass: clsName) isNil ifTrue: [^modified := false]].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   887
    ]
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   888
    ifFalse:
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   889
    [      
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   890
        self installHelpSpecOnClass: cls
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   891
    ].
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   892
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   893
    modified := false.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   894
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   895
!
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   896
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   897
resourceMessage: aString
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   898
    "extract from aString the specClass and the specSelector"
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   899
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   900
    (aString notNil and: [self askForModification]) 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   901
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   902
    [            
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   903
        |msg cls sel|
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   904
        msg := aString asCollectionOfWords.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   905
        (msg size == 2 and:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   906
        [(cls := self resolveName:(msg at:1)) notNil])
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   907
        ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   908
        [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   909
            specClass := cls name.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   910
            specSelector := (msg at: 2) asSymbol.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   911
            ^true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   912
        ]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   913
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   914
    ^false
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   915
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   916
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   917
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   918
updateList
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   919
    "update the list channel from dictionary
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   920
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   921
    self listChannel value: dictionary keys asSortedCollection
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   922
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   923
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   924
!UIHelpTool methodsFor:'selection'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   925
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   926
listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   927
    "returns current selection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   928
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   929
    ^ listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   930
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   931
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   932
listSelection:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   933
    "current selection changed
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   934
    "
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   935
    |txt view sel|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   936
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   937
    aSelection isNil 
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   938
        ifTrue: [(builder componentAt: #listOfHelpKeysView) selection: nil]
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   939
        ifFalse: [(dictionary includesKey: aSelection asSymbol) ifFalse: [self findHelpSpecForKey: aSelection]].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   940
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   941
    aSelection isNumber ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   942
        aSelection ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   943
            sel := self listChannel value at:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   944
        ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   945
    ] ifFalse:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   946
        aSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   947
            sel := aSelection withoutSeparators.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   948
            sel size == 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   949
                sel := nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   950
            ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   951
        ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   952
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   953
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   954
    listSelection = sel ifFalse:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   955
        listSelection := sel.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   956
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   957
        modifiedHolder notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   958
            modifiedHolder value:true.
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   959
        ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   960
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   961
        (view := self editTextView) notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   962
            listSelection notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   963
                txt := dictionary at:(listSelection asSymbol) ifAbsent:nil.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   964
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   965
                (txt isNil or:[maxCharsPerLine isNil]) ifFalse:[
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   966
                    txt := UIPainter convertString:(txt asString) maxLineSize:maxCharsPerLine skipLineFeed:false.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   967
                ]
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   968
            ]. 
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   969
            view contents:txt.
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   970
            view modified:false.
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   971
        ]
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   972
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   973
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   974
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   975
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   976
!UIHelpTool methodsFor:'startup / release'!
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   977
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   978
closeRequest
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   979
    "before closing the help tool, ask for permission
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
   980
    "
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   981
    (self masterApplication isNil and:[self askForModification]) ifTrue:[super closeRequest]
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   982
!
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   983
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   984
initialize
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   985
    "initialize instance variables
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   986
    "
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   987
    super initialize.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   988
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   989
    specSelector := #helpSpec.
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   990
    dictionary   := Dictionary new.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   991
    dictionaries := Dictionary new.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   992
    modified   := false.
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
   993
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   994
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   995
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   996
loadFromMessage:aString
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   997
    "load a spec from class and selector"
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   998
9b705e31d38e some cleans
tz
parents: 740
diff changeset
   999
    (aString notNil and: [self askForModification]) 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1000
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1001
    [            
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1002
        |msg cls sel|
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1003
        msg := aString asCollectionOfWords.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1004
        (msg size == 2 and:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1005
        [(cls := self resolveName:(msg at:1)) notNil and:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1006
        [cls class implements: (sel := (msg at: 2) asSymbol)]])
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1007
        ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1008
        [               
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1009
            self buildFromClass: (specClass := cls name) andSelector: (specSelector := sel).
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1010
            ^true
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1011
        ]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1012
    ].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1013
    ^false
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1014
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1015
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1016
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
  1017
openInterface:aSymbol
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1018
    "do not open as stand alone
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
  1019
    "
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1020
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1021
   
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1022
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1023
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1024
openOnClass:aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1025
    "open the UIHelpTool on aClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1026
    "
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1027
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1028
    super openInterface: #windowSpecForStandAlone.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1029
    self masterApplication isNil ifTrue: [(builder componentAt: #RemoveButton) beInvisible].
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1030
    builder window label: 'Help Tool'.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1031
    self buildFromClass: aClass
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
  1032
! !
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
  1033
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
  1034
!UIHelpTool methodsFor:'user actions'!
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1035
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1036
accept
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1037
    "accept the help text
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1038
    "
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1039
    |view key txt list listChgd|   
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1040
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1041
    (listSelection size == 0 or:[(view := self editTextView) isNil]) ifFalse:[
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1042
        txt    := view contents asString.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1043
        key    := listSelection asSymbol.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1044
        list   := self listChannel value.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1045
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1046
        (listChgd := (dictionary at:key ifAbsent:nil) isNil) ifTrue:[
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1047
            list add:key.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1048
        ].             
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1049
        dictionary at:key put:txt.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1050
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1051
        listChgd ifTrue:[
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1052
            self updateList.
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1053
            (builder componentAt: #listOfHelpKeysView) selection: (list indexOf: key).
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1054
        ]. 
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1055
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
  1056
        modified := true.
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1057
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1058
    ]
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1059
!
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1060
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1061
doAdd
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1062
    "add help key
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1063
    "
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1064
    |helpKey|
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1065
    (helpKey := (builder componentAt: #helpKeyInputField asSymbol) contents) size > 0
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1066
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1067
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1068
        self listModel value: helpKey.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1069
        self accept
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1070
    ]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1071
    ifFalse:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1072
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1073
        self warn: 'First define a help key!!'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1074
    ]
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1075
!
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1076
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1077
doDelete
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1078
    "delete selected help key
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1079
    "    
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1080
    listSelection notNil
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1081
    ifTrue:
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1082
    [
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1083
        dictionary removeKey: listSelection asSymbol ifAbsent: nil.
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1084
        self doRemove.
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1085
        self updateList.
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
  1086
        modified := true.
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1087
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1088
    ]
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1089
    ifFalse:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1090
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1091
        self warn: 'First select a help key!!'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1092
    ]
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1093
!
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1094
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1095
doLoad
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1096
    "open a Resource Selection Browser in order to get a resource message"
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1097
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1098
    self loadFromMessage: 
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1099
        (ResourceSelectionBrowser
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1100
            request: 'Load ', self class resourceType asUppercaseFirst, ' Spec From Class'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1101
            onSuperclass: nil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1102
            andClass: specClass
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1103
            andSelector: specSelector ? self class resourceType
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1104
            withResourceTypes: (Array with: self class resourceType))
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1105
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1106
!
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1107
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1108
doNew
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1109
    "reset the help tool
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1110
    "
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1111
    specClass := listSelection := nil.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1112
    self dictionary: nil.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1113
    self dictionaries: nil.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1114
    self listOfHelpSpecClasses removeAll.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1115
    modified := false.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1116
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1117
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1118
doReload
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1119
    "reload the help dictionaries
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1120
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1121
    |oldSel model|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1122
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1123
    model  := self listModel.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1124
    oldSel := model value.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1125
    model value:nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1126
    self helpSpecFrom:specClass.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
  1127
    model value:oldSel.
740
e7362f3ab5e5 some bugs fixed
tz
parents: 722
diff changeset
  1128
    modified := false.
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
  1129
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1130
!
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1131
750
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1132
doRemove
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1133
    "remove selected help key
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1134
    "
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1135
    listSelection notNil
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1136
    ifTrue:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1137
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1138
        self listModel value: nil.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1139
        self updateList.
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1140
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1141
    ]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1142
    ifFalse:
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1143
    [
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1144
        self warn: 'First select a help key!!'
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1145
    ]
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1146
!
9b705e31d38e some cleans
tz
parents: 740
diff changeset
  1147
722
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1148
doSave
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1149
    "save the help dictionaries
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1150
    "
a1bb632b1e00 better save routine + help text added
tz
parents: 717
diff changeset
  1151
    self installHelpSpecsOnClass:specClass
148
785417b6955d intitial checkin
ca
parents:
diff changeset
  1152
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
  1153
785417b6955d intitial checkin
ca
parents:
diff changeset
  1154
!UIHelpTool class methodsFor:'documentation'!
785417b6955d intitial checkin
ca
parents:
diff changeset
  1155
785417b6955d intitial checkin
ca
parents:
diff changeset
  1156
version
785417b6955d intitial checkin
ca
parents:
diff changeset
  1157
    ^ '$Header$'
785417b6955d intitial checkin
ca
parents:
diff changeset
  1158
! !