UIHelpTool.st
author tz
Fri, 06 Mar 1998 00:27:00 +0100
changeset 704 0f2dc21e9f66
parent 701 bcd65f75ade4
child 710 8c968790c885
permissions -rw-r--r--
install bug fixed
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
148
785417b6955d intitial checkin
ca
parents:
diff changeset
    15
ApplicationModel subclass:#UIHelpTool
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    16
	instanceVariableNames:'isModified specClass dictionary dictionaries listSelection
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    17
		maxCharsPerLine modifiedHolder'
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
"
785417b6955d intitial checkin
ca
parents:
diff changeset
    43
    used by the UIPainter to add help text to any component which will be shown
785417b6955d intitial checkin
ca
parents:
diff changeset
    44
    during runing an application with enabled activeHelp mode.
156
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    45
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    46
    [author:]
b332d7117c40 added copyrights
Claus Gittinger <cg@exept.de>
parents: 151
diff changeset
    47
        Claus Atzkern
148
785417b6955d intitial checkin
ca
parents:
diff changeset
    48
"
785417b6955d intitial checkin
ca
parents:
diff changeset
    49
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
    50
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    51
!UIHelpTool class methodsFor:'instance creation'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    52
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    53
openOnClass:aClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    54
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    55
     UIHelpTool openOnClass:UIPainter
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    56
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    57
    |helpTool|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    58
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    59
    helpTool := UIHelpTool open.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    60
    helpTool helpSpecFrom:aClass.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    61
    helpTool dictionary: aClass helpSpec.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    62
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    63
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    64
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    65
!UIHelpTool class methodsFor:'constants'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    66
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    67
label
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    68
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    69
    ^'Help'
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    70
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
    71
151
ca
parents: 148
diff changeset
    72
!UIHelpTool class methodsFor:'help specs'!
ca
parents: 148
diff changeset
    73
ca
parents: 148
diff changeset
    74
helpSpec
ca
parents: 148
diff changeset
    75
    "return a dictionary filled with helpKey -> helptext associations.
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    76
     These are used by the activeHelp tool."
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    77
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
    78
    "
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    79
    UIHelpTool openOnClass:UIHelpTool    
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    80
    "
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
    81
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
    82
  ^ super helpSpec addPairsFrom:#(
151
ca
parents: 148
diff changeset
    83
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    84
#addHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    85
'Adds help text key.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    86
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    87
#currentHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    88
'Selected help text key.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    89
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    90
#deleteHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    91
'Deletes the help text from the help spec.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    92
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    93
#helpTextView
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    94
'Shows the help text.'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    95
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    96
#listOfHelpSpecClasses
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    97
'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
    98
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
    99
#listOfHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   100
'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
   101
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   102
#removeHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   103
'Removes the help text key from the widget.'
172
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
   104
10e8e0510baa helpSpec no longer under UIPainter
ca
parents: 156
diff changeset
   105
)
151
ca
parents: 148
diff changeset
   106
! !
ca
parents: 148
diff changeset
   107
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   108
!UIHelpTool class methodsFor:'interface specs'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   109
785417b6955d intitial checkin
ca
parents:
diff changeset
   110
windowSpec
785417b6955d intitial checkin
ca
parents:
diff changeset
   111
    "this window spec was automatically generated by the ST/X UIPainter"
785417b6955d intitial checkin
ca
parents:
diff changeset
   112
785417b6955d intitial checkin
ca
parents:
diff changeset
   113
    "do not manually edit this - the painter/builder may not be able to
785417b6955d intitial checkin
ca
parents:
diff changeset
   114
     handle the specification if its corrupted."
785417b6955d intitial checkin
ca
parents:
diff changeset
   115
785417b6955d intitial checkin
ca
parents:
diff changeset
   116
    "
151
ca
parents: 148
diff changeset
   117
     UIPainter new openOnClass:UIHelpTool andSelector:#windowSpec
ca
parents: 148
diff changeset
   118
     UIHelpTool new openInterface:#windowSpec
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   119
    "
151
ca
parents: 148
diff changeset
   120
    "UIHelpTool open"
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   121
785417b6955d intitial checkin
ca
parents:
diff changeset
   122
    <resource: #canvas>
785417b6955d intitial checkin
ca
parents:
diff changeset
   123
785417b6955d intitial checkin
ca
parents:
diff changeset
   124
    ^
785417b6955d intitial checkin
ca
parents:
diff changeset
   125
     
