UserMessage.st
author Claus Gittinger <cg@exept.de>
Mon, 10 Dec 2001 17:30:04 +0100
changeset 6267 10016cc16511
parent 6117 013cab950016
child 6591 586fb5c604ba
permissions -rw-r--r--
pass name of API/C wrap function
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
     1
"{ Package: 'stx:libbasic' }"
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#UserMessage
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'defaultString key catalogID'
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Interface-Internationalization'
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    10
!UserMessage class methodsFor:'documentation'!
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    11
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    12
documentation
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    13
"
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    14
    added for vw5i compatibility, which accesses messageCatalogs
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    15
    via:
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    16
          (#key << #catalogID >> 'defaultMessage')
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    17
    which creates an instance of UserMessage.
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    18
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    19
    Currently, this is a dummy operation in ST/X, however it is mapped onto
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    20
    the resource mechanism, if the given catalogID is the name of a class;
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    21
    i.e.
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    22
        (YesNoBox classResources string:'continue')
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    23
    can now also be written as:
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    24
        (#continue << #YesNoBox) 
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    25
"
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
    26
! !
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!UserMessage class methodsFor:'instance creation'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
     ^ self new key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
     ^ self new key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!UserMessage methodsFor:'accessing'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
catalogID
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
     ^ catalogID 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
     catalogID := aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
     ^ defaultString 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     defaultString := aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
key
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     ^ key
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
key:aKeySymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
key:aKeySymbol catalogID:aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
     catalogID := aCatalogSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
key:aKeySymbol defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
     key := aKeySymbol.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
     defaultString := aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
!UserMessage methodsFor:'converting'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
asString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "for now: return the defaultString, ignoring the catalogID."
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    |str|
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    str := self lookupInMessageCatalog.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    str notNil ifTrue:[ ^ str ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    defaultString notNil ifTrue:[
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        ^ defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ key asString
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    87
!
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    88
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    89
expandMacros
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    90
    ^ self asString expandMacros
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    91
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    92
!
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    93
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    94
expandMacrosWith:arg1
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    95
    ^ self asString expandMacrosWith:arg1
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
    96
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
!UserMessage methodsFor:'utilities'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
<< aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "set the catalogID"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    self catalogID:aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
>> aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "set the default string"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    self 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
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
     (#theFooMessage << #myMessages >> 'cannot read subclass of metaclass') 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
lookupInMessageCatalog
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    |class str|
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "/ for now - only handle the case that the catalogID is
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    "/ a classes name; in that case, ask its resourcePack.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    class := Smalltalk at:catalogID.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    class notNil ifTrue:[
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
        ^ class classResources string:key default:defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
    ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    ^ nil
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
     (#'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 ?' )
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
     (#'WARN_RENAME' << #BrowserView )
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
!UserMessage class methodsFor:'documentation'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
version
6117
013cab950016 +expandMacros
Claus Gittinger <cg@exept.de>
parents: 6008
diff changeset
   138
    ^ '$Header: /cvs/stx/stx/libbasic/UserMessage.st,v 1.3 2001-10-26 08:12:18 cg Exp $'
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
! !