UIHelpTool.st
author tz
Wed, 11 Mar 1998 01:41:25 +0100
changeset 720 7f228c9cde2e
parent 717 fb90f37268be
child 722 a1bb632b1e00
permissions -rw-r--r--
show default widgets for the UISelectionPanel
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
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   324
dictionaries
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   325
    "return dictionaries"
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   326
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   327
    ^dictionaries
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   328
!
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   329
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   330
dictionaries:aDictionaryOfDictionaries
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   331
    "set dictionaries"
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   332
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   333
    (dictionaries := aDictionaryOfDictionaries) isNil ifTrue:[
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   334
        dictionaries := Dictionary new.
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   335
    ].
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   336
    self updateList.
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   337
!
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   338
151
ca
parents: 148
diff changeset
   339
dictionary
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   340
    "return dictionary"
151
ca
parents: 148
diff changeset
   341
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   342
    ^ dictionary
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   343
!
151
ca
parents: 148
diff changeset
   344
ca
parents: 148
diff changeset
   345
dictionary:aDictionary
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   346
    "set dictionary"
151
ca
parents: 148
diff changeset
   347
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   348
    (dictionary := aDictionary) isNil ifTrue:[
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   349
        dictionary := Dictionary new.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   350
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   351
    self updateList
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   352
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   353
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   354
helpKey
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   355
    listSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   356
        ^ listSelection asSymbol
151
ca
parents: 148
diff changeset
   357
    ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   358
    ^ nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   359
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   360
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   361
helpKey:aKey
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   362
    |key|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   363
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   364
    aKey size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   365
        key := aKey asString
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   366
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   367
    self listModel value:key
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   368
151
ca
parents: 148
diff changeset
   369
!
ca
parents: 148
diff changeset
   370
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   371
helpSpecFrom:aClass
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   372
    "read help text from an application associated with the class
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   373
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   374
    |help|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   375
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   376
    isModified := false.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   377
    specClass notNil
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   378
    ifTrue:
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   379
    [   
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   380
        dictionary   := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   381
        dictionaries := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   382
    ].
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   383
    specClass  := self applicationClassAssociatedWith:aClass.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   384
    (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
   385
    ifTrue: 
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   386
    [                                               
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   387
        (specClass class implements:#helpSpec) ifFalse:[
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   388
            dictionaries at: specClass name put: dictionary 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   389
        ].
717
fb90f37268be bug fixed, if window spec in non application model class implemented
tz
parents: 715
diff changeset
   390
        self listOfHelpSpecClasses contents:  (specClass withAllSuperclasses reverse collect: [:cls| cls name]).
fb90f37268be bug fixed, if window spec in non application model class implemented
tz
parents: 715
diff changeset
   391
        (self listOfHelpSpecClasses includes: #ApplicationModel)
fb90f37268be bug fixed, if window spec in non application model class implemented
tz
parents: 715
diff changeset
   392
            ifTrue: [self listOfHelpSpecClasses removeAll: (ApplicationModel withAllSuperclasses collect: [:cls| cls name])].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   393
        self selectionOfHelpSpecClass value: specClass name. 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   394
        (builder componentAt: #listOfHelpSpecClassesView) selection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   395
                (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
   396
        self helpSpecClassSelected.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   397
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   398
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   399
    self updateList
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   400
!
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   401
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   402
isModified
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   403
    ^ isModified
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   404
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   405
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   406
isModified: aBoolean
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   407
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   408
    isModified := aBoolean
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   409
!
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   410
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   411
modifiedHolder:aValueHolder
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   412
    "set the value holder set to true in case of modifying attributes
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   413
    "
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   414
    modifiedHolder notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   415
        modifiedHolder removeDependent:self. 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   416
    ].
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   417
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   418
    (modifiedHolder := aValueHolder) notNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   419
        modifiedHolder addDependent:self.
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   420
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   421
        self editTextView notNil ifTrue: [
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   422
            self editTextView modifiedChannel onChangeSend:#value to:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   423
                modifiedHolder notNil ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   424
                    self editTextView modifiedChannel value ifTrue:[
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   425
                        modifiedHolder value:true
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   426
                    ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   427
                ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   428
            ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   429
        ]
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   430
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   431
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   432
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   433
!
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   434
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   435
specClass
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   436
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   437
    ^specClass
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   438
! !
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   439
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   440
!UIHelpTool methodsFor:'actions'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   441
785417b6955d intitial checkin
ca
parents:
diff changeset
   442
accept
785417b6955d intitial checkin
ca
parents:
diff changeset
   443
    "accept the text
785417b6955d intitial checkin
ca
parents:
diff changeset
   444
    "
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   445
    |view key txt list listChgd|   
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   446
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   447
    (listSelection size == 0 or:[(view := self editTextView) isNil]) ifFalse:[
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   448
        txt    := view contents asString.
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   449
        key    := listSelection asSymbol.
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   450
        list   := self listChannel value.
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   451
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   452
        (listChgd := (dictionary at:key ifAbsent:nil) isNil) ifTrue:[
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   453
            list add:key.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   454
        ].             
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   455
        dictionary at:key put:txt.
393
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   456
a824a3a9b834 raise update notification if list size changed
ca
parents: 369
diff changeset
   457
        listChgd ifTrue:[
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   458
            self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   459
            (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
   460
        ]. 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   461
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   462
        isModified := true.
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   463
        modifiedHolder notNil ifTrue: [modifiedHolder value:true]
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   464
    ]
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   465
!
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   466
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   467
delete
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   468
    "delete selected help key
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
    listSelection notNil
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   471
    ifTrue:
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
        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
   474
        self remove.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   475
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   476
        self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   477
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   478
        isModified := true.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   479
        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
   480
    ]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   481
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   482
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   483
helpSpecClassSelected
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   484
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   485
    |clsName|
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   486
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   487
    clsName := self selectionOfHelpSpecClass value.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   488
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   489
    (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
   490
    ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   491
    [        
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   492
        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
   493
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   494
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   495
    self updateList.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   496
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   497
    listSelection notNil
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   498
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   499
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   500
        (dictionary keys includes: listSelection asSymbol)
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   501
            ifTrue: [(builder componentAt: #listOfHelpKeysView) selection: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   502
                     (self listChannel value indexOf: (builder componentAt: #helpKeyInputField) contents)]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   503
            ifFalse: [(builder componentAt: #listOfHelpKeysView) selection: nil].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   504
    ].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   505
    listSelection notNil
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   506
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   507
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   508
        self editTextView contents: (dictionary at: listSelection asSymbol ifAbsent: '')
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   509
    ]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   510
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   511
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   512
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   513
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   514
installHelpSpecInto:aClass
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   515
    "install help text
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   516
    "
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   517
    |cls src helpSpec|
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   518
335
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   519
    cls := self applicationClassAssociatedWith:aClass.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   520
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   521
    cls isNil ifTrue:[
465
1b55cc13793b do only save if modified
tz
parents: 459
diff changeset
   522
        ^ self information:'No application class defined!!'.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   523
    ].
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   524
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   525
    aClass = cls name asString       
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   526
        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
   527
478
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   528
    isModified not ifTrue:[
465
1b55cc13793b do only save if modified
tz
parents: 459
diff changeset
   529
        ^nil
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   530
    ].
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   531
704
0f2dc21e9f66 install bug fixed
tz
parents: 701
diff changeset
   532
    helpSpec := dictionaries at: cls name 
0f2dc21e9f66 install bug fixed
tz
parents: 701
diff changeset
   533
        ifAbsent: [aClass = cls name asString ifTrue: [dictionary] ifFalse: [Dictionary new]].
700
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
    (cls class implements: #helpSpec) 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   536
    ifTrue: 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   537
    [
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   538
        |superclassHelpKeys implementedHelpSpec hasChanged|
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   539
        implementedHelpSpec := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   540
        superclassHelpKeys := (cls superclass respondsTo: #helpSpec)
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   541
            ifTrue:  [cls superclass helpSpec keys]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   542
            ifFalse: [Array new].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   543
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   544
        cls helpSpec associationsDo: [:h| (superclassHelpKeys includes: h key) 
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   545
            ifFalse: [implementedHelpSpec at: h key put: h value]].
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   546
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   547
        hasChanged := false.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   548
        implementedHelpSpec associationsDo: [:h| (helpSpec            includesAssociation: h) ifFalse: [hasChanged := true]].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   549
        helpSpec            associationsDo: [:h| (implementedHelpSpec includesAssociation: h) ifFalse: [hasChanged := true]].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   550
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   551
        (implementedHelpSpec notEmpty and: [hasChanged and:
715
7eebac822985 modified bug fixed
tz
parents: 710
diff changeset
   552
        [DialogBox confirm: 'Class ', cls name asBoldText, ' already implements\a help spec!!\\Do only replace, if you have removed\help keys in an existing help spec.\' withCRs yesLabel: ' Merge ' noLabel: ' Replace ']])
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   553
        ifTrue:
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   554
        [
710
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   555
             implementedHelpSpec associationsDo: [:h| (helpSpec includesKey: h key) 
8c968790c885 use same help dict if started from the gui painter
tz
parents: 704
diff changeset
   556
                ifFalse: [helpSpec at: h key put: h value]].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   557
        ]
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   558
    ].
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   559
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   560
    helpSpec isEmpty ifTrue:[
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   561
        (cls superclass respondsTo: #helpSpec) ifTrue: [cls class removeSelector: #helpSpec].
478
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   562
        ^nil
7ba29987cc0d do not save modified but empty help dicts
tz
parents: 465
diff changeset
   563
    ].
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   564
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   565
    src  := '' writeStream.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   566
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   567
    src nextPutAll:
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   568
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   569
'helpSpec
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   570
    "return a dictionary filled with helpKey -> helptext associations.
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   571
     These are used by the activeHelp tool."
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   572
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   573
    "
292
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   574
    UIHelpTool openOnClass:', cls name asString ,'    
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   575
    "
af69e3e025a9 an empty selection is specified by 0
ca
parents: 286
diff changeset
   576
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   577
  ^ super helpSpec addPairsFrom:#(
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   578
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   579
'.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   580
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   581
    helpSpec keys asSortedCollection
456
e2bbb3f9c5fd do only save what has to be save!
tz
parents: 454
diff changeset
   582
    do:[:key |
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   583
        |txt t|
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   584
479
83ebfc3320aa stand alone bug fixed
tz
parents: 478
diff changeset
   585
        txt := helpSpec at:key.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   586
        src nextPutLine:key storeString.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   587
319
f16aa0e8541e dont crash with nonexisting bitmaps
Claus Gittinger <cg@exept.de>
parents: 299
diff changeset
   588
        t := txt asString replaceAll:(Character cr) with:(Character space).
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   589
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   590
        (t endsWith:Character space) ifTrue:[
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   591
            t := t copyWithoutLast:1
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   592
        ].
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   593
        src nextPutLine:t storeString; cr.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   594
    ].
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   595
    src nextPutLine:')'.
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   596
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   597
    Compiler compile:(src contents)
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   598
            forClass:cls class 
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   599
          inCategory:'help specs'.
196
56f63eb42a34 generate help specs
ca
parents: 172
diff changeset
   600
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   601
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   602
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   603
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   604
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   605
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   606
remove
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   607
    "remove selected help key
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   608
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   609
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   610
    self listModel value: nil.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   611
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   612
    self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   613
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   614
    modifiedHolder notNil ifTrue: [modifiedHolder value:true]
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   615
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   616
785417b6955d intitial checkin
ca
parents:
diff changeset
   617
!UIHelpTool methodsFor:'aspects'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   618
785417b6955d intitial checkin
ca
parents:
diff changeset
   619
listChannel
785417b6955d intitial checkin
ca
parents:
diff changeset
   620
785417b6955d intitial checkin
ca
parents:
diff changeset
   621
    |holder|
785417b6955d intitial checkin
ca
parents:
diff changeset
   622
785417b6955d intitial checkin
ca
parents:
diff changeset
   623
    (holder := builder bindingAt:#listChannel) isNil ifTrue:[
354
a6de8821d3bf add & remove popUpMenu
Claus Gittinger <cg@exept.de>
parents: 339
diff changeset
   624
        builder aspectAt:#listChannel put:(holder :=  OrderedCollection new asValue).
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   625
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   626
    ^ holder
785417b6955d intitial checkin
ca
parents:
diff changeset
   627
!
785417b6955d intitial checkin
ca
parents:
diff changeset
   628
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   629
listModel
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   630
785417b6955d intitial checkin
ca
parents:
diff changeset
   631
    |holder|
785417b6955d intitial checkin
ca
parents:
diff changeset
   632
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   633
    (holder := builder bindingAt:#listModel) isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   634
        holder := AspectAdaptor new subject:self; forAspect:#listSelection.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   635
        builder aspectAt:#listModel put:holder.
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   636
    ].
785417b6955d intitial checkin
ca
parents:
diff changeset
   637
    ^ holder
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   638
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   639
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   640
listOfHelpSpecClasses
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   641
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   642
    |holder|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   643
    (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
   644
        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
   645
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   646
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   647
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   648
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   649
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   650
selectionOfHelpSpecClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   651
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   652
    |holder|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   653
    (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
   654
        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
   655
    ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   656
    ^ holder
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   657
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   658
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   659
785417b6955d intitial checkin
ca
parents:
diff changeset
   660
!UIHelpTool methodsFor:'initialization'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   661
785417b6955d intitial checkin
ca
parents:
diff changeset
   662
initialize
785417b6955d intitial checkin
ca
parents:
diff changeset
   663
    "setup instance attributes
785417b6955d intitial checkin
ca
parents:
diff changeset
   664
    "
785417b6955d intitial checkin
ca
parents:
diff changeset
   665
    super initialize.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   666
    dictionary   := Dictionary new.
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   667
    dictionaries := Dictionary new.
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   668
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   669
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   670
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   671
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   672
!UIHelpTool methodsFor:'private'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   673
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   674
editTextView
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   675
    "get the editTextView or nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   676
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   677
    |view|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   678
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   679
    (view := builder componentAt:#helpTextView) notNil ifTrue:[
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   680
        view := view scrolledView.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   681
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   682
        view acceptAction isNil ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   683
            view acceptAction:[:aList| self accept ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   684
        ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   685
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   686
        view left ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   687
            (maxCharsPerLine := view extent x // view font width) < 10 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   688
                maxCharsPerLine := nil
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   689
            ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   690
        ].
454
8b016ffd83ce set modified if help text accepted
tz
parents: 393
diff changeset
   691
    ].       
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   692
    ^ view
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   693
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   694
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   695
extractHelpSpecForClass: aClass
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   697
    |helpSpecSuperClass superHelpSpecKeys helpSpec|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   698
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   699
    ((aClass class implements: #helpSpec)
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   700
    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
   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
        superHelpSpecKeys := helpSpecSuperClass helpSpec keys.
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   704
        helpSpec := Dictionary new.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   705
        aClass helpSpec associationsDo:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   706
        [:asso|
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   707
            (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
   708
        ].          
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   709
        ^dictionary := helpSpec
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   710
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   711
    ^dictionary := Dictionary new 
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   712
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   713
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   714
findHelpSpecForKey: aHelpKey
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   715
    "update list from dictionary
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   716
    "
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   717
    |dictTemp helpSpecClass superHelpSpecKeys helpSpec|
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   718
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   719
    aHelpKey isNil ifTrue: [^nil].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   720
    dictTemp := dictionary.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   721
    self listOfHelpSpecClasses value do:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   722
    [:clsName|            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   723
        (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
   724
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   725
        [        
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   726
            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
   727
        ].
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   728
        (dictionary includesKey: aHelpKey asSymbol)  
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   729
        ifTrue:
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   730
        [            
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   731
            self updateList.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   732
            ^(builder componentAt: #listOfHelpSpecClassesView) selection: 
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   733
                (self listOfHelpSpecClasses value indexOf: clsName).
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   734
        ]
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   735
    ].
700
2aae4f3b6526 supports merging into existing help specs
tz
parents: 696
diff changeset
   736
    dictionary := dictTemp
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   737
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   738
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   739
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   740
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   741
updateList
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   742
    "update list from dictionary
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   743
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   744
    self listChannel value: dictionary keys asSortedCollection
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   745
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   746
335
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   747
!UIHelpTool methodsFor:'queries'!
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   748
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   749
applicationClassAssociatedWith:aClass
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   750
    "get application class keeping the associated help text or nil
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   751
    "
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   752
    |cls|
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   753
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   754
    cls := self resolveName:aClass.
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   755
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   756
    (cls notNil and:[cls includesBehavior:UISpecification]) ifTrue:[
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   757
        ^ UISpecificationTool
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   758
    ].
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   759
  ^ cls
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   760
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   761
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   762
! !
9f048ededd7d resolveName:
ca
parents: 331
diff changeset
   763
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   764
!UIHelpTool methodsFor:'selection'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   765
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   766
listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   767
    "returns current selection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   768
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   769
    ^ listSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   770
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   771
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   772
listSelection:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   773
    "current selection changed
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   774
    "
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   775
    |txt view sel|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   776
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   777
    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
   778
    self findHelpSpecForKey: aSelection.
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   779
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   780
    aSelection isNumber ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   781
        aSelection ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   782
            sel := self listChannel value at:aSelection
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   783
        ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   784
    ] ifFalse:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   785
        aSelection size ~~ 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   786
            sel := aSelection withoutSeparators.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   787
            sel size == 0 ifTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   788
                sel := nil
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
    ].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   792
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   793
    listSelection = sel ifFalse:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   794
        listSelection := sel.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   795
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   796
        modifiedHolder notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   797
            modifiedHolder value:true.
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   798
        ].
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   799
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   800
        (view := self editTextView) notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   801
            listSelection notNil ifTrue:[
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   802
                txt := dictionary at:(listSelection asSymbol) ifAbsent:nil.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   803
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   804
                (txt isNil or:[maxCharsPerLine isNil]) ifFalse:[
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   805
                    txt := UIPainter convertString:(txt asString) maxLineSize:maxCharsPerLine skipLineFeed:false.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   806
                ]
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   807
            ]. 
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   808
            view contents:txt.
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   809
            view modified:false.
299
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   810
        ]
62009576ca33 checkin from browser
ca
parents: 292
diff changeset
   811
    ]
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   812
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   813
! !
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   814
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   815
!UIHelpTool methodsFor:'startup / release'!
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   816
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   817
closeRequest
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   818
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   819
    (isModified and:[self masterApplication isNil]) ifTrue:[
459
fb5b5ecf7e86 set modified if help text has changed
tz
parents: 456
diff changeset
   820
        (self confirm:'Exit without saving your modifications?') ifFalse:[
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   821
            ^ self
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   822
        ]
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   823
    ].
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   824
    ^ super closeRequest.
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   825
!
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   826
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   827
openInterface:aSymbol
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   828
    "open interface
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   829
    "
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   830
    super openInterface: #windowSpecForStandAlone
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   831
! !
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   832
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   833
!UIHelpTool methodsFor:'user interactions'!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   834
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   835
doFromClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   836
    "setup new specification from a class accessed through to a dialog
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   837
    "
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   838
    |cls cls2 accepted|
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   839
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   840
    specClass notNil ifTrue:[cls := specClass name asValue]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   841
                    ifFalse:[cls := '' asValue].
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   842
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   843
    [true] whileTrue:[
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   844
        accepted :=
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   845
            (DialogBox new
696
e91402372900 popup menu replaced by a list + supporting of help specs from different classes
tz
parents: 479
diff changeset
   846
                addTextLabel:'Class name:';
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   847
                addInputFieldOn:cls; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   848
                addAbortButton; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   849
                addOkButton; 
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   850
                open
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   851
            ) accepted.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   852
        accepted ifFalse:[^ self].
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   853
        cls2 := self applicationClassAssociatedWith:cls value.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   854
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   855
        (cls2 notNil and: [cls2 respondsTo: #helpSpec]) ifTrue:[ 
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   856
            ^ self helpSpecFrom:cls2
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   857
        ].
701
bcd65f75ade4 ca's #doFromClass corrected
tz
parents: 700
diff changeset
   858
        self warn:'No help spec found in class ', cls value asBoldText, '!!'.
286
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   859
    ]
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   860
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   861
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   862
doInstallHelpSpec
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   863
    "install help spec
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   864
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   865
    self installHelpSpecInto:specClass
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   866
!
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   867
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   868
doReload
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   869
    "reload specification
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   870
    "
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   871
    |oldSel model|
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   872
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   873
    model  := self listModel.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   874
    oldSel := model value.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   875
    model value:nil.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   876
    self helpSpecFrom:specClass.
23712b1d3f3d checkin from browser
ca
parents: 261
diff changeset
   877
    model value:oldSel.
369
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   878
    isModified := false.
9d34f1ff4d29 support of lineFeed charaters
ca
parents: 354
diff changeset
   879
148
785417b6955d intitial checkin
ca
parents:
diff changeset
   880
! !
785417b6955d intitial checkin
ca
parents:
diff changeset
   881
785417b6955d intitial checkin
ca
parents:
diff changeset
   882
!UIHelpTool class methodsFor:'documentation'!
785417b6955d intitial checkin
ca
parents:
diff changeset
   883
785417b6955d intitial checkin
ca
parents:
diff changeset
   884
version
785417b6955d intitial checkin
ca
parents:
diff changeset
   885
    ^ '$Header$'
785417b6955d intitial checkin
ca
parents:
diff changeset
   886
! !