785417b6955d intitial checkin
ca
parents:
diff changeset
   126
       #(#FullSpec
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   127
          #window: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   128
           #(#WindowSpec
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   129
              #name: 'HelpTool'
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   130
              #layout: #(#LayoutFrame 90 0 295 0 375 0 565 0)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   131
              #label: 'unnamed canvas'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   132
              #min: #(#Point 10 10)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   133
              #max: #(#Point 1160 870)
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   134
              #bounds: #(#Rectangle 90 295 376 566)
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   135
              #usePreferredExtent: false
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   136
          )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   137
          #component: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   138
           #(#SpecCollection
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   139
              #collection: 
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   140
               #(
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   141
                 #(#SequenceViewSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   142
                    #name: 'listOfHelpKeysView'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   143
                    #layout: #(#LayoutFrame 3 0 2 0 -1 0.5 -1 0.5)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   144
                    #activeHelpKey: #listOfHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   145
                    #tabable: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   146
                    #model: #listModel
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   147
                    #hasHorizontalScrollBar: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   148
                    #hasVerticalScrollBar: true
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   149
                    #miniScrollerHorizontal: true
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   150
                    #useIndex: false
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   151
                    #sequenceList: #listChannel
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   152
                )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   153
                 #(#HorizontalPanelViewSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   154
                    #name: 'HorizontalPanelView'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   155
                    #layout: #(#LayoutFrame 1 0.5 2 0 -3 1 26 0)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   156
                    #component: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   157
                     #(#SpecCollection
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   158
                        #collection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   159
                         #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   160
                           #(#ActionButtonSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   161
                              #name: 'AddButton'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   162
                              #activeHelpKey: #addHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   163
                              #label: 'Add'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   164
                              #model: #accept
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   165
                              #extent: #(#Point 44 24)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   166
                          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   167
                           #(#ActionButtonSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   168
                              #name: 'RemoveButton'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   169
                              #activeHelpKey: #removeHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   170
                              #label: 'Remove'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   171
                              #model: #remove
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   172
                              #extent: #(#Point 44 24)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   173
                          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   174
                           #(#ActionButtonSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   175
                              #name: 'DeleteButton'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   176
                              #activeHelpKey: #deleteHelpTextKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   177
                              #label: 'Delete'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   178
                              #model: #delete
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   179
                              #extent: #(#Point 45 24)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   180
                          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   181
                        )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   182
                    )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   183
                    #horizontalLayout: #fit
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   184
                    #verticalLayout: #fit
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   185
                    #horizontalSpace: 3
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   186
                    #verticalSpace: 3
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   187
                )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   188
                 #(#InputFieldSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   189
                    #name: 'helpKeyInputField'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   190
                    #layout: #(#LayoutFrame 1 0.5 29 0 -3 1 51 0)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   191
                    #activeHelpKey: #currentHelpTexts
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   192
                    #model: #listModel
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   193
                )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   194
                 #(#SequenceViewSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   195
                    #name: 'listOfHelpSpecClassesView'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   196
                    #layout: #(#LayoutFrame 1 0.5 53 0 -3 1 -1 0.5)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   197
                    #activeHelpKey: #listOfHelpSpecClasses
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   198
                    #model: #selectionOfHelpSpecClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   199
                    #hasHorizontalScrollBar: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   200
                    #hasVerticalScrollBar: true
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   201
                    #miniScrollerHorizontal: true
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   202
                    #miniScrollerVertical: true
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   203
                    #valueChangeSelector: #helpSpecClassSelected
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   204
                    #useIndex: false
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   205
                    #sequenceList: #listOfHelpSpecClasses
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   206
                )
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   207
                 #(#TextEditorSpec
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   208
                    #name: 'helpTextView'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   209
                    #layout: #(#LayoutFrame 3 0.0 1 0.5 -1 1.0 -3 1.0)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   210
                    #activeHelpKey: #helpTextView
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   211
                    #hasHorizontalScrollBar: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   212
                    #hasVerticalScrollBar: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   213
                    #miniScrollerHorizontal: true
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   214
                    #miniScrollerVertical: true
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   215
                )
785417b6955d intitial checkin
ca
parents:
diff changeset
   216
              )
785417b6955d intitial checkin
ca
parents:
diff changeset
   217
          )
