UserMessage.st
author Claus Gittinger <cg@exept.de>
Fri, 07 Sep 2001 20:45:25 +0200
changeset 6008 7ac30515dddc
parent 5996 df75959d85f3
child 6117 013cab950016
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libview' }"
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
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!UserMessage methodsFor:'utilities'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
<< aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    "set the catalogID"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    self catalogID:aSymbol
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
>> aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    "set the default string"
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    self defaultString:aString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
     (#theFooMessage << #myMessages >> 'cannot read subclass of metaclass') 
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    "
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
lookupInMessageCatalog
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    |class str|
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    "/ for now - only handle the case that the catalogID is
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    "/ a classes name; in that case, ask its resourcePack.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
    class := Smalltalk at:catalogID.
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
    class notNil ifTrue:[
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
        ^ class classResources string:key default:defaultString
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    ].
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    ^ nil
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
     (#'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
   121
     (#'WARN_RENAME' << #BrowserView )
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    "
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
! !
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
!UserMessage class methodsFor:'documentation'!
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
version
6008
7ac30515dddc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5996
diff changeset
   128
    ^ '$Header: /cvs/stx/stx/libbasic/UserMessage.st,v 1.2 2001-09-07 18:45:25 cg Exp $'
5996
df75959d85f3 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
! !