UserMessage.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 23733 15926165e957
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21746
73d0cc4cb23c #OTHER by mawalch
mawalch
parents: 21545
diff changeset
     1
"{ Encoding: utf8 }"
73d0cc4cb23c #OTHER by mawalch
mawalch
parents: 21545
diff changeset
     2
21273
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     3
"
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     4
 COPYRIGHT (c) 2001 by eXept Software AG
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     5
              All Rights Reserved
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     6
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     7
 This software is furnished under a license and may be used
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     8
 only in accordance with the terms of that license and with the
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    10
 be provided or otherwise made available to, or used by, any
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    11
 other person.  No title to or ownership of the software is
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    12
 hereby transferred.
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    13
"
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    14
"{ Package: 'stx:libbasic' }"
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
17538
a47a30ea5126 class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 16748
diff changeset
    16
"{ NameSpace: Smalltalk }"
a47a30ea5126 class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 16748
diff changeset
    17
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
Object subclass:#UserMessage
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	instanceVariableNames:'defaultString key catalogID'
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	category:'Interface-Internationalization'
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    25
!UserMessage class methodsFor:'documentation'!
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    26
21273
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    27
copyright
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    28
"
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    29
 COPYRIGHT (c) 2001 by eXept Software AG
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    30
              All Rights Reserved
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    31
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    32
 This software is furnished under a license and may be used
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    33
 only in accordance with the terms of that license and with the
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    35
 be provided or otherwise made available to, or used by, any
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    36
 other person.  No title to or ownership of the software is
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    37
 hereby transferred.
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    38
"
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    39
!
747662c2633e #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21254
diff changeset
    40
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    41
documentation
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    42
"
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    43
    added for vw5i compatibility, which accesses messageCatalogs
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    44
    via:
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    45
          (#key << #catalogID >> 'defaultMessage')
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    46
    which creates an instance of UserMessage.
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    47
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    48
    Currently, this is a dummy operation in ST/X, however it is mapped onto
23733
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    49
    the resource mechanism, if the given catalogID is the name of a class or a package.
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    50
    I.e.
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    51
        (YesNoBox classResources string:'continue')
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    52
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    53
    can now also be written as:
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    54
        (#continue << YesNoBox) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    55
        (#continue << #YesNoBox >> 'Continue really') asString
23733
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    56
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    57
    or, via the package as:
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    58
        (#continue << #stx:libwidg) asString
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    59
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    60
    If there is no such catalog, or the key is not found, either the default message is generated:    
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    61
        (#continue << #foo >> 'Continue really') asString
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    62
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    63
    or, if there is no default, the key itself is returned:
15926165e957 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 22923
diff changeset
    64
        (#continue << #foo) asString
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    65
"
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    66
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    67
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    68
examples
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    69
"
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    70
Use a class as catalog:
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    71
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    72
        self warn:(#continue << YesNoBox) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    73
                                                                [exEnd]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    74
Use a class name as catalog:
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    75
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    76
        self warn:(#continue << #YesNoBox) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    77
                                                                [exEnd]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    78
Some default text if the symbol is not present in the catalog:
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    79
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    80
        self warn:(#continue << #YesNoBox >> 'Default for continue') asString.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    81
        self warn:(#continueRRRRRRR << #YesNoBox >> 'Default for continue') asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    82
                                                                [exEnd]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    83
Here we inherit from the top catalog:
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    84
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    85
        self information:(Time now printStringFormat:(#TIMEFORMAT << self >> 'Resolved via default %h:%m:%s') asString)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    86
                                                                [exEnd]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    87
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    88
Can also use a package's catalog:
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    89
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    90
        self information:((#'WARN_RENAME' << #'stx:libtool' ) 
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    91
                          withCRs bindWith:'ARG1' with:'ARG2')
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    92
                                                                [exEnd]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    93
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    94
Lazy resolving the catalog in a block
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    95
(if you generate the messages at startup and want to recognize language changes):
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    96
                                                                [exBegin]
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    97
        self information:((#'WARN_RENAME' << [ Tools::NewSystemBrowser classResources ] ) 
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    98
                          withCRs bindWith:'ARG1' with:'ARG2')
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
    99
                                                                [exEnd]
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
   100
"
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
   101
! !
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!UserMessage class methodsFor:'instance creation'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
     ^ self new key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
     ^ self new key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   113
!UserMessage methodsFor:'Compatibility-V''Age'!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   114
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   115
bindWith:aString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   116
    "return a copy of the receiver, where a '%1' escape is
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   117
     replaced by aString.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   118
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   119
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   120
    ^ self expandPlaceholdersWith:(Array with:aString)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   121
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   122
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   123
     'do you like %1 ?' bindWith:'smalltalk'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   124
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   125
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   126
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   127
bindWith:string1 with:string2
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   128
    "return a copy of the receiver, where a '%1' escape is
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   129
     replaced by string1 and '%2' is replaced by string2.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   130
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   131
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   132
    ^ self expandPlaceholdersWith:(Array with:string1 with:string2)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   133
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   134
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   135
     'do you prefer %1 or rather %2 ?'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   136
	bindWith:'smalltalk' with:'c++'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   137
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   138
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   139
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   140
bindWith:str1 with:str2 with:str3
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   141
    "return a copy of the receiver, where a '%1', '%2' and '%3' escapes
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   142
     are replaced by str1, str2 and str3 respectively.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   143
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   144
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   145
    ^ self expandPlaceholdersWith:(Array with:str1 with:str2 with:str3)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   146
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   147
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   148
     'do you prefer %1 or rather %2 (not talking about %3) ?'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   149
	bindWith:'smalltalk' with:'c++' with:'c'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   150
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   151
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   152
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   153
bindWith:str1 with:str2 with:str3 with:str4
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   154
    "return a copy of the receiver, where a '%1', '%2', '%3' and '%4' escapes
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   155
     are replaced by str1, str2, str3 and str4 respectively.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   156
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   157
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   158
    ^ self expandPlaceholdersWith:(Array with:str1 with:str2 with:str3 with:str4)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   159
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   160
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   161
     'do you prefer %1 or rather %2 (not talking about %3 or even %4) ?'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   162
	bindWith:'smalltalk' with:'c++' with:'c' with:'assembler'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   163
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   164
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   165
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   166
bindWith:str1 with:str2 with:str3 with:str4 with:str5
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   167
    "return a copy of the receiver, where a '%1' .. '%5' escapes
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   168
     are replaced by str1 .. str5 respectively.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   169
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   170
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   171
    ^ self expandPlaceholdersWith:(Array with:str1 with:str2 with:str3 with:str4 with:str5)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   172
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   173
    "Created: 31.1.1997 / 16:25:42 / cg"
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   174
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   175
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   176
bindWith:str1 with:str2 with:str3 with:str4 with:str5 with:str6
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   177
    "return a copy of the receiver, where a '%1' .. '%6' escapes
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   178
     are replaced by str1 .. str6 respectively.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   179
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   180
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   181
    ^ self expandPlaceholdersWith:(Array with:str1 with:str2
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   182
					 with:str3 with:str4
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   183
					 with:str5 with:str6)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   184
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   185
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   186
bindWith:str1 with:str2 with:str3 with:str4 with:str5 with:str6 with:str7
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   187
    "return a copy of the receiver, where a '%1' .. '%7' escapes
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   188
     are replaced by str1 .. str7 respectively.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   189
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   190
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   191
    ^ self expandPlaceholdersWith:(Array with:str1 with:str2
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   192
					 with:str3 with:str4
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   193
					 with:str5 with:str6
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   194
					 with:str7)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   195
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   196
22923
cb7ed00c7904 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21746
diff changeset
   197
bindWithArguments:argumentsCollection
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   198
    "return a copy of the receiver, where a '%i' escape
21746
73d0cc4cb23c #OTHER by mawalch
mawalch
parents: 21545
diff changeset
   199
     is replaced by the corresponding string from the argument array.
22923
cb7ed00c7904 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21746
diff changeset
   200
     'i' may be between 1 and 9 (i.e. a maximum of 9 placeholders is allowed),
cb7ed00c7904 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21746
diff changeset
   201
     or %(key); the argumentsCollection must then be a dictionary.
21254
f73dd4933007 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 18683
diff changeset
   202
     To get an integer-indexed placeHolder followed by another digit,
f73dd4933007 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 18683
diff changeset
   203
     or an index > 9, you must use %(digit).
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   204
     This has been added for VisualAge compatibility."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   205
22923
cb7ed00c7904 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 21746
diff changeset
   206
    ^ self expandPlaceholdersWith:argumentsCollection
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   207
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   208
    "
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   209
     'do you prefer %1 or rather %2 (not talking about %3) ?'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   210
        bindWithArguments:#('smalltalk' 'c++' 'c')
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   211
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   212
     'do you %(what) ?'
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   213
        bindWithArguments:(Dictionary new at:#'what' put:'understand'; yourself)
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   214
    "
21746
73d0cc4cb23c #OTHER by mawalch
mawalch
parents: 21545
diff changeset
   215
73d0cc4cb23c #OTHER by mawalch
mawalch
parents: 21545
diff changeset
   216
    "Modified (comment): / 11-05-2017 / 12:42:01 / mawalch"
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   217
! !
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   218
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
!UserMessage methodsFor:'accessing'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
catalogID
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
     ^ catalogID 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
     catalogID := aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
     ^ defaultString 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
     defaultString := aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
key
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
     ^ key
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
key:aKeySymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
     catalogID := aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
     defaultString := aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
!UserMessage methodsFor:'converting'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
asString
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   258
    "convert the user message to a string.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   259
     If there us no mapping for the user message -
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   260
        for now: return the defaultString, ignoring the catalogID."
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    |str|
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    str := self lookupInMessageCatalog.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    str notNil ifTrue:[ ^ str ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    defaultString notNil ifTrue:[
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
        ^ defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    ^ key asString
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   270
!
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   271
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   272
string
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   273
    ^ self asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   274
! !
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   275
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   276
!UserMessage methodsFor:'printing & storing'!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   277
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   278
displayOn:aStream
17538
a47a30ea5126 class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 16748
diff changeset
   279
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
21545
aaa72feed755 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 21273
diff changeset
   280
    "/ old ST80 means: draw-yourself on a GC.
16748
47cbbcdcb90a displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 13364
diff changeset
   281
    (aStream isStream) ifFalse:[
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   282
        self asString displayOn:aStream.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   283
        ^ self
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   284
    ].
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   285
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   286
    key storeOn:aStream.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   287
    aStream nextPutAll:' << '.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   288
    catalogID storeOn:aStream.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   289
    defaultString notNil ifTrue:[
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   290
        aStream nextPutAll:' >> '.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   291
        defaultString storeOn:aStream.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   292
    ].
21545
aaa72feed755 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 21273
diff changeset
   293
aaa72feed755 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 21273
diff changeset
   294
    "Modified (comment): / 22-02-2017 / 16:48:03 / cg"
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   295
!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   296
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   297
printOn:aStream
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   298
    aStream nextPutAll:self asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   299
! !
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   300
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   301
!UserMessage methodsFor:'special string converting'!
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   302
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   303
expandMacros
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   304
    ^ self asString expandMacros
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   305
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   306
!
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   307
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   308
expandMacrosWith:arg1
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   309
    ^ self asString expandMacrosWith:arg1
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   310
12092
4e065b823c40 added: #string
Claus Gittinger <cg@exept.de>
parents: 6887
diff changeset
   311
!
4e065b823c40 added: #string
Claus Gittinger <cg@exept.de>
parents: 6887
diff changeset
   312
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   313
expandPlaceholdersWith:argArrayOrDictionary
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   314
    ^ self asString expandPlaceholdersWith:argArrayOrDictionary
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   315
!
6591
586fb5c604ba #displayString
Stefan Vogel <sv@exept.de>
parents: 6117
diff changeset
   316
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   317
expandPlaceholdersWith:argArrayOrDictionary on:aStream
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   318
    ^ self asString expandPlaceholdersWith:argArrayOrDictionary on:aStream
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   319
!
6591
586fb5c604ba #displayString
Stefan Vogel <sv@exept.de>
parents: 6117
diff changeset
   320
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   321
withCRs
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   322
   ^ self asString withCRs
6591
586fb5c604ba #displayString
Stefan Vogel <sv@exept.de>
parents: 6117
diff changeset
   323
! !
586fb5c604ba #displayString
Stefan Vogel <sv@exept.de>
parents: 6117
diff changeset
   324
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
!UserMessage methodsFor:'utilities'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
<< aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    "set the catalogID"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    self catalogID:aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
>> aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    "set the default string"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    self defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
     (#theFooMessage << #myMessages >> 'cannot read subclass of metaclass') 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
lookupInMessageCatalog
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   344
    |messageCatalog resolvedMessageCatalog|
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   346
    "catalogID may be a block"
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   347
    messageCatalog := resolvedMessageCatalog :=catalogID value.
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   349
    "for now - handle the case that the catalogID is
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   350
     a classes name; in that case, ask its resourcePack."
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   351
    messageCatalog isSymbol ifTrue:[
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   352
        resolvedMessageCatalog := Smalltalk at:messageCatalog.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   353
        resolvedMessageCatalog isNil ifTrue:[
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   354
            "no class, so it is a packageID"
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   355
            resolvedMessageCatalog := ResourcePack forPackage:messageCatalog cached:true.
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   356
        ].
6887
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   357
    ].
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   358
    resolvedMessageCatalog isBehavior ifTrue:[
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   359
        resolvedMessageCatalog := resolvedMessageCatalog classResources.
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    ].
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   361
    (resolvedMessageCatalog isNil) ifTrue:[
6887
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   362
        defaultString isNil ifTrue:[
18683
4ee8e684946d class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 17538
diff changeset
   363
            ^ 'Non-existent message: (%1<<%2)' bindWith:key with:catalogID printString.
6887
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   364
        ].
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   365
        ^ defaultString.
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   366
    ].
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   367
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   368
    ^ resolvedMessageCatalog at:key ifAbsent:nil.
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    "
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   371
     (#'WARN_RENAME' << #BrowserView >> 'A class named %1 already exists (in ''%2'')\\that class will no longer be visible (i.e. removed) if you continue.\\Continue ?' ) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   372
     (#'WARN_RENAME' << #BrowserView) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   373
     (#'WARN_RENAME' << BrowserView classResources) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   374
     (#'WARN_RENAME' << [ BrowserView classResources] ) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   375
     (#'WARN_RENAME' << #'stx:libtool' ) asString
6887
d01c2201398e *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 6591
diff changeset
   376
     (#dontKnow << #nonExistantMessageCatalog) asString
13364
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   377
     (#dontKnow << [YesNoBox]) asString
ca7da07b8bb2 added:14 methods
Stefan Vogel <sv@exept.de>
parents: 12092
diff changeset
   378
     (#dontKnow << #nonExistantMessageCatalog >> 'Default text') asString
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
!UserMessage class methodsFor:'documentation'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
version
18683
4ee8e684946d class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 17538
diff changeset
   385
    ^ '$Header$'
12092
4e065b823c40 added: #string
Claus Gittinger <cg@exept.de>
parents: 6887
diff changeset
   386
!
4e065b823c40 added: #string
Claus Gittinger <cg@exept.de>
parents: 6887
diff changeset
   387
4e065b823c40 added: #string
Claus Gittinger <cg@exept.de>
parents: 6887
diff changeset
   388
version_CVS
18683
4ee8e684946d class: UserMessage
Claus Gittinger <cg@exept.de>
parents: 17538
diff changeset
   389
    ^ '$Header$'
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
! !
16748
47cbbcdcb90a displayOn: cleanup
Claus Gittinger <cg@exept.de>
parents: 13364
diff changeset
   391