785417b6955d intitial checkin
ca
parents:
diff changeset
   218
      )
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   219
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   220
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   221
windowSpecForStandAlone
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   222
    "this window spec was automatically generated by the ST/X UIPainter"
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   223
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   224
    "do not manually edit this - the painter/builder may not be able to
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   225
     handle the specification if its corrupted."
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   226
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   227
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   228
     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
   229
     UIHelpTool new openInterface:#windowSpecForStandAlone
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   230
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   231
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   232
    <resource: #canvas>
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   233
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   234
    ^
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   235
     
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   236
       #(#FullSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   237
          #window: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   238
           #(#WindowSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   239
              #name: 'Help Tool'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   240
              #layout: #(#LayoutFrame 195 0 352 0 694 0 751 0)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   241
              #label: 'Help Tool'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   242
              #min: #(#Point 10 10)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   243
              #max: #(#Point 1160 870)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   244
              #bounds: #(#Rectangle 195 352 695 752)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   245
              #menu: #menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   246
              #usePreferredExtent: false
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   247
          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   248
          #component: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   249
           #(#SpecCollection
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   250
              #collection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   251
               #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   252
                 #(#UISubSpecification
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   253
                    #name: 'UISubSpecification1'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   254
                    #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   255
                    #minorKey: #windowSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   256
                )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   257
              )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   258
          )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   259
      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   260
! !
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   261
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   262
!UIHelpTool class methodsFor:'menu specs'!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   263
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   264
menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   265
    "this window spec was automatically generated by the ST/X MenuEditor"
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   266
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   267
    "do not manually edit this - the builder may not be able to
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   268
     handle the specification if its corrupted."
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   269
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   270
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   271
     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
   272
     (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
   273
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   274
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   275
    <resource: #menu>
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   276
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   277
    ^
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   278
     
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   279
       #(#Menu
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
           #(
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   282
             #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   283
                #label: 'File'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   284
                #submenu: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   285
                 #(#Menu
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   286
                    
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
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   289
                          #label: 'Reload'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   290
                          #value: #doReload
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
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   293
                          #label: '-'
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
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   296
                          #label: 'Save'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   297
                          #value: #doInstallHelpSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   298
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   299
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   300
                          #label: '-'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   301
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   302
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   303
                          #label: 'Define Class...'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   304
                          #value: #doFromClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   305
                      )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   306
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   307
                          #label: '-'
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
                       #(#MenuItem
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   310
                          #label: 'Exit'
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   311
                          #value: #closeRequest
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
                    ) nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   314
                    nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   315
                )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   316
            )
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   317
          ) nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   318
          nil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   319
      )
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   320
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   321
785417b6955d intitial checkin
ca
parents:
diff changeset
   322
!UIHelpTool methodsFor:'accessing'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   323
151
ca
parents: 148
diff changeset
   324
dictionary
ca
parents: 148
diff changeset
   325
    "return the value of the instance variable 'dictionary' (automatically generated)"
ca
parents: 148
diff changeset
   326
ca
parents: 148
diff changeset
   327
    ^ dictionary!
ca
parents: 148
diff changeset
   328
ca
parents: 148
diff changeset
   329
dictionary:aDictionary
ca
parents: 148
diff changeset
   330
    "set the value of the instance variable 'dictionary' (automatically generated)"
ca
parents: 148
diff changeset
   331
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   332
    (dictionary := aDictionary) isNil ifTrue:[
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   333
        dictionary := Dictionary new.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   334
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   335
    self updateList
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   336
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   337
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   338
helpKey
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   339
    listSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   340
        ^ listSelection asSymbol
151
ca
parents: 148
diff changeset
   341
    ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   342
    ^ nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   343
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   344
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   345
helpKey:aKey
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   346
    |key|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   347
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   348
    aKey size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   349
        key := aKey asString
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   350
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   351
    self listModel value:key
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   352
151
ca
parents: 148
diff changeset
   353
!
ca
parents: 148
diff changeset
   354
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   355
helpSpecFrom:aClass
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   356
    "read help text from an application associated with the class
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   357
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   358
    |help|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   359
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   360
    isModified := false.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   361
    specClass notNil
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   362
    ifTrue:
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   363
    [   
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   364
        dictionary   := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   365
        dictionaries := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   366
    ].
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   367
    specClass  := self applicationClassAssociatedWith:aClass.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   368
    (specClass isClass and: [specClass isLoaded])
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   369
    ifTrue: 
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   370
    [                                               
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   371
        (specClass class implements:#helpSpec) ifFalse:[
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   372
            dictionaries at: specClass name put: dictionary 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   373
        ].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   374
        self listOfHelpSpecClasses contents: (specClass withAllSuperclasses reverse collect: [:cls| cls name]).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   375
        self listOfHelpSpecClasses removeAll: (ApplicationModel withAllSuperclasses collect: [:cls| cls name]).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   376
        self selectionOfHelpSpecClass value: specClass name. 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   377
        (builder componentAt: #listOfHelpSpecClassesView) selection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   378
                (self listOfHelpSpecClasses value indexOf: specClass name).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   379
        self helpSpecClassSelected.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   380
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   381
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   382
    self updateList
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   383
!
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   384
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   385
isModified
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   386
    ^ isModified
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   387
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   388
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   389
isModified: aBoolean
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   390
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   391
    isModified := aBoolean
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   392
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   393
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   394
modifiedHolder:aValueHolder
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   395
    "set the value holder set to true in case of modifying attributes
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   396
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   397
    modifiedHolder notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   398
        modifiedHolder removeDependent:self. 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   399
    ].
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   400
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   401
    (modifiedHolder := aValueHolder) notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   402
        modifiedHolder addDependent:self.
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   403
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   404
        self editTextView notNil ifTrue: [
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   405
            self editTextView modifiedChannel onChangeSend:#value to:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   406
                modifiedHolder notNil ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   407
                    self editTextView modifiedChannel value ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   408
                        modifiedHolder value:true
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   409
                    ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   410
                ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   411
            ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   412
        ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   413
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   414
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   415
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   416
! !
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   417
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   418
!UIHelpTool methodsFor:'actions'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   419
785417b6955d intitial checkin
ca
parents:
diff changeset
   420
accept
785417b6955d intitial checkin
ca
parents:
diff changeset
   421
    "accept the text
785417b6955d intitial checkin
ca
parents:
diff changeset
   422
    "
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   423
    |view key txt list listChgd|   
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   424
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   425
    (listSelection size == 0 or:[(view := self editTextView) isNil]) ifFalse:[
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   426
        txt    := view contents asString.
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   427
        key    := listSelection asSymbol.
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   428
        list   := self listChannel value.
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   429
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   430
        (listChgd := (dictionary at:key ifAbsent:nil) isNil) ifTrue:[
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   431
            list add:key.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   432
        ].             
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   433
        dictionary at:key put:txt.
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   434
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   435
        listChgd ifTrue:[
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   436
            self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   437
            (builder componentAt: #listOfHelpKeysView) selection: (list indexOf: key).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   438
        ]. 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   439
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   440
        isModified := true.
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   441
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   442
    ]
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   443
!
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   444
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   445
delete
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   446
    "delete selected help key
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   447
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   448
    listSelection notNil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   449
    ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   450
    [
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   451
        dictionary removeKey: listSelection asSymbol ifAbsent: nil.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   452
        self remove.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   453
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   454
        self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   455
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   456
        isModified := true.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   457
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   458
    ]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   459
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   460
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   461
helpSpecClassSelected
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   462
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   463
    |clsName|
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   464
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   465
    clsName := self selectionOfHelpSpecClass value.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   466
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   467
    (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
   468
    ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   469
    [        
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   470
        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
   471
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   472
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   473
    self updateList.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   474
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   475
    listSelection notNil
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   476
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   477
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   478
        (dictionary keys includes: listSelection asSymbol)
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   479
            ifTrue: [(builder componentAt: #listOfHelpKeysView) selection: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   480
                     (self listChannel value indexOf: (builder componentAt: #helpKeyInputField) contents)]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   481
            ifFalse: [(builder componentAt: #listOfHelpKeysView) selection: nil].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   482
    ].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   483
    listSelection notNil
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   484
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   485
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   486
        self editTextView contents: (dictionary at: listSelection asSymbol ifAbsent: '')
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   487
    ]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   488
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   489
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   490
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   491
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   492
installHelpSpecInto:aClass
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   493
    "install help text
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   494
    "
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   495
    |cls src helpSpec|
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   496
335
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   497
    cls := self applicationClassAssociatedWith:aClass.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   498
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   499
    cls isNil ifTrue:[
465
1b55cc13793b do only save if modified
tz
parents: 459
diff changeset
   500
        ^ self information:'No application class defined!!'.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   501
    ].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   502
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   503
    aClass = cls name asString       
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   504
        ifTrue: [self listOfHelpSpecClasses value do: [:c| c ~~ cls name ifTrue: [self installHelpSpecInto: (Smalltalk at: c)]. isModified := true]].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   505
478
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   506
    isModified not ifTrue:[
465
1b55cc13793b do only save if modified
tz
parents: 459
diff changeset
   507
        ^nil
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   508
    ].
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   509
704
0f2dc21e9f66 install bug fixed
tz
parents: 701
diff changeset
   510
    helpSpec := dictionaries at: cls name 
0f2dc21e9f66 install bug fixed
tz
parents: 701
diff changeset
   511
        ifAbsent: [aClass = cls name asString ifTrue: [dictionary] ifFalse: [Dictionary new]].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   512
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   513
    (cls class implements: #helpSpec) 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   514
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   515
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   516
        |superclassHelpKeys implementedHelpSpec hasChanged|
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   517
        implementedHelpSpec := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   518
        superclassHelpKeys := (cls superclass respondsTo: #helpSpec)
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   519
            ifTrue:  [cls superclass helpSpec keys]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   520
            ifFalse: [Array new].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   521
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   522
        cls helpSpec associationsDo: [:h| (superclassHelpKeys includes: h key) 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   523
            ifFalse: [implementedHelpSpec at: h key put: h value]].
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   524
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   525
        hasChanged := false.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   526
        implementedHelpSpec associationsDo: [:h| (helpSpec            includesAssociation: h) ifFalse: [hasChanged := true]].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   527
        helpSpec            associationsDo: [:h| (implementedHelpSpec includesAssociation: h) ifFalse: [hasChanged := true]].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   528
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   529
        (implementedHelpSpec notEmpty and: [hasChanged and:
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   530
        [DialogBox confirm: 'Class ', cls name asBoldText, ' already implements\a menu spec!!\\Do only replace, if you have removed\help keys in an existing help spec.\' withCRs yesLabel: ' Merge ' noLabel: ' Replace ']])
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   531
        ifTrue:
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   532
        [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   533
             implementedHelpSpec associationsDo: [:h| helpSpec at: h key put: h value].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   534
        ]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   535
    ].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   536
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   537
    helpSpec isEmpty ifTrue:[
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   538
        (cls superclass respondsTo: #helpSpec) ifTrue: [cls class removeSelector: #helpSpec].
478
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   539
        ^nil
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   540
    ].
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   541
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   542
    src  := '' writeStream.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   543
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   544
    src nextPutAll:
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   545
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   546
'helpSpec
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   547
    "return a dictionary filled with helpKey -> helptext associations.
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   548
     These are used by the activeHelp tool."
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   549
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   550
    "
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   551
    UIHelpTool openOnClass:', cls name asString ,'    
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   552
    "
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   553
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   554
  ^ super helpSpec addPairsFrom:#(
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   555
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   556
'.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   557
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   558
    helpSpec keys asSortedCollection
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   559
    do:[:key |
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   560
        |txt t|
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   561
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   562
        txt := helpSpec at:key.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   563
        src nextPutLine:key storeString.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   564
319
f16aa0e8541e dont crash with nonexisting bitmaps
Claus Gittinger <cg@exept.de>
parents: 299
diff changeset
   565
        t := txt asString replaceAll:(Character cr) with:(Character space).
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   566
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   567
        (t endsWith:Character space) ifTrue:[
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   568
            t := t copyWithoutLast:1
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   569
        ].
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   570
        src nextPutLine:t storeString; cr.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   571
    ].
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   572
    src nextPutLine:')'.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   573
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   574
    Compiler compile:(src contents)
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   575
            forClass:cls class 
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   576
          inCategory:'help specs'.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   577
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   578
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   579
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   580
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   581
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   582
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   583
remove
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   584
    "remove selected help key
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   585
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   586
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   587
    self listModel value: nil.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   588
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   589
    self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   590
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   591
    modifiedHolder notNil ifTrue: [modifiedHolder value:true]
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   592
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   593
785417b6955d intitial checkin
ca
parents:
diff changeset
   594
!UIHelpTool methodsFor:'aspects'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   595
785417b6955d intitial checkin
ca
parents:
diff changeset
   596
listChannel
785417b6955d intitial checkin
ca
parents:
diff changeset
   597
785417b6955d intitial checkin
ca
parents:
diff changeset
   598
    |holder|
785417b6955d intitial checkin
ca
parents:
diff changeset
   599
785417b6955d intitial checkin
ca
parents:
diff changeset
   600
    (holder := builder bindingAt:#listChannel) isNil ifTrue:[
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   601
        builder aspectAt:#listChannel put:(holder :=  OrderedCollection new asValue).
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   602
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   603
    ^ holder
785417b6955d intitial checkin
ca
parents:
diff changeset
   604
!
785417b6955d intitial checkin
ca
parents:
diff changeset
   605
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   606
listModel
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   607
785417b6955d intitial checkin
ca
parents:
diff changeset
   608
    |holder|
785417b6955d intitial checkin
ca
parents:
diff changeset
   609
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   610
    (holder := builder bindingAt:#listModel) isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   611
        holder := AspectAdaptor new subject:self; forAspect:#listSelection.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   612
        builder aspectAt:#listModel put:holder.
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   613
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   614
    ^ holder
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   615
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   616
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   617
listOfHelpSpecClasses
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   618
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   619
    |holder|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   620
    (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
   621
        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
   622
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   623
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   624
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   625
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   626
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   627
selectionOfHelpSpecClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   628
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   629
    |holder|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   630
    (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
   631
        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
   632
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   633
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   634
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   635
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   636
785417b6955d intitial checkin
ca
parents:
diff changeset
   637
!UIHelpTool methodsFor:'initialization'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   638
785417b6955d intitial checkin
ca
parents:
diff changeset
   639
initialize
785417b6955d intitial checkin
ca
parents:
diff changeset
   640
    "setup instance attributes
785417b6955d intitial checkin
ca
parents:
diff changeset
   641
    "
785417b6955d intitial checkin
ca
parents:
diff changeset
   642
    super initialize.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   643
    dictionary   := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   644
    dictionaries := Dictionary new.
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   645
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   646
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   647
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   648
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   649
!UIHelpTool methodsFor:'private'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   650
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   651
editTextView
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   652
    "get the editTextView or nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   653
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   654
    |view|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   655
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   656
    (view := builder componentAt:#helpTextView) notNil ifTrue:[
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   657
        view := view scrolledView.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   658
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   659
        view acceptAction isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   660
            view acceptAction:[:aList| self accept ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   661
        ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   662
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   663
        view left ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   664
            (maxCharsPerLine := view extent x // view font width) < 10 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   665
                maxCharsPerLine := nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   666
            ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   667
        ].
454
8b016ffd83ce set modified if help text accepted
tz
parents: 393
diff changeset
   668
    ].       
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   669
    ^ view
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   670
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   671
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   672
extractHelpSpecForClass: aClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   673
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   674
    |helpSpecSuperClass superHelpSpecKeys helpSpec|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   675
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   676
    ((aClass class implements: #helpSpec)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   677
    and: [(helpSpecSuperClass := aClass allSuperclasses detect: [:cls| cls class implements: #helpSpec] ifNone: nil) notNil])
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   678
    ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   679
    [                  
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   680
        superHelpSpecKeys := helpSpecSuperClass helpSpec keys.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   681
        helpSpec := Dictionary new.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   682
        aClass helpSpec associationsDo:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   683
        [:asso|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   684
            (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
   685
        ].          
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   686
        ^dictionary := helpSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   687
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   688
    ^dictionary := Dictionary new 
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   689
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   690
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   691
findHelpSpecForKey: aHelpKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   692
    "update list from dictionary
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   693
    "
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   694
    |dictTemp helpSpecClass superHelpSpecKeys helpSpec|
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   695
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   696
    aHelpKey isNil ifTrue: [^nil].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   697
    dictTemp := dictionary.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   698
    self listOfHelpSpecClasses value do:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   699
    [:clsName|            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   700
        (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
   701
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   702
        [        
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   703
            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
   704
        ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   705
        (dictionary includesKey: aHelpKey asSymbol)  
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   706
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   707
        [            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   708
            self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   709
            ^(builder componentAt: #listOfHelpSpecClassesView) selection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   710
                (self listOfHelpSpecClasses value indexOf: clsName).
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
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   713
    dictionary := dictTemp
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   714
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   715
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   716
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   717
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   718
updateList
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   719
    "update list from dictionary
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
    self listChannel value: dictionary keys asSortedCollection
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   722
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   723
335
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   724
!UIHelpTool methodsFor:'queries'!
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   725
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   726
applicationClassAssociatedWith:aClass
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   727
    "get application class keeping the associated help text or nil
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   728
    "
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   729
    |cls|
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   730
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   731
    cls := self resolveName:aClass.
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   732
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   733
    (cls notNil and:[cls includesBehavior:UISpecification]) ifTrue:[
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   734
        ^ UISpecificationTool
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   735
    ].
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   736
  ^ cls
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   737
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   738
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   739
! !
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   740
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   741
!UIHelpTool methodsFor:'selection'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   742
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   743
listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   744
    "returns current selection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   745
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   746
    ^ listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   747
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   748
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   749
listSelection:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   750
    "current selection changed
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   751
    "
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   752
    |txt view sel|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   753
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   754
    aSelection isNil ifTrue: [(builder componentAt: #listOfHelpKeysView) selection: nil].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   755
    self findHelpSpecForKey: aSelection.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   756
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   757
    aSelection isNumber ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   758
        aSelection ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   759
            sel := self listChannel value at:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   760
        ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   761
    ] ifFalse:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   762
        aSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   763
            sel := aSelection withoutSeparators.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   764
            sel size == 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   765
                sel := nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   766
            ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   767
        ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   768
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   769
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   770
    listSelection = sel ifFalse:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   771
        listSelection := sel.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   772
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   773
        modifiedHolder notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   774
            modifiedHolder value:true.
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   775
        ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   776
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   777
        (view := self editTextView) notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   778
            listSelection notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   779
                txt := dictionary at:(listSelection asSymbol) ifAbsent:nil.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   780
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   781
                (txt isNil or:[maxCharsPerLine isNil]) ifFalse:[
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   782
                    txt := UIPainter convertString:(txt asString) maxLineSize:maxCharsPerLine skipLineFeed:false.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   783
                ]
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   784
            ]. 
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   785
            view contents:txt.
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   786
            view modified:false.
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   787
        ]
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   788
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   789
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   790
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   791
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   792
!UIHelpTool methodsFor:'startup / release'!
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   793
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   794
closeRequest
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   795
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   796
    (isModified and:[self masterApplication isNil]) ifTrue:[
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   797
        (self confirm:'Exit without saving your modifications?') ifFalse:[
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   798
            ^ self
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   799
        ]
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   800
    ].
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   801
    ^ super closeRequest.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   802
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   803
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   804
openInterface:aSymbol
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   805
    "open interface
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   806
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   807
    super openInterface: #windowSpecForStandAlone
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   808
! !
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   809
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   810
!UIHelpTool methodsFor:'user interactions'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   811
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   812
doFromClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   813
    "setup new specification from a class accessed through to a dialog
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   814
    "
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   815
    |cls cls2 accepted|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   816
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   817
    specClass notNil ifTrue:[cls := specClass name asValue]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   818
                    ifFalse:[cls := '' asValue].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   819
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   820
    [true] whileTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   821
        accepted :=
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   822
            (DialogBox new
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   823
                addTextLabel:'Class name:';
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   824
                addInputFieldOn:cls; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   825
                addAbortButton; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   826
                addOkButton; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   827
                open
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   828
            ) accepted.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   829
        accepted ifFalse:[^ self].
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   830
        cls2 := self applicationClassAssociatedWith:cls value.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   831
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   832
        (cls2 notNil and: [cls2 respondsTo: #helpSpec]) ifTrue:[ 
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   833
            ^ self helpSpecFrom:cls2
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   834
        ].
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   835
        self warn:'No help spec found in class ', cls value asBoldText, '!!'.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   836
    ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   837
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   838
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   839
doInstallHelpSpec
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   840
    "install help spec
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   841
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   842
    self installHelpSpecInto:specClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   843
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   844
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   845
doReload
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   846
    "reload specification
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   847
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   848
    |oldSel model|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   849
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   850
    model  := self listModel.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   851
    oldSel := model value.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   852
    model value:nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   853
    self helpSpecFrom:specClass.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   854
    model value:oldSel.
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   855
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   856
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   857
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   858
785417b6955d intitial checkin
ca
parents:
diff changeset
   859
!UIHelpTool class methodsFor:'documentation'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   860
785417b6955d intitial checkin
ca
parents:
diff changeset
   861
version
785417b6955d intitial checkin
ca
parents:
diff changeset
   862
    ^ '$Header$'
785417b6955d intitial checkin
ca
parents:
diff changeset
   863
! !