ApplicationModel.st
author claus
Sat, 25 Mar 1995 23:11:46 +0100
changeset 52 6dc870beba69
parent 50 53bc56e07e8f
child 57 3984019e8f5f
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     1
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1995 by Claus Gittinger
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     3
	      All Rights Reserved
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     4
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
53bc56e07e8f Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    11
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    12
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    13
'From Smalltalk/X, Version:2.10.5 on 24-mar-1995 at 9:31:53 am'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    14
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    15
Model subclass:#ApplicationModel
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    16
	 instanceVariableNames:'builder resources'
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    17
	 classVariableNames:''
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    18
	 poolDictionaries:''
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    19
	 category:'Interface-Framework'
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    20
!
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    21
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    22
ApplicationModel class instanceVariableNames:'ClassResources'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    23
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    24
!ApplicationModel class methodsFor:'documentation'!
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    25
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    26
copyright
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    27
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    28
 COPYRIGHT (c) 1995 by Claus Gittinger
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    29
	      All Rights Reserved
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    30
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    31
 This software is furnished under a license and may be used
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    32
 only in accordance with the terms of that license and with the
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    34
 be provided or otherwise made available to, or used by, any
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    35
 other person.  No title to or ownership of the software is
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    36
 hereby transferred.
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    37
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    38
!
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    39
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    40
version
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    41
"
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    42
$Header: /cvs/stx/stx/libview2/ApplicationModel.st,v 1.2 1995-03-25 22:11:46 claus Exp $
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    43
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    44
!
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    45
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    46
documentation
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    47
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    48
    Since many ST-80 classes are subclasses of ApplicationModel, this class
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    49
    is provided here to allow easier porting of ST-80 code.
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    50
    It does not (currently) provide much functionality; therefore, manual
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    51
    changes have to be made to get those applications to run under ST/X.
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    52
    (but at least, this enables you to fileIn that code)
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    53
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    54
    The classResources have been put into this class to allow ST/X
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    55
    view code to migrate smoothly into ApplicationModels.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    56
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    57
    Instance variables:
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    58
	resources    ResourcePack       language string translation
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    59
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    60
	builder      ?                  dont know what that is used for yet,
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    61
					some subclasses (see manchester goodies)
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    62
					depend on thise being there.
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    63
"
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    64
! !
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    65
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    66
!ApplicationModel class methodsFor:'initialization'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    67
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    68
initialize 
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    69
    self == ApplicationModel ifTrue:[
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    70
	Smalltalk addDependent:self
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    71
    ]
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    72
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    73
    "
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    74
     ApplicationModel initialize
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    75
    "
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    76
! !
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    77
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    78
!ApplicationModel class methodsFor:'instance creation'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    79
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    80
new
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    81
    ^ super new initialize
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    82
! !
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    83
50
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    84
!ApplicationModel class methodsFor:'startup'!
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    85
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    86
open
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    87
    self subclassResponsibility
53bc56e07e8f Initial revision
claus
parents:
diff changeset
    88
! !
52
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    89
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    90
!ApplicationModel class methodsFor:'change & update'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    91
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    92
update:something
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    93
    something == #Language ifTrue:[
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    94
	"flush resources on language changes"
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    95
	self flushAllClassResources
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    96
    ]
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    97
! !
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    98
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
    99
!ApplicationModel class methodsFor:'resources'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   100
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   101
classResources
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   102
    "if not already loaded, get the classes resourcePack
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   103
     and return it"
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   104
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   105
    ClassResources isNil ifTrue:[
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   106
	ClassResources := ResourcePack for:self.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   107
    ].
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   108
    ^ ClassResources
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   109
!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   110
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   111
classResources:aResourcePack
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   112
    "allow setting of the classResources"
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   113
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   114
    ClassResources := aResourcePack
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   115
!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   116
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   117
flushAllClassResources
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   118
    "flush all classes resource translations.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   119
     Needed after a resource file / language setting has changed."
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   120
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   121
    ResourcePack flushCachedResourcePacks.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   122
    self flushClassResources.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   123
    self allSubclassesDo:[:aClass |
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   124
	aClass flushClassResources.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   125
    ]
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   126
!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   127
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   128
flushClassResources
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   129
    "flush classes resource string translations.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   130
     Needed whenever a resource file / language setting has changed"
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   131
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   132
    ClassResources := nil.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   133
! !
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   134
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   135
!ApplicationModel methodsFor:'initialization'!
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   136
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   137
initialize
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   138
    super initialize.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   139
    resources := self class classResources.
6dc870beba69 *** empty log message ***
claus
parents: 50
diff changeset
   140
! !