ToolApplicationModel.st
author tz
Tue, 25 Nov 1997 14:35:39 +0100
changeset 741 59bf61da6319
child 745 9a306f58ea68
permissions -rw-r--r--
intitial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
741
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     1
ApplicationModel subclass:#ToolApplicationModel
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     2
	instanceVariableNames:'activeHelp'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     3
	classVariableNames:''
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     4
	poolDictionaries:''
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     5
	category:'Interface-Framework'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     6
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     7
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     8
!ToolApplicationModel class methodsFor:'documentation'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
     9
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    10
documentation
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    11
"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    12
    standard framework for tools; provides hooks for about menu,
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    13
    help menu etc.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    14
    See concrete subclasses for examples.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    15
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    16
    [see also:]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    17
        ApplicationModel
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    18
        ImageEditor
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    19
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    20
    [author:]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    21
        Thomas Zwick
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    22
"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    23
! !
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    24
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    25
!ToolApplicationModel class methodsFor:'accessing'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    26
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    27
author
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    28
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    29
    ^'unknown'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    30
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    31
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    32
defaultIcon
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    33
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    34
    ^Launcher aboutIcon
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    35
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    36
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    37
label
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    38
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    39
    |label|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    40
    label := ''.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    41
    self name do:
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    42
    [:c|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    43
        c isUppercase ifTrue: [label := label, $ ].
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    44
        label := label, c
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    45
    ].
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    46
    ^label trimBlanks
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    47
! !
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    48
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    49
!ToolApplicationModel class methodsFor:'interface specs'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    50
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    51
menuAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    52
    "this window spec was automatically generated by the ST/X MenuEditor"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    53
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    54
    "do not manually edit this - the builder may not be able to
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    55
     handle the specification if its corrupted."
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    56
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    57
    "
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    58
     MenuEditor new openOnClass:MyApplicationModel andSelector:#menuAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    59
     (Menu new fromLiteralArrayEncoding:(MyApplicationModel menuAbout)) startUp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    60
    "
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    61
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    62
    <resource: #menu>
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    63
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    64
    ^
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    65
     
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    66
       #(#Menu
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    67
          
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    68
           #(
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    69
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    70
                #'label:' 'about Smalltalk/X...'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    71
                #'value:' #openAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    72
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    73
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    74
                #'label:' '-'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    75
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    76
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    77
                #'label:' 'about this application...'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    78
                #'value:' #openAboutThisApplication
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    79
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    80
          ) nil
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    81
          nil
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    82
      )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    83
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    84
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    85
menuHelp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    86
    "this window spec was automatically generated by the ST/X MenuEditor"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    87
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    88
    "do not manually edit this - the builder may not be able to
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    89
     handle the specification if its corrupted."
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    90
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    91
    "
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    92
     MenuEditor new openOnClass:MyApplicationModel andSelector:#menuHelp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    93
     (Menu new fromLiteralArrayEncoding:(MyApplicationModel menuHelp)) startUp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    94
    "
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    95
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    96
    <resource: #menu>
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    97
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    98
    ^
59bf61da6319 intitial checkin
tz
parents:
diff changeset
    99
     
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   100
       #(#Menu
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   101
          
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   102
           #(
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   103
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   104
                #'label:' 'tutorial'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   105
                #'value:' #openTutorial
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   106
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   107
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   108
                #'label:' 'programmer''s guide'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   109
                #'value:' #openProgrammersGuide
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   110
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   111
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   112
                #'label:' '-'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   113
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   114
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   115
                #'label:' 'class documentation'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   116
                #'value:' #openClassDocumentation
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   117
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   118
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   119
                #'label:' '-'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   120
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   121
             #(#MenuItem
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   122
                #'label:' 'active help'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   123
            )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   124
          ) nil
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   125
          nil
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   126
      )
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   127
! !
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   128
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   129
!ToolApplicationModel methodsFor:'accessing menu'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   130
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   131
menuAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   132
    "this window spec was automatically generated by the UI Builder"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   133
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   134
    ^ self class menuAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   135
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   136
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   137
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   138
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   139
menuHelp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   140
    "this window spec was automatically generated by the UI Builder"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   141
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   142
    ^ self class menuHelp
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   143
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   144
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   145
! !
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   146
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   147
!ToolApplicationModel methodsFor:'help'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   148
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   149
openAbout
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   150
    "show an about box"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   151
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   152
    |box|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   153
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   154
    box := AboutBox new.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   155
    box autoHideAfter:10 with:[].
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   156
    box showAtCenter
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   157
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   158
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   159
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   160
openAboutThisApplication
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   161
    "show an about this application box"
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   162
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   163
    (AboutBox title:
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   164
        'The application\\' withCRs,
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   165
        (Text string: self class label emphasis: #bold),
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   166
        '\\has been designed and implemented by \' withCRs,self class author,', eXept Software AG, Germany.  \\' withCRs)
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   167
        label:'About this application...';
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   168
        autoHideAfter:10 with:[];
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   169
        showAtCenter.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   170
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   171
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   172
openClassDocumentation
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   173
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   174
    Autoload autoloadFailedSignal handle:[:ex |
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   175
        self warn:'autoload failed.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   176
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   177
Check your source directory and/or 
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   178
the abbreviation file for the classes (correct) shortened name.'.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   179
        ex return.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   180
    ] do:[
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   181
        |text v|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   182
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   183
        text := self class htmlDocumentation.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   184
        text notNil ifTrue:[
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   185
            v := HTMLDocumentView
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   186
                    openFullOnText:text 
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   187
                    inDirectory:(Smalltalk getSystemFileName:'doc/online/english/classDoc').
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   188
            v nameSpaceForExecution: self class nameSpace.
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   189
        ]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   190
    ]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   191
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   192
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   193
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   194
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   195
openProgrammersGuide
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   196
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   197
    |dir|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   198
    ((dir := Smalltalk getSystemFileName: 'doc/online/english/programming/TOP.html') asFilename exists)
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   199
    ifTrue:
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   200
    [
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   201
        ^HTMLDocumentView openFullOnFile: dir
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   202
    ]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   203
!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   204
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   205
openTutorial
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   206
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   207
    |dir|
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   208
    ((dir := Smalltalk getSystemFileName: 'doc/online/english/getstart/tutorial.html') asFilename exists)
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   209
    ifTrue:
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   210
    [
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   211
        ^HTMLDocumentView openFullOnFile: dir
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   212
    ]
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   213
! !
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   214
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   215
!ToolApplicationModel class methodsFor:'documentation'!
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   216
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   217
version
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   218
    ^ '$Header: /cvs/stx/stx/libview2/ToolApplicationModel.st,v 1.1 1997-11-25 13:35:39 tz Exp $'
59bf61da6319 intitial checkin
tz
parents:
diff changeset
   219
! !