Tools__InternationalLanguageTranslationEditor.st
author Claus Gittinger <cg@exept.de>
Fri, 14 Nov 2008 14:35:11 +0100
changeset 2433 88fbe1703c31
parent 2419 e71445e7174c
child 2434 6ad1f853d2e9
permissions -rw-r--r--
+openOnFile
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool2' }"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Tools }"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
ApplicationModel subclass:#InternationalLanguageTranslationEditor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'languagesList keyStringsToLanguageMappings languageTextHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
		originalTextHolder modified shownLanguages selectedKeyRow
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
		showMissingTranslationsOnly
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
		keyStringAndLanguageSelectionTableColumnDescriptionHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
		languageShownHolders dataSetView lastExtractedClass
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
		lastExtractedApplicationClass stopApplicationIconVisibleHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
		monitoredApplication originalTextModifiedHolder
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
    13
		languageTextModifiedHolder languageTextAcceptHolder
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
    14
		inSingleFileMode lastExtractedProject lastLanguage
2050
fm
parents: 2049
diff changeset
    15
		lastSelectedKey autoAcceptHolder languageEditor
fm
parents: 2049
diff changeset
    16
		selectedColIndexHolder exampleLanguageSelectionHolder
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
    17
		exampleLanguageTextHolder pastePreviousTranslationEnableHolder
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
    18
		searchForSimilarTranslationEnableHolder alwaysWriteUTF8Holder
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    19
		lastNameSpace pasteOriginalEnableHolder ignoreCaseHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    20
		closeSearchBar searchTextModifiedHolder searchNextText
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    21
		searchBarImageInfoLabelHolder searchPreviousText searchBoxVisible
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    22
		searchBarInfoLabelHolder searchTextHolder searchTextView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    23
		searchBoxView translationsPanel lastPackage'
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
    24
	classVariableNames:'LastExtractedClass LastExtractedApplicationClass
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
    25
		LastExtractedProject LastProject'
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	poolDictionaries:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	category:'Interface-UIPainter'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
Object subclass:#AccessCollectingPseudoResourcePack
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	instanceVariableNames:'collectedKeys realResourcePack'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	classVariableNames:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	privateIn:InternationalLanguageTranslationEditor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
Collection subclass:#KeyStringsToLanguageMappings
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
    38
	instanceVariableNames:'keys keyInfo perLanguageInfo perLanguageMappings languageMappings
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
    39
		languages rowPerKey'
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	classVariableNames:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	poolDictionaries:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	privateIn:InternationalLanguageTranslationEditor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
Object subclass:#LanguageMappingRow
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	instanceVariableNames:'key mappings'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	classVariableNames:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	poolDictionaries:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	privateIn:InternationalLanguageTranslationEditor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
Visitor subclass:#UISpecVisitor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	instanceVariableNames:'translatedLabels'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
	classVariableNames:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	poolDictionaries:''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	privateIn:InternationalLanguageTranslationEditor
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!InternationalLanguageTranslationEditor class methodsFor:'documentation'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
documentation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    documentation to be added.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    [author:]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
        cg (cg@FUSI)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    [instance variables:]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    [class variables:]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    [see also:]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
examples
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
  Starting the application:
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
                                                                [exBegin]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    InternationalLanguageTranslationEditor open
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
                                                                [exEnd]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
  more examples to be added:
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
                                                                [exBegin]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    ... add code fragment for 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    ... executable example here ...
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
                                                                [exEnd]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
history
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    "Created: / 04-03-2006 / 09:07:19 / cg"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    97
!InternationalLanguageTranslationEditor class methodsFor:'image specs'!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    98
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
    99
closeSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   100
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   101
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   102
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   103
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   104
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   105
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   106
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   107
     self closeSearchBar inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   108
     ImageEditor openOnClass:self andSelector:#closeSearchBar
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   109
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   110
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   111
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   112
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   113
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   114
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   115
        constantNamed:#'Psiware::SystemManagement class closeSearchBar'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   116
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   117
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GQ\SD1LSD1LSD1LSD1LWGP@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   118
@ATGA@HA@PDA@PDA@PHDA1T@@@@@@@@TAENG!!(VB XA?_''57QPPT@@@@@@@@E NJ^V)&X%)UTT5IV7 KE @@@@@@@A A"7Q,#&9VS%^MQ$E<DQ @@@@@@@@Z
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   119
@X%-#9NRX52R$80:^1@Z@@@@@@@@F0FHY6>R$9JR$9ION''(PF0@@@@@@@A<A 5ABT)FS$9D=KR13C1<@@@@@@@@)@WUCND*Q$9NQM"T!!XP8)@@@@@@@@K E2
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   120
O4RQ$9FQ$9@2G%8JK @@@@@@@CLA\S2D$9D9M)BS]!!1]BSL@@@@@@@@7@W@5LXP6J2\2]"P"VP 7@@@@@@@@O U+R3@*I2T#HA0&N5 RO @@@@@@@D LPF%(
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   121
YVQ W59]VU 4CD @@@@@@@AGFP4F@PDA@PDA@PDFCQ%G@@@@@@@@K41TUEQTUEQTUEQTUEQLK0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   122
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 167 25 15 170 49 40 171 50 39 174 68 60 176 56 48 176 58 49 183 118 110 184 45 32 184 46 32 184 47 34 184 71 58 184 85 78 184 86 79 185 53 39 186 57 42 186 59 43 186 60 45 186 68 58 190 187 180 192 188 181 193 189 182 194 190 183 195 192 184 197 194 186 202 148 142 202 199 191 205 202 195 207 64 48 207 203 195 208 65 49 208 205 198 209 65 49 209 66 49 209 69 52 210 66 49 210 78 64 211 67 51 211 71 54 212 69 51 212 208 200 212 208 202 213 69 52 213 70 52 213 79 57 215 80 59 215 212 206 217 214 207 218 79 62 218 84 67 219 107 95 219 216 210 221 84 63 221 84 67 221 109 96 221 218 213 222 76 56 222 110 96 222 113 79 223 87 67 223 87 70 223 115 99 224 221 216 225 89 72 225 105 91 225 117 84 227 89 64 227 91 73 227 112 98 227 115 95 227 122 92 227 224 219 227 225 219 228 113 83 228 113 99 229 102 87 229 226 221 230 115 84 230 117 81 230 142 117 231 102 80 231 116 86 231 120 103 231 131 119 231 228 224 232 118 88 232 119 82 233 143 117 234 99 76 234 102 79 234 119 89 234 127 100 234 145 119 235 104 82 235 106 86 236 108 89 236 110 92 236 113 92 236 121 91 236 146 119 237 113 95 237 115 98 237 122 92 237 132 100 238 117 101 238 119 104 238 123 93 238 123 109 238 131 98 238 133 102 238 146 120 238 148 121 239 125 112 239 127 115 239 129 118 239 131 105 239 134 102 240 135 122 240 200 196 242 135 113 242 141 116 242 141 119 242 145 116 242 147 118 242 148 120 243 137 115 243 138 118 243 141 121 243 142 123 243 144 126 243 145 129 243 151 134 243 202 197 244 147 132 244 149 135 244 152 137 244 163 142 244 164 145 245 160 143 245 164 146 245 213 204 246 213 203 248 215 205 249 215 206 252 244 243 253 244 243 253 247 245 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? G?? @@@@@@@@@@@@') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   123
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   124
    "Created: / 15-06-2007 / 18:04:38 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   125
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   126
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   127
restartSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   128
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   129
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   130
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   131
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   132
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   133
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   134
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   135
     self restartSearchBarIcon inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   136
     ImageEditor openOnClass:self andSelector:#restartSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   137
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   138
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   139
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   140
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   141
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   142
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   143
        constantNamed:#'Psiware::SystemManagement class restartSearchBarIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   144
        ifAbsentPut:[(Depth24Image new) width: 20; height: 20; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   145
@@@@@@@@@@@@@@@@@@@@@@@@?>SX?>''V?>;)?>O!!?>G]?>WY@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?=3\:[>''5;JF/Y-.+XY),(U.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   146
6JZK?=J1?>V<>.+I@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?>?'':+:!!19]U6*-Q?]Y/?>RC?>*!!?>F_>+=939UL2Y!!L>MJT??W[@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   147
@@@@??[-=\^&1IEP=<Q[?>1/?=5$?=52?>NT?=^Q?>BP?>FG>;1]6JEO8;^H?]3I@@@@@@@@@@@@@@@@@@@@?\*95Y-)<+!!$??.F?>)17+-U8,E40Y-.09I)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   148
:Z1-?=I??=)8?<1.>K597;NL??K,@@@@@@@@@@@@?=#M6I>B>+:@?>2U=,]]5[IN7,^C5LB[<MWL?]#O=,BZ7)=\>;Y[??FP?=>O1YEW8<B$;=WH@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   149
>,"%8Z:A?>N#?>._5KA$9-JW7=+FX6M+V%U3"''*T0Y>V4ZA7595T=;1"?=&D?=&L,W(93IU\:KE9=LBG9[Q9;K1<?=^R:K591*-6??''[@@@@RE%37>7?=?/?
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   150
>^_''3*.M0YAU<K5,?>ZO?=>G?<!!6?<Y6>+U(69YI3:IG?=Z@?>NU5:=19,6%@@@@@@@@OU5*2.+7;O??5-KF2;JS?=*&?>&"?=.E?>2R?=&F?>"X8I-N5)ED
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   151
29$&?>M:?=*F3:E&>]/A@@@@@@@@O5=.7O??5^/(?O++<M.>0I-/;LNE??2)?=&B?>^%,W)A8:14?=FX3)TR?>U/?=Q:3IAZ?=?T@@@@@@@@P5Y68_#?7.70
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   152
??[1??C_:,F%6;A=>MJA?>6":,6+&G91?>+^?>+]79<$?<1\?=:C5IM[?<;F@@@@@@@@Q$1>6N_?<?+?<.W.?>3*??S(=,.(2Z!!#=-:^+9>P4,[P<>''46=O^
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   153
=+MX;Z)O?>^Q:Z]*;+Z''@@@@@@@@TD:O9^/?;/C??>???>/:?>71?>7Z;]^%0+JA7=CI8]O"0+[D8=#&?<&V79="?=2L?\E88[BG@@@@@@@@VU&M=_3?9N''?
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   154
>/C???K??NK/??[1???#9M?B??3;(IV#/[WD;^_5@@@@;KR]<[10?=Q68[9,8,>W@@@@TU9&;/??9__9:.;/?_#<??/?>?[==?79>_?=<_S9T5M[0,WN7^G*
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   155
@@@@@@@@1Y= >=!!>9,]-3[],6]B''TEH=;O_''=O?6>O77>O''=>//?=_+?:O_?:_''?>O??SEM[/<[P6.O,@@@@@@@@8-F%1*%/9[>@?>R(7+VG_%,;\E]CW$=H
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   156
U5AWV5%.U5);R5M:Q5M;S%-=TE]*[GI>):696M;*@@@@@@@@@@@@6\F[2Y914)9.;[VF?L"!!8[^_3J>''0KB:0;?V0,_''-<C),K/(,;7!!+[OI,K[D2=G_9N+8
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   157
@@@@@@@@@@@@@@@@@@@@?\*_7*]>3))5/II9+9FF+9> 0;7I5-#-7NO?7^#?8^/?:/G?7NK07>W3@@@@@@@@@@@@@@@@@@@@@@@@?>N;?>N;?=:9?>7T?>#X
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   158
>^_%=N?6<OK?@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 20; height: 20; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@?@OC?0OO?8O_?<O_?>O???O?????_??>_??>_??>_??>_??>_??>_??__??O???O???G???A??/A? O') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   159
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   160
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   161
searchNextIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   162
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   163
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   164
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   165
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   166
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   167
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   168
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   169
     self searchNextIcon inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   170
     ImageEditor openOnClass:self andSelector:#searchNextIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   171
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   172
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   173
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   174
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   175
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   176
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   177
        constantNamed:#'Psiware::SystemManagement class searchNextIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   178
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   179
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZE)ZZ@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   180
@@@@@@AFF XA@PXUQ @@@@@@@@@@@@@@@@@*@Q5G^WX6E0D*@@@@@@@@@@@@@@@,AVQ?\&1#W&X8@20@@@@@@@@@@@A[@U==\F-"VUQOUSLAV0@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   181
G19-D <NCP0KB!!@7D1<@@@@@@@@@  ]MT5JY&Y&Y&Y%RLR4G  @@@@@@@H\A WL $)&Y&Y&RF35B@X\@@@@@@@BK@XA1WA"X&Y&XE#T:P@FK@@@@@@@@# !!H
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   182
]F$<II&YH3H>N2 H# @@@@@@@@@''GG)*Y2$9NRIDO4DQHP@@@@@@@@@@!!@EP[6U]I"UIQTL.@XP@@@@@@@@@@@ALAD-.XE]VS$(/@$0@@@@@@@@@@@@@@EDA
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   183
FSQ!!VC@T@UD@@@@@@@@@@@@@@@@@#R,I@PDIJ84@@@@@@@@@@@@@@@@@@@@@%)^W% @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   184
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 48 54 77 55 63 87 56 64 89 57 67 90 59 67 90 64 69 89 71 74 92 72 76 96 76 81 100 80 89 118 82 90 119 83 91 120 84 92 122 86 94 123 87 96 124 89 97 126 92 104 132 97 106 136 97 110 138 97 112 138 100 102 112 101 107 130 104 118 144 105 113 135 105 124 146 107 109 118 107 116 144 110 127 148 112 126 148 113 129 148 117 119 129 118 130 156 119 123 133 125 140 174 127 131 146 127 132 148 127 146 178 130 151 181 131 132 143 133 149 185 133 152 182 134 134 138 137 140 150 138 138 142 139 156 191 141 160 195 143 164 199 143 169 198 144 157 197 144 158 197 152 173 208 153 184 209 155 167 210 156 180 208 157 179 215 157 180 211 160 162 171 160 173 216 160 174 216 160 182 214 161 173 217 161 174 217 161 176 219 161 179 220 161 180 220 163 182 222 163 184 222 164 182 222 164 184 223 166 164 161 166 189 212 166 194 211 167 190 228 167 194 229 167 200 221 169 170 174 169 195 212 169 196 232 170 181 228 170 203 221 171 171 176 171 173 182 171 193 220 173 182 232 173 192 232 173 200 234 175 206 239 175 210 240 176 188 237 178 175 168 178 175 173 178 202 234 178 206 240 179 195 238 180 205 223 180 214 243 180 216 244 181 193 242 181 195 239 181 204 223 181 212 243 182 206 242 182 209 243 184 180 173 184 211 244 184 215 245 185 198 246 185 200 244 188 215 233 188 225 249 189 226 249 190 206 250 190 219 248 191 209 249 191 217 248 191 222 248 192 188 181 192 221 249 194 190 184 195 191 184 196 226 251 196 232 251 199 196 189 202 198 191 202 226 253 203 199 193 203 229 253 203 237 252 203 237 253 204 202 196 206 202 195 206 205 204 207 203 196 208 204 197 208 205 201 212 208 200 212 208 201 212 208 202 212 209 205 213 210 202 213 212 213 214 211 206 215 212 207 216 213 206 218 215 210 220 221 223 221 219 214 222 219 215 222 220 215 230 228 225 236 235 232 243 243 244 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@@@C@@@C@G C@_8C@?<CA?>CC??CC??CG??#G??#G??#G??#C??CC??CA?>C@?<C@_8C@G C@@@C@@@C@@@C') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   185
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   186
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   187
searchPreviousIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   188
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   189
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   190
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   191
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   192
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   193
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   194
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   195
     self searchPreviousIcon inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   196
     ImageEditor openOnClass:self andSelector:#searchPreviousIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   197
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   198
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   199
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   200
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   201
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   202
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   203
        constantNamed:#'Psiware::SystemManagement class searchPreviousIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   204
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   205
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%)^W% @@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   206
@@@@@@BMJ0$A@P$+#P@@@@@@@@@@@@@@@@AQ@Q$4XU 0E@EQ@@@@@@@@@@@@@@ALAD-.XE]VS$(/@$0@@@@@@@@@@@BD@UA/YU4&IT%EP28A!!@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   207
I11:Z&\)NS$"QC=ADRD@@@@@@@@@# !!H]F$<II&YH3H>N2 H# @@@@@@@H,A GE\FI"Y&Y VMS)@@X,@@@@@@@BG@XE3HIJY&Y&Y$!!,=P FG@@@@@@@@  ]M
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   208
T5JY&Y&Y&Y%RLR4G  @@@@@@@@@_G&4RC08MC@,JDC\SG0@@@@@@@@@@V0E__WA+X%%TS5T3@U,@@@@@@@@@@@@,AVQ?\&1#W&X8@20@@@@@@@@@@@@@@B(A
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   209
GT]9]#XW@R(@@@@@@@@@@@@@@@@@Q!!(F@PDFETX@@@@@@@@@@@@@@@@@@@@@ZE)ZZ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   210
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[0 0 0 48 54 77 55 63 87 56 64 89 57 67 90 59 67 90 64 69 89 71 74 92 72 76 96 76 81 100 80 89 118 82 90 119 83 91 120 84 92 122 86 94 123 87 96 124 89 97 126 92 104 132 97 106 136 97 110 138 97 112 138 100 102 112 101 107 130 104 118 144 105 113 135 105 124 146 107 109 118 107 116 144 110 127 148 112 126 148 113 129 148 117 119 129 118 130 156 119 123 133 125 140 174 127 131 146 127 132 148 127 146 178 130 151 181 131 132 143 133 149 185 133 152 182 134 134 138 137 140 150 138 138 142 139 156 191 141 160 195 143 164 199 143 169 198 144 157 197 144 158 197 152 173 208 153 184 209 155 167 210 156 180 208 157 179 215 157 180 211 160 162 171 160 173 216 160 174 216 160 182 214 161 173 217 161 174 217 161 176 219 161 179 220 161 180 220 163 182 222 163 184 222 164 182 222 164 184 223 166 164 161 166 189 212 166 194 211 167 190 228 167 194 229 167 200 221 169 170 174 169 195 212 169 196 232 170 181 228 170 203 221 171 171 176 171 173 182 171 193 220 173 182 232 173 192 232 173 200 234 175 206 239 175 210 240 176 188 237 178 175 168 178 175 173 178 202 234 178 206 240 179 195 238 180 205 223 180 214 243 180 216 244 181 193 242 181 195 239 181 204 223 181 212 243 182 206 242 182 209 243 184 180 173 184 211 244 184 215 245 185 198 246 185 200 244 188 215 233 188 225 249 189 226 249 190 206 250 190 219 248 191 209 249 191 217 248 191 222 248 192 188 181 192 221 249 194 190 184 195 191 184 196 226 251 196 232 251 199 196 189 202 198 191 202 226 253 203 199 193 203 229 253 203 237 252 203 237 253 204 202 196 206 202 195 206 205 204 207 203 196 208 204 197 208 205 201 212 208 200 212 208 201 212 208 202 212 209 205 213 210 202 213 212 213 214 211 206 215 212 207 216 213 206 218 215 210 220 221 223 221 219 214 222 219 215 222 220 215 230 228 225 236 235 232 243 243 244 255 255 255]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@@@C@@@C@G C@_8C@?<CA?>CC??CC??CG??#G??#G??#G??#C??CC??CA?>C@?<C@_8C@G C@@@C@@@C@@@C') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   211
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   212
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   213
searchToolBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   214
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   215
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   216
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   217
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   218
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   219
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   220
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   221
     self searchToolBarIcon inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   222
     ImageEditor openOnClass:self andSelector:#searchToolBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   223
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   224
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   225
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   226
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   227
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   228
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   229
        constantNamed:#'Psiware::SystemManagement class searchToolBarIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   230
        ifAbsentPut:[(Depth24Image new) width: 22; height: 22; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   231
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   232
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   233
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4][>4][>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   234
@@@@@@@@@@@@@@@@@@@@@@@@@@@@;>#8/L#+!!:KS!!:KS/,'',;>''9@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2];>^)WH
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   235
NE:+KU*:J5&9NE6*_I#K4^S>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4][>RV3DLER"SWR6$K#0#;[.SGJ4L5"''UG_N4][>@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   236
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*K''\JT*,U6Z7:^S?>/C*;.3,6>C>RFF(KEZ"3-_-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   237
@@@@@@@@@@@@&Z''HFTF &Z7">N#:7NK?7NK?6=W>!!Y''YH4N -+3T@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%I>;FDV)#ZWU??''57NK?
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   238
7NK?:>_?\8WKFCN".K#T@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@1L;.A#V[O5")3=W;=/[4</W:1,??K$JVI4Z\7-''4@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   239
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7NK?-,[1E#:&C"ZZH3F U6_EU63FHS^XHS.K JOX7-''4@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7NK?
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   240
,K_*O5ZTCRBLPU&0FCBHDB&RDR6RH$NI Y#I4][>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7NK?-;#%ND&KC">BYV.*4=;>7.+>-<K!!,K/!!7NK?
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   241
:^C;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7NK?/K3^PT%<CBI/NE>==O;8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   242
@@@@@@@@@@@@7NK? (J9GB1SZV>W:M3?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@5MS&++3H6M/#@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   243
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7NK?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   244
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   245
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   246
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   247
@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@C@@@C@@@C@A C@G8C@O<C@_>C@_>C@_>C@_>C@_>C@?>CA?<CC?8CG8@CG0@CC @CA@@C@@@C@@@C@@@C@@@C') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   248
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   249
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   250
warningSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   251
    "This resource specification was automatically generated
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   252
     by the ImageEditor of ST/X."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   253
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   254
    "Do not manually edit this!! If it is corrupted,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   255
     the ImageEditor may not be able to read the specification."
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   256
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   257
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   258
     self warningSearchBarIcon inspect
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   259
     ImageEditor openOnClass:self andSelector:#warningSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   260
     Icon flushCachedIcons
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   261
    "
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   262
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   263
    <resource: #image>
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   264
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   265
    ^Icon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   266
        constantNamed:#'Psiware::SystemManagement class warningSearchBarIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   267
        ifAbsentPut:[(Depth24Image new) width: 22; height: 19; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   268
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:.+<Y"P??C\@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@>_;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   269
@@@@?]SZ)5]X.6!! -HM2??''*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?>39-7*B4H&G>[N+%%MJ>\#A@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   270
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<+R?*U1&?=CN?>W^4HJ@+FY$?>+"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   271
@@@@@@@@@@@@@@@@@@@@?>G_)U!!^>Z^->,B><+"4?*^-%C8?;;Z+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@??#1-(E;.65+?<#H
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   272
?=_T?=GP?::65W-=(EQF?>WQ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?\#D*VAY?;61<;"0;,C@6J^+;*"0>ZN$&CX)6(-:@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   273
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?>#+/7Q148E6?<"4<L&:W#(:G@@@392!!48^G9WM(%24_?=WN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   274
??C?7Y&$.E5\?;V*=<:8??K_R3X5DP@@4+R49ZZ!!7VIZ/#85)%UR??G/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?=7.2&)6=IJQ?;..=]W@??7*PS$7E@,N
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   275
4<OC?>K^>(M=1S8;)$ID8Y6^@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;HNR4U%%<)&S?<^9??_(??;3REEN@P,J2<[C??K/?:R!!/C8?&R(0(T-N?>GZ@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   276
@@@@@@@@@@@@@@@@@@@@?<;H,31B3T9U2'')1?L3@?>3&=^7*XWE0@@<M7=;\??S3?=_U46-,#Q(!!$B,/18"A@@@@@@@@@@@@@@@@@@@@??G&1G!!*,S03)SP,
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   277
3()?>=WL??_:<>33[G:@D2T%;^/,??#8??K19Y6^&R(0!!QPX#S8:;K22@@@@@@@@@@@@@@@@<*RZ+5I@*$D+*T48<[N&?>C_7,+U??3?7N''/(J.-?/+;??W5
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   278
;.O!!?>G_3&]+ 0(O#B8.(U9X@@@@@@@@@@@@?<?Y/%MM.487%$P^7I)7?<&=?=+ <^W3;?C?YV]3JR .-*60=/W35.[#<>W"?:*+*3@3$R\)^R ''2)^T@@@@
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   279
?>K2;(ZO2DQ@-SP!!,5H/?<F!!?<V=?;3B?=_"?>7:)72EUBT+<,GD?>?,<M;Z>]GO?<#J8VM& P4P_A0^ C(:?>+''?:"+34%H13L/02("13T(13\,5$H>3S<=
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   280
1TMC0DQD/$IB/D@>.S4;-S,8,C(:,C 9-3X:(A4""@4R_1DT RH&/6%*?82D/S8503873C<85C<923H,23@+/RP\-"HX,"HW+"DX*"@V)10U)1(S)!!XU)AXU
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   281
(Q0_$1XZ#1X["A(]^QPX&34>?;&).&-Z/6]Y06MU1&AR/5UG15-N0EYF1&EO0&EN/&EP.6AN.%5N.5-M.5%P/UYQ.$)I.4)L0UQW/U-\+5YX5XFA') ; mask:((Depth1Image new) width: 22; height: 19; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@C G@G0C@O0C@O8C@_8C@?<C@?<CA?>CC??CC??CC??#G??#O??3O??3_??;????????????????') ; yourself); yourself]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   282
! !
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   283
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
!InternationalLanguageTranslationEditor class methodsFor:'interface specs'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
windowSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
    "This resource specification was automatically generated
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
     by the UIPainter of ST/X."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    "Do not manually edit this!! If it is corrupted,
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
     the UIPainter may not be able to read the specification."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    "
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
   294
     UIPainter new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#windowSpec
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
   295
     Tools::InternationalLanguageTranslationEditor new openInterface:#windowSpec
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
   296
     Tools::InternationalLanguageTranslationEditor open
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    "
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
    <resource: #canvas>
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
    ^ 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
     #(FullSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
        name: windowSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
        window: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
       (WindowSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
          label: 'InternationalLanguageTranslationEditor'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
          name: 'InternationalLanguageTranslationEditor'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
          min: (Point 10 10)
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   309
          bounds: (Rectangle 0 0 774 610)
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
          menu: mainMenu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
        )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
        component: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
       (SpecCollection
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
          collection: (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
           (MenuPanelSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
              name: 'ToolBar'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
              layout: (LayoutFrame 0 0 0 0 0 1 30 0)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
              menu: menuToolBar
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
              textDefault: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
           (VariableVerticalPanelSpec
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   322
              name: 'TranslationsVariableVerticalPanel'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   323
              layout: (LayoutFrame 0 0 30 0 0 1 -32 1)
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
              component: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
             (SpecCollection
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
                collection: (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
                 (DataSetSpec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
                    name: 'KeyStringAndLanguageSelectionTable'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
                    model: selectedKeyRow
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   330
                    menu: keyStringAndLanguageSelectionTableMenu
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
                    hasHorizontalScrollBar: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
                    hasVerticalScrollBar: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
                    dataList: keyStringAndLanguageSelectionTable
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
                    columnHolder: keyStringAndLanguageSelectionTableColumnDescriptionHolder
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   335
                    beDependentOfRows: true
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
                    columnAdaptor: yourself
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
                    postBuildCallback: postBuildDataSet:
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
                  )
2050
fm
parents: 2049
diff changeset
   339
                 (VariableVerticalPanelSpec
fm
parents: 2049
diff changeset
   340
                    name: 'VariableVerticalPanel1'
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
                    component: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
                   (SpecCollection
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
                      collection: (
2050
fm
parents: 2049
diff changeset
   344
                       (ViewSpec
fm
parents: 2049
diff changeset
   345
                          name: 'Box1'
fm
parents: 2049
diff changeset
   346
                          component: 
fm
parents: 2049
diff changeset
   347
                         (SpecCollection
fm
parents: 2049
diff changeset
   348
                            collection: (
fm
parents: 2049
diff changeset
   349
                             (LabelSpec
fm
parents: 2049
diff changeset
   350
                                label: 'Original String (Key):'
fm
parents: 2049
diff changeset
   351
                                name: 'Label2'
fm
parents: 2049
diff changeset
   352
                                layout: (LayoutFrame 0 0 -2 0 0 1 28 0)
fm
parents: 2049
diff changeset
   353
                                translateLabel: true
fm
parents: 2049
diff changeset
   354
                                adjust: left
fm
parents: 2049
diff changeset
   355
                              )
fm
parents: 2049
diff changeset
   356
                             (TextEditorSpec
fm
parents: 2049
diff changeset
   357
                                name: 'OriginalText'
fm
parents: 2049
diff changeset
   358
                                layout: (LayoutFrame 0 0 27 0 0 1 -2 1)
fm
parents: 2049
diff changeset
   359
                                model: originalTextHolder
fm
parents: 2049
diff changeset
   360
                                hasHorizontalScrollBar: true
fm
parents: 2049
diff changeset
   361
                                hasVerticalScrollBar: true
fm
parents: 2049
diff changeset
   362
                                modifiedChannel: originalTextModifiedHolder
fm
parents: 2049
diff changeset
   363
                                acceptCallBack: languageTextAccepted
fm
parents: 2049
diff changeset
   364
                              )
fm
parents: 2049
diff changeset
   365
                             )
fm
parents: 2049
diff changeset
   366
                           
fm
parents: 2049
diff changeset
   367
                          )
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
                        )
2050
fm
parents: 2049
diff changeset
   369
                       (ViewSpec
fm
parents: 2049
diff changeset
   370
                          name: 'Box3'
fm
parents: 2049
diff changeset
   371
                          component: 
fm
parents: 2049
diff changeset
   372
                         (SpecCollection
fm
parents: 2049
diff changeset
   373
                            collection: (
fm
parents: 2049
diff changeset
   374
                             (LabelSpec
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   375
                                label: 'Select Another Language as example:'
2050
fm
parents: 2049
diff changeset
   376
                                name: 'Label3'
fm
parents: 2049
diff changeset
   377
                                layout: (LayoutFrame 0 0 -6 0 0 1 24 0)
fm
parents: 2049
diff changeset
   378
                                translateLabel: true
fm
parents: 2049
diff changeset
   379
                                adjust: left
fm
parents: 2049
diff changeset
   380
                              )
fm
parents: 2049
diff changeset
   381
                             (ComboBoxSpec
fm
parents: 2049
diff changeset
   382
                                name: 'ComboBox1'
fm
parents: 2049
diff changeset
   383
                                layout: (LayoutFrame 197 0 -2 0 322 0 18 0)
fm
parents: 2049
diff changeset
   384
                                model: exampleLanguageSelectionHolder
fm
parents: 2049
diff changeset
   385
                                immediateAccept: false
fm
parents: 2049
diff changeset
   386
                                acceptOnLeave: true
fm
parents: 2049
diff changeset
   387
                                acceptOnLostFocus: true
fm
parents: 2049
diff changeset
   388
                                acceptOnPointerLeave: false
fm
parents: 2049
diff changeset
   389
                                comboList: shownLanguages
fm
parents: 2049
diff changeset
   390
                                useIndex: false
fm
parents: 2049
diff changeset
   391
                              )
fm
parents: 2049
diff changeset
   392
                             (TextEditorSpec
fm
parents: 2049
diff changeset
   393
                                name: 'ExampleLanguageText'
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   394
                                layout: (LayoutFrame 0 0 30 0 0 1 0 1)
2050
fm
parents: 2049
diff changeset
   395
                                model: exampleLanguageTextHolder
fm
parents: 2049
diff changeset
   396
                                hasHorizontalScrollBar: true
fm
parents: 2049
diff changeset
   397
                                hasVerticalScrollBar: true
fm
parents: 2049
diff changeset
   398
                                isReadOnly: true
fm
parents: 2049
diff changeset
   399
                              )
fm
parents: 2049
diff changeset
   400
                             )
fm
parents: 2049
diff changeset
   401
                           
fm
parents: 2049
diff changeset
   402
                          )
fm
parents: 2049
diff changeset
   403
                        )
fm
parents: 2049
diff changeset
   404
                       (ViewSpec
fm
parents: 2049
diff changeset
   405
                          name: 'Box2'
fm
parents: 2049
diff changeset
   406
                          component: 
fm
parents: 2049
diff changeset
   407
                         (SpecCollection
fm
parents: 2049
diff changeset
   408
                            collection: (
fm
parents: 2049
diff changeset
   409
                             (LabelSpec
fm
parents: 2049
diff changeset
   410
                                label: 'Translated String:'
fm
parents: 2049
diff changeset
   411
                                name: 'Label1'
fm
parents: 2049
diff changeset
   412
                                layout: (LayoutFrame 0 0 0 0 0 1 30 0)
fm
parents: 2049
diff changeset
   413
                                translateLabel: true
fm
parents: 2049
diff changeset
   414
                                adjust: left
fm
parents: 2049
diff changeset
   415
                              )
fm
parents: 2049
diff changeset
   416
                             (TextEditorSpec
fm
parents: 2049
diff changeset
   417
                                name: 'LanguageText'
fm
parents: 2049
diff changeset
   418
                                layout: (LayoutFrame 0 0 30 0 0 1 0 1)
fm
parents: 2049
diff changeset
   419
                                model: languageTextHolder
fm
parents: 2049
diff changeset
   420
                                hasHorizontalScrollBar: true
fm
parents: 2049
diff changeset
   421
                                hasVerticalScrollBar: true
fm
parents: 2049
diff changeset
   422
                                acceptChannel: languageTextAcceptHolder
fm
parents: 2049
diff changeset
   423
                                modifiedChannel: languageTextModifiedHolder
fm
parents: 2049
diff changeset
   424
                                acceptCallBack: languageTextAccepted
fm
parents: 2049
diff changeset
   425
                                postBuildCallback: languageEditorBuilt:
fm
parents: 2049
diff changeset
   426
                              )
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   427
                             (ActionButtonSpec
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   428
                                label: 'Paste Previous'
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   429
                                name: 'pastePreviousTranslation'
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   430
                                layout: (LayoutOrigin 0 0.83085250338295 0 0.03448275862069)
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   431
                                translateLabel: true
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   432
                                model: pastePreviousTranslationInLanguageText
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   433
                                enableChannel: pastePreviousTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   434
                                disabledLogo: 'Paste Previous'
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   435
                              )
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   436
                             (ActionButtonSpec
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   437
                                label: 'Paste Original'
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   438
                                name: 'Button1'
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   439
                                layout: (LayoutOrigin -95 0.83085250338295 0 0.03448275862069)
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   440
                                translateLabel: true
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   441
                                model: pasteOriginalInLanguageText
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   442
                                enableChannel: pasteOriginalEnableHolder
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   443
                                disabledLogo: 'Paste Original'
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
   444
                              )
2050
fm
parents: 2049
diff changeset
   445
                             )
fm
parents: 2049
diff changeset
   446
                           
fm
parents: 2049
diff changeset
   447
                          )
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
                        )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
                       )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
                     
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
                    )
2050
fm
parents: 2049
diff changeset
   452
                    handles: (Any 0.33333333333333 0.66666666666667 1.0)
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
                  )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
                 )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
               
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
              )
2050
fm
parents: 2049
diff changeset
   457
              handles: (Any 0.5 1.0)
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   458
              postBuildCallback: postBuildTranslationsPanel:
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   459
            )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   460
           (ViewSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   461
              name: 'SearchBox'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   462
              layout: (LayoutFrame 0 0 -32 1 0 1 0 1)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   463
              level: -1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   464
              visibilityChannel: searchBoxVisible
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   465
              component: 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   466
             (SpecCollection
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   467
                collection: (
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   468
                 (ActionButtonSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   469
                    label: 'closeSearchBarIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   470
                    name: 'closeSearchBarButton'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   471
                    layout: (LayoutFrame 4 0 5 0 25 0 26 0)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   472
                    hasCharacterOrientedLabel: false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   473
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   474
                    model: closeSearchBar
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   475
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   476
                 (LabelSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   477
                    label: 'Search:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   478
                    name: 'SearchLabel'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   479
                    layout: (LayoutFrame 30 0 5 0 81 0 27 0)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   480
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   481
                    adjust: right
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   482
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   483
                 (InputFieldSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   484
                    name: 'SearchEntryField'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   485
                    layout: (LayoutFrame 87 0 5 0 244 0 27 0)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   486
                    model: searchTextHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   487
                    immediateAccept: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   488
                    acceptOnReturn: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   489
                    acceptOnTab: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   490
                    acceptOnLostFocus: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   491
                    modifiedChannel: searchTextModifiedHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   492
                    acceptOnPointerLeave: false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   493
                    postBuildCallback: postBuildSearchTextView:
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   494
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   495
                 (ActionButtonSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   496
                    label: 'searchNextIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   497
                    name: 'SearchNextButton'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   498
                    layout: (LayoutFrame 251 0 5 0 272 0 26 0)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   499
                    hasCharacterOrientedLabel: false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   500
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   501
                    model: searchNextText
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   502
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   503
                 (ActionButtonSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   504
                    label: 'searchPreviousIcon'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   505
                    name: 'searchPreviousButton'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   506
                    layout: (LayoutFrame 279 0 5 0 300 0 26 0)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   507
                    hasCharacterOrientedLabel: false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   508
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   509
                    model: searchPreviousText
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   510
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   511
                 (CheckBoxSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   512
                    label: 'Ignore case'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   513
                    name: 'IgnoreCaseCheckBox'
2329
a9d39ef2c8aa *** empty log message ***
fm
parents: 2327
diff changeset
   514
                    layout: (LayoutFrame 309 0 5 0 505 0 27 0)
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   515
                    model: ignoreCaseHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   516
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   517
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   518
                 (LabelSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   519
                    label: 'SearchBarImageInfoLabel'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   520
                    name: 'SearchBarImageInfoLabel'
2329
a9d39ef2c8aa *** empty log message ***
fm
parents: 2327
diff changeset
   521
                    layout: (LayoutFrame 511 0 5 0 535 0 27 0)
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   522
                    hasCharacterOrientedLabel: false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   523
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   524
                    labelChannel: searchBarImageInfoLabelHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   525
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   526
                 (LabelSpec
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   527
                    label: 'SearchBarInfoLabel'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   528
                    name: 'SearchBarInfoLabel'
2329
a9d39ef2c8aa *** empty log message ***
fm
parents: 2327
diff changeset
   529
                    layout: (LayoutFrame 538 0 5 0 816 0 27 0)
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   530
                    translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   531
                    labelChannel: searchBarInfoLabelHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   532
                    adjust: left
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   533
                  )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   534
                 )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   535
               
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   536
              )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   537
              postBuildCallback: postBuildSearchBoxView:
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
           )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
         
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
        )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
      )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
!InternationalLanguageTranslationEditor class methodsFor:'menu specs'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   547
keyStringAndLanguageSelectionTableMenu
641467b2f522 Search String
fm
parents: 2053
diff changeset
   548
    "This resource specification was automatically generated
641467b2f522 Search String
fm
parents: 2053
diff changeset
   549
     by the MenuEditor of ST/X."
641467b2f522 Search String
fm
parents: 2053
diff changeset
   550
641467b2f522 Search String
fm
parents: 2053
diff changeset
   551
    "Do not manually edit this!! If it is corrupted,
641467b2f522 Search String
fm
parents: 2053
diff changeset
   552
     the MenuEditor may not be able to read the specification."
641467b2f522 Search String
fm
parents: 2053
diff changeset
   553
641467b2f522 Search String
fm
parents: 2053
diff changeset
   554
    "
641467b2f522 Search String
fm
parents: 2053
diff changeset
   555
     MenuEditor new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#keyStringAndLanguageSelectionTableMenu
641467b2f522 Search String
fm
parents: 2053
diff changeset
   556
     (Menu new fromLiteralArrayEncoding:(Tools::InternationalLanguageTranslationEditor keyStringAndLanguageSelectionTableMenu)) startUp
641467b2f522 Search String
fm
parents: 2053
diff changeset
   557
    "
641467b2f522 Search String
fm
parents: 2053
diff changeset
   558
641467b2f522 Search String
fm
parents: 2053
diff changeset
   559
    <resource: #menu>
641467b2f522 Search String
fm
parents: 2053
diff changeset
   560
641467b2f522 Search String
fm
parents: 2053
diff changeset
   561
    ^ 
641467b2f522 Search String
fm
parents: 2053
diff changeset
   562
     #(Menu
641467b2f522 Search String
fm
parents: 2053
diff changeset
   563
        (
641467b2f522 Search String
fm
parents: 2053
diff changeset
   564
         (MenuItem
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   565
            label: 'Set Current NameSpace'
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   566
            itemValue: changeLastNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
   567
            translateLabel: true
641467b2f522 Search String
fm
parents: 2053
diff changeset
   568
          )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   569
         (MenuItem
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   570
            label: 'Search String in Current NameSpace'
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   571
            itemValue: searchStringInLastNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
   572
            translateLabel: true
641467b2f522 Search String
fm
parents: 2053
diff changeset
   573
          )
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   574
         (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   575
            label: '-'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   576
            isVisible: #false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   577
          )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   578
         (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   579
            label: 'Set Current Package'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   580
            itemValue: changeLastPackage
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   581
            translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   582
            isVisible: #false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   583
          )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   584
         (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   585
            label: 'Search String in Current Package'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   586
            itemValue: searchStringInLastPackage
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   587
            translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   588
            isVisible: #false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   589
          )
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   590
         )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   591
        nil
641467b2f522 Search String
fm
parents: 2053
diff changeset
   592
        nil
641467b2f522 Search String
fm
parents: 2053
diff changeset
   593
      )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   594
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
   595
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
mainMenu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    "This resource specification was automatically generated
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
     by the MenuEditor of ST/X."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
    "Do not manually edit this!! If it is corrupted,
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
     the MenuEditor may not be able to read the specification."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
    "
2050
fm
parents: 2049
diff changeset
   604
     MenuEditor new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#mainMenu
fm
parents: 2049
diff changeset
   605
     (Menu new fromLiteralArrayEncoding:(Tools::InternationalLanguageTranslationEditor mainMenu)) startUp
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
    "
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
    <resource: #menu>
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    ^ 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
     #(Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
        (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
            label: 'File'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
            submenu: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
           (Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
              (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
                  label: 'New'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
                  itemValue: menuNew
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
               (MenuItem
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   628
                  label: 'Open Resources for Package or Project...'
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   629
                  itemValue: menuOpenByPackage
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   630
                  translateLabel: true
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   631
                )
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   632
               (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
                  label: 'Open Resource File...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
                  itemValue: menuOpen
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
               (MenuItem
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   641
                  label: 'Save All Resource Files'
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   642
                  itemValue: menuSaveAll
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   643
                  translateLabel: true
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   644
                )
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   645
               (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
                  label: 'Save Resource File'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
                  itemValue: menuSave
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
                  label: 'Save Resource File As...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
                  itemValue: menuSaveAs
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
               (MenuItem
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
   659
                  label: 'Import existing translations from file...'
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   660
                  itemValue: importExistingTranslationsFromFile
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   661
                  translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   662
                )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   663
               (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   664
                  label: '-'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   665
                )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   666
               (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   667
                  label: 'Set Current NameSpace'
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   668
                  itemValue: changeLastNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
   669
                  translateLabel: true
641467b2f522 Search String
fm
parents: 2053
diff changeset
   670
                )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   671
               (MenuItem
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   672
                  label: 'Set Current Package'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   673
                  itemValue: changeLastPackage
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   674
                  translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   675
                  isVisible: #false
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   676
                )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   677
               (MenuItem
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   678
                  label: '-'
641467b2f522 Search String
fm
parents: 2053
diff changeset
   679
                )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   680
               (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
                  label: 'Exit'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
                  itemValue: closeRequest
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
               )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
            label: 'View'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
            submenu: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
           (Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
              (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
                  label: 'Show Missing Translations Only'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
                  indication: showMissingTranslationsOnly
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
                  label: 'Shown Languages'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
                  submenuChannel: shownLanguagesMenu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
               )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
            label: 'Languages'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
            submenu: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
           (Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
              (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
                  label: 'Add Language...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
                  itemValue: addLanguage
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
                  label: 'Remove Language...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
                  itemValue: removeLanguage
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
               )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
            label: 'Translations'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
            submenu: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
           (Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
              (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
                  label: 'Add Translation...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
                  itemValue: addTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
                  label: 'Remove Translation...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
                  itemValue: removeTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
                  label: 'Extract from Class...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
                  itemValue: extractTranslationsFromClass
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
               (MenuItem
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   760
                  label: 'Extract from Project...'
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   761
                  itemValue: extractTranslationsFromProject
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   762
                  translateLabel: true
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   763
                )
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   764
               (MenuItem
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
   765
                  label: 'Extract from NameSpace...'
641467b2f522 Search String
fm
parents: 2053
diff changeset
   766
                  itemValue: extractTranslationsFromNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
   767
                  translateLabel: true
641467b2f522 Search String
fm
parents: 2053
diff changeset
   768
                )
641467b2f522 Search String
fm
parents: 2053
diff changeset
   769
               (MenuItem
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   770
                  label: '-'
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   771
                )
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
   772
               (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
                  label: 'Run Application and Collect Translations...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
                  itemValue: runApplicationAndCollectTranslations
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
               )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
         (MenuItem
2050
fm
parents: 2049
diff changeset
   783
            label: 'Preferences'
fm
parents: 2049
diff changeset
   784
            translateLabel: true
fm
parents: 2049
diff changeset
   785
            submenu: 
fm
parents: 2049
diff changeset
   786
           (Menu
fm
parents: 2049
diff changeset
   787
              (
fm
parents: 2049
diff changeset
   788
               (MenuItem
fm
parents: 2049
diff changeset
   789
                  label: 'Auto Accept Changes'
fm
parents: 2049
diff changeset
   790
                  translateLabel: true
fm
parents: 2049
diff changeset
   791
                  indication: autoAcceptHolder
fm
parents: 2049
diff changeset
   792
                )
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   793
               (MenuItem
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   794
                  label: 'Search For Similar Translations'
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   795
                  translateLabel: true
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   796
                  indication: searchForSimilarTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   797
                )
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   798
               (MenuItem
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   799
                  label: 'Always Write UTF8'
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   800
                  translateLabel: true
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   801
                  indication: alwaysWriteUTF8Holder
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
   802
                )
2050
fm
parents: 2049
diff changeset
   803
               )
fm
parents: 2049
diff changeset
   804
              nil
fm
parents: 2049
diff changeset
   805
              nil
fm
parents: 2049
diff changeset
   806
            )
fm
parents: 2049
diff changeset
   807
          )
fm
parents: 2049
diff changeset
   808
         (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
            label: 'Help'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
            startGroup: right
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
            submenu: 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
           (Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
              (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
                  label: 'Documentation'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
                  itemValue: openDocumentation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
                  label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
               (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
                  label: 'About this Application...'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
                  itemValue: openAboutThisApplication
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
                  translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
                )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
               )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
              nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
            )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
         )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
        nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
        nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
      )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   839
menuItemsEditLanguage
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   840
    "This resource specification was automatically generated
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   841
     by the MenuEditor of ST/X."
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   842
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   843
    "Do not manually edit this!! If it is corrupted,
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   844
     the MenuEditor may not be able to read the specification."
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   845
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   846
    "
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   847
     MenuEditor new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#menu
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   848
     (Menu new fromLiteralArrayEncoding:(Tools::InternationalLanguageTranslationEditor menu)) startUp
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   849
    "
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   850
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   851
    <resource: #menu>
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   852
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   853
    ^ 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   854
     #(Menu
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   855
        (
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   856
         (MenuItem
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   857
            enabled: pastePreviousTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   858
            label: 'Paste Previous Translation'
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   859
            itemValue: pastePreviousTranslationInLanguageText
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   860
            nameKey: pastePreviousTranslationInLanguageText
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   861
            translateLabel: true
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   862
          )
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   863
         )
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   864
        nil
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   865
        nil
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   866
      )
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   867
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   868
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
menuToolBar
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
    "This resource specification was automatically generated
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
     by the MenuEditor of ST/X."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
    "Do not manually edit this!! If it is corrupted,
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
     the MenuEditor may not be able to read the specification."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
    "
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   877
     MenuEditor new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#menuToolBar
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   878
     (Menu new fromLiteralArrayEncoding:(Tools::InternationalLanguageTranslationEditor menuToolBar)) startUp
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
    "
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
    <resource: #menu>
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
    ^ 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
     #(Menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
        (
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   887
            label: 'Save'
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
   888
            itemValue: menuSave
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
            labelImage: (ResourceRetriever XPToolbarIconLibrary saveImageIcon)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   893
            label: '-'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   894
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   895
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   896
            label: 'Add Translation'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   897
            itemValue: addTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   898
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   899
            labelImage: (ResourceRetriever XPToolbarIconLibrary newRowIcon)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   900
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   901
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   902
            label: 'Remove Translation'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   903
            itemValue: removeTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   904
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   905
            labelImage: (ResourceRetriever XPToolbarIconLibrary removeRowIcon)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   906
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   907
         (MenuItem
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   908
            label: '-'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   909
          )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   910
         (MenuItem
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   911
            label: 'Search'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   912
            itemValue: search
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   913
            translateLabel: true
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   914
            shortcutKey: Ctrlf
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   915
            labelImage: (ResourceRetriever #'Tools::InternationalLanguageTranslationEditor' searchToolBarIcon)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   916
          )
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   917
         (MenuItem
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   918
            label: ''
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   919
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   920
         (MenuItem
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   921
            label: 'Stop Application'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   922
            itemValue: stopApplication
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   923
            translateLabel: true
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   924
            isVisible: stopApplicationIconVisibleHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   925
            labelImage: (ResourceRetriever XPToolbarIconLibrary stop16x16Icon)
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   926
          )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   927
         )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   928
        nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   929
        nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   930
      )
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   931
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   932
2433
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   933
!InternationalLanguageTranslationEditor class methodsFor:'startup'!
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   934
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   935
openOnFile:aFilename
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   936
    |fn|
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   937
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   938
    fn := aFilename asFilename.
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   939
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   940
    self new
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   941
        allButOpen;
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   942
        readResourceFile:fn asLanguage:fn withoutSuffix baseName;
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   943
        openWindow.
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   944
! !
88fbe1703c31 +openOnFile
Claus Gittinger <cg@exept.de>
parents: 2419
diff changeset
   945
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   946
!InternationalLanguageTranslationEditor class methodsFor:'tableColumns specs'!
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   947
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   948
keyTableColumn
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   949
    "This resource specification was automatically generated
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   950
     by the DataSetBuilder of ST/X."
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   951
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   952
    "Do not manually edit this!! If it is corrupted,
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   953
     the DataSetBuilder may not be able to read the specification."
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   954
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   955
    "
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   956
     DataSetBuilder new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#keyTableColumn
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   957
    "
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   958
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   959
    <resource: #tableColumns>
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   960
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   961
    ^#(
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   962
      (DataSetColumnSpec
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   963
         label: 'Key'
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   964
         labelButtonType: Button
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   965
         minWidth: 50
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   966
         model: keyStringInRow:
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   967
       )
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   968
      )
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   969
!
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   970
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   971
languageTableColumn
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   972
    "This resource specification was automatically generated
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   973
     by the DataSetBuilder of ST/X."
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   974
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   975
    "Do not manually edit this!! If it is corrupted,
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   976
     the DataSetBuilder may not be able to read the specification."
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   977
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   978
    "
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   979
     DataSetBuilder new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#languageTableColumn
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   980
    "
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   981
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   982
    <resource: #tableColumns>
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   983
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   984
    ^#(
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   985
      (DataSetColumnSpec
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   986
         label: lang
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   987
         labelButtonType: Button
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   988
         minWidth: 50
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   989
         editorType: None
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   990
         model: columnInRow:at:
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   991
         backgroundSelector: getBackgroundForRow:rowNr:col:
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   992
       )
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   993
      )
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   994
! !
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   995
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
   996
!InternationalLanguageTranslationEditor methodsFor:'accessing'!
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
   997
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   998
currentSelectionIndex 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
   999
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1000
    ^ self selectedKeyRow value
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1001
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1002
    "Created: / 16-06-2007 / 09:04:11 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1003
    "Modified: / 19-06-2007 / 17:28:38 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1004
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1005
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1006
exists: anObject
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1007
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1008
    ^self objectsList includes: anObject
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1009
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1010
    "Created: / 19-06-2007 / 16:42:22 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1011
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1012
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1013
indexOf: anObject
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1014
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1015
    ^self objectsList indexOf: anObject
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1016
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1017
    "Created: / 19-06-2007 / 16:39:44 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1018
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1019
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1020
newLanguageText
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1021
"/   languageEditor accept
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1022
    ^self languageTextHolder value isNil 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1023
        ifTrue:['']
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1024
        ifFalse:[self languageTextHolder value asCollectionOfLines first.]
2050
fm
parents: 2049
diff changeset
  1025
!
fm
parents: 2049
diff changeset
  1026
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1027
objectsList
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1028
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1029
    ^ keyStringsToLanguageMappings 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1030
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1031
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1032
selectListIndex: rowIndex
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1033
"/    |selection list|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1034
"/    list := self objectsList.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1035
"/    list isEmpty ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1036
"/    selection := list at:rowIndex ifAbsent:nil.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1037
    self selectedKeyRow value: rowIndex.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1038
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1039
    "Created: / 16-06-2007 / 09:06:46 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1040
    "Modified: / 22-06-2007 / 13:45:54 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1041
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1042
2050
fm
parents: 2049
diff changeset
  1043
selectedKey  
fm
parents: 2049
diff changeset
  1044
   "Returns the current selected key if there is one row seleted. Otherwise, returns nil"
fm
parents: 2049
diff changeset
  1045
     |rowSelectionIndex |
fm
parents: 2049
diff changeset
  1046
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1047
    keyStringsToLanguageMappings isNil ifTrue:[^nil].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1048
    self selectedKeyRow value isNil ifTrue:[^nil].
2050
fm
parents: 2049
diff changeset
  1049
    rowSelectionIndex := self selectedKeyRow value.
fm
parents: 2049
diff changeset
  1050
    rowSelectionIndex == 0 ifTrue:[^nil].
fm
parents: 2049
diff changeset
  1051
    ^ keyStringsToLanguageMappings keyAt:rowSelectionIndex.
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1052
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1053
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1054
tableView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1055
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1056
    ^dataSetView scrolledView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1057
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1058
    "Created: / 15-06-2007 / 18:59:51 / Administrador"
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1059
! !
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1060
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1061
!InternationalLanguageTranslationEditor methodsFor:'additionalFuncionalities'!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1062
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1063
searchForSimilarTranslation
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1064
    "Looks for a quite similar translation for the key and display a dialog with available options"
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1065
    |similarTranslationsAssociations selectedTranslation key|
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1066
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1067
    self shouldSearchForSimilarTranslation ifFalse:[^self]. 
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1068
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1069
    key := self selectedKey.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1070
    key isNil ifTrue:[^ self.].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1071
    similarTranslationsAssociations := keyStringsToLanguageMappings searchForSimilarTranslation: key in: self currentLanguage.
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1072
    similarTranslationsAssociations isEmpty ifTrue:[^self].    
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1073
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1074
    similarTranslationsAssociations := similarTranslationsAssociations associations inject: OrderedCollection new into:[:collection :association |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1075
        collection detect:[:selectedAssociation |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1076
            selectedAssociation value sameAs: association value] ifNone:[collection add: association].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1077
        collection].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1078
    selectedTranslation := Dialog 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1079
        choose:'Choose one if you consider it´s usefull to translate: 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1080
    ', 
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1081
        '<', key, '>  ', (self currentExampleLanguageText ifNil:[''])
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1082
        fromList: (similarTranslationsAssociations collect:[:each |  '<', each key, '>  ', each value])
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1083
        values: (similarTranslationsAssociations collect:[:each | each value])
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1084
        lines:10
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1085
        cancel: nil.      
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1086
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1087
    selectedTranslation notNil ifTrue:[self languageTextHolderValue: selectedTranslation]. 
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1088
! !
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1089
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
!InternationalLanguageTranslationEditor methodsFor:'aspects'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1091
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1092
alwaysWriteUTF8Holder
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1093
    alwaysWriteUTF8Holder isNil ifTrue:[alwaysWriteUTF8Holder := true asValue]. 
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1094
    ^ alwaysWriteUTF8Holder
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1095
!
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1096
2050
fm
parents: 2049
diff changeset
  1097
autoAcceptHolder
fm
parents: 2049
diff changeset
  1098
    autoAcceptHolder isNil ifTrue:[autoAcceptHolder := true asValue]. 
fm
parents: 2049
diff changeset
  1099
    ^ autoAcceptHolder
fm
parents: 2049
diff changeset
  1100
!
fm
parents: 2049
diff changeset
  1101
fm
parents: 2049
diff changeset
  1102
exampleLanguageSelectionHolder
fm
parents: 2049
diff changeset
  1103
    exampleLanguageSelectionHolder isNil ifTrue:[
fm
parents: 2049
diff changeset
  1104
        exampleLanguageSelectionHolder := self exampleLanguageByDefault asValue.         
fm
parents: 2049
diff changeset
  1105
        exampleLanguageSelectionHolder addDependent:self.
fm
parents: 2049
diff changeset
  1106
    ]. 
fm
parents: 2049
diff changeset
  1107
    ^ exampleLanguageSelectionHolder
fm
parents: 2049
diff changeset
  1108
!
fm
parents: 2049
diff changeset
  1109
fm
parents: 2049
diff changeset
  1110
exampleLanguageTextHolder
fm
parents: 2049
diff changeset
  1111
    exampleLanguageTextHolder isNil ifTrue:[
fm
parents: 2049
diff changeset
  1112
        exampleLanguageTextHolder := '' asValue.
fm
parents: 2049
diff changeset
  1113
    ].
fm
parents: 2049
diff changeset
  1114
    ^ exampleLanguageTextHolder.
fm
parents: 2049
diff changeset
  1115
!
fm
parents: 2049
diff changeset
  1116
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1117
ignoreCaseHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1118
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1119
    ignoreCaseHolder isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1120
        ignoreCaseHolder := false asValue.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1121
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1122
"/       ignoreCaseHolder addDependent:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1123
        ignoreCaseHolder onChangeSend:#ignoreCaseHolderChanged to:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1124
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1125
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1126
    ^ ignoreCaseHolder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1127
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1128
    "Created: / 16-06-2007 / 06:45:04 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1129
    "Modified: / 16-06-2007 / 19:32:15 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1130
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1131
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1132
keyStringAndLanguageSelectionTable
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1133
    keyStringsToLanguageMappings isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1134
        keyStringsToLanguageMappings := KeyStringsToLanguageMappings new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1135
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1136
    ^ keyStringsToLanguageMappings.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1137
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1138
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1139
keyStringAndLanguageSelectionTableColumnDescriptionHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1140
    keyStringAndLanguageSelectionTableColumnDescriptionHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1141
        keyStringAndLanguageSelectionTableColumnDescriptionHolder := ValueHolder new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1142
        keyStringAndLanguageSelectionTableColumnDescriptionHolder value:(self keyStringAndLanguageSelectionTableColumnDescription).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1143
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1144
    ^ keyStringAndLanguageSelectionTableColumnDescriptionHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1145
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1146
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1147
languageAtCol:colNr
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1148
    ^ shownLanguages at:colNr-1.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1149
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1150
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1151
languageShownHolderFor:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1152
    |holder|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1153
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1154
    languageShownHolders isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1155
        languageShownHolders := Dictionary new
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1156
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1157
    holder := languageShownHolders 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1158
                at:lang 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1159
                ifAbsentPut:[ 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1160
                    |h|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1161
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1162
                    h := true asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1163
                    h onChangeEvaluate:[ 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1164
                        h value ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1165
                           self enableLanguageDisplayFor:lang     
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1166
                        ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1167
                           self disableLanguageDisplayFor:lang     
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1168
                        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1169
                    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1170
                    h
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1171
                ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1172
    ^ holder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1173
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1174
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1175
languageTextAcceptHolder
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1176
    languageTextAcceptHolder isNil ifTrue:[
2050
fm
parents: 2049
diff changeset
  1177
        languageTextAcceptHolder := false asValue.                        
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1178
    ].
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1179
    ^ languageTextAcceptHolder.
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1180
!
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1181
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1182
languageTextHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1183
    languageTextHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1184
        languageTextHolder := '' asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1185
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1186
    ^ languageTextHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1187
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1188
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1189
languageTextModifiedHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1190
    languageTextModifiedHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1191
        languageTextModifiedHolder := false asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1192
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1193
    ^ languageTextModifiedHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1194
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1195
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1196
languagesList
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1197
    languagesList isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1198
        languagesList := List withAll:(self keyStringAndLanguageSelectionTable languages).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1199
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1200
    ^ languagesList.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1201
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1202
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1203
originalTextHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1204
    originalTextHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1205
        originalTextHolder := '' asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1206
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1207
    ^ originalTextHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1208
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1209
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1210
originalTextModifiedHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1211
    originalTextModifiedHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1212
        originalTextModifiedHolder := false asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1213
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1214
    ^ originalTextModifiedHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1215
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1216
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1217
pasteOriginalEnableHolder
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1218
   pasteOriginalEnableHolder isNil ifTrue:[pasteOriginalEnableHolder := false asValue]. 
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1219
    ^ pasteOriginalEnableHolder
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1220
!
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1221
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1222
pastePreviousTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1223
   pastePreviousTranslationEnableHolder isNil ifTrue:[pastePreviousTranslationEnableHolder := false asValue]. 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1224
    ^ pastePreviousTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1225
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1226
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1227
searchBarImageInfoLabelHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1228
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1229
    searchBarImageInfoLabelHolder isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1230
        searchBarImageInfoLabelHolder := nil asValue .
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1231
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1232
    ^ searchBarImageInfoLabelHolder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1233
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1234
    "Created: / 16-06-2007 / 10:06:28 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1235
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1236
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1237
searchBarInfoLabelHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1238
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1239
    searchBarInfoLabelHolder isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1240
        searchBarInfoLabelHolder := '' asValue .
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1241
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1242
    ^ searchBarInfoLabelHolder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1243
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1244
    "Created: / 16-06-2007 / 06:20:49 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1245
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1246
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1247
searchBoxVisible
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1248
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1249
    searchBoxVisible isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1250
        searchBoxVisible := false asValue.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1251
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1252
    ^ searchBoxVisible.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1253
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1254
    "Created: / 15-06-2007 / 18:15:52 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1255
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1256
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1257
searchForSimilarTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1258
   searchForSimilarTranslationEnableHolder isNil 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1259
        ifTrue:[searchForSimilarTranslationEnableHolder := true asValue]. 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1260
    ^ searchForSimilarTranslationEnableHolder
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1261
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1262
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1263
searchTextHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1264
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1265
    searchTextHolder isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1266
        searchTextHolder := ValueHolder new.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1267
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1268
"/       userSelectedHolder addDependent:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1269
"/       userSelectedHolder onChangeSend:#searchTextHolderChanged to:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1270
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1271
    ^ searchTextHolder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1272
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1273
    "Created: / 15-06-2007 / 18:06:08 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1274
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1275
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1276
searchTextModifiedHolder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1277
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1278
    searchTextModifiedHolder isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1279
        searchTextModifiedHolder := false asValue .
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1280
"/ if your app needs to be notified of changes, uncomment one of the lines below:
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1281
"/       searchTextModifiedHolder addDependent:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1282
       searchTextModifiedHolder onChangeSend:#searchTextModifiedHolderChanged to:self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1283
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1284
    ^ searchTextModifiedHolder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1285
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1286
    "Created: / 15-06-2007 / 18:07:19 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1287
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1288
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1289
selectedKeyRow
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1290
    selectedKeyRow isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1291
        selectedKeyRow := ValueHolder new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1292
        selectedKeyRow onChangeSend:#selectionChanged to:self.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1293
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1294
    ^ selectedKeyRow.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1295
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1296
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1297
showMissingTranslationsOnly
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1298
    showMissingTranslationsOnly isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1299
        showMissingTranslationsOnly := false asValue.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1300
        showMissingTranslationsOnly onChangeSend:#showMissingTranslationsOnlyChanged to:self.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1301
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1302
    ^ showMissingTranslationsOnly.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1303
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1304
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1305
shownLanguages
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1306
    shownLanguages isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1307
        shownLanguages := List new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1308
        shownLanguages addAll:(self languagesList).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1309
        shownLanguages onChangeSend:#shownLanguagesChanged to:self.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1310
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1311
    ^ shownLanguages.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1312
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1313
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1314
stopApplicationIconVisibleHolder
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1315
    stopApplicationIconVisibleHolder isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1316
        stopApplicationIconVisibleHolder := false asValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1317
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1318
    ^ stopApplicationIconVisibleHolder.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1321
!InternationalLanguageTranslationEditor methodsFor:'change & update'!
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1322
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1323
languageTextHolderValue: aString
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1324
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1325
    self languageTextHolder value: aString.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1326
    self languageTextModifiedHolder value:true.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1327
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1328
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1329
update:something with:aParameter from:changedObject
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1330
    changedObject == shownLanguages ifTrue:[
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1331
         self shownLanguagesChanged.
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1332
         ^ self.
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1333
    ].
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1334
    changedObject == languageTextAcceptHolder ifTrue:[
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1335
         self updateLanguageTextModification.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1336
         ^ self.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1337
    ].
2050
fm
parents: 2049
diff changeset
  1338
    changedObject == exampleLanguageSelectionHolder ifTrue:[
fm
parents: 2049
diff changeset
  1339
        self updateExampleLanguageText.
fm
parents: 2049
diff changeset
  1340
        ^ self.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1341
    ].    
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1342
    changedObject == showMissingTranslationsOnly ifTrue:[
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1343
        self showMissingTranslationsOnlyChanged.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1344
        ^ self.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1345
    ]. 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1346
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1347
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1348
updateCopyPreviousTranslationButtonEnabled
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1349
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1350
     self pastePreviousTranslationEnableHolder value: self shouldCopyPreviousTranslationButtonBeEnabled
2050
fm
parents: 2049
diff changeset
  1351
!
fm
parents: 2049
diff changeset
  1352
fm
parents: 2049
diff changeset
  1353
updateExampleLanguageText
fm
parents: 2049
diff changeset
  1354
fm
parents: 2049
diff changeset
  1355
    self selectedKeyRow value isNil ifTrue:[^ self].
fm
parents: 2049
diff changeset
  1356
    self exampleLanguageTextHolder value:self currentExampleLanguageText
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1357
!
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1358
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1359
updateKeyStringsToLanguageMappings           
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1360
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1361
      keyStringsToLanguageMappings 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1362
        at:lastSelectedKey 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1363
        language:lastLanguage 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1364
        put: self newLanguageText.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1365
!
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1366
2050
fm
parents: 2049
diff changeset
  1367
updateLanguageAndKeySelection
fm
parents: 2049
diff changeset
  1368
fm
parents: 2049
diff changeset
  1369
    self originalTextHolder value: self selectedKey.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1370
    self languageTextHolder value: (self languageTextFromSelectedKeyFor: self currentLanguage).
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1371
    lastLanguage := self currentLanguage.
2050
fm
parents: 2049
diff changeset
  1372
    lastSelectedKey := self selectedKey. 
fm
parents: 2049
diff changeset
  1373
!
fm
parents: 2049
diff changeset
  1374
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1375
updateLanguageTextModification 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1376
     self languageTextModifiedHolder value ifTrue:[ 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1377
        (self autoAccept or:[Dialog confirm:'Accept changed translation ?']) ifTrue:[
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1378
            self languageTextModifiedHolder value:false.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1379
            self languageTextHolder value:languageEditor contents.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1380
            lastLanguage notNil ifTrue:[self updateKeyStringsToLanguageMappings.]
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1381
        ]
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1382
    ].
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1383
!
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1384
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1385
updateOriginalTextModification
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1386
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1387
    |answer|
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1388
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1389
        self originalTextModifiedHolder value ifTrue:[ 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1390
            answer := OptionBox 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1391
                          request:'Accept changed original text (key) ?' 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1392
                          label:'Original text (key) changed'
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1393
                          image:(WarningBox iconBitmap)
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1394
                          buttonLabels:#('Cancel' 'Accept' 'Accept As New')
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1395
                          values:#(nil #accept #acceptAsNew)
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1396
                          default:#acceptAsNew.
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1397
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1398
            answer isNil ifTrue:[^ self originalTextModifiedHolder value:false. ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1399
            answer == #accept ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1400
    self halt.        ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1401
            answer == #acceptAsNew ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1402
    self halt.        ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1403
        ].
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1404
!
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1405
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1406
updatePasteOriginalButtonEnabled
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1407
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1408
     self pasteOriginalEnableHolder value: self shouldPasteOriginalButtonBeEnabled
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1409
! !
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  1410
2050
fm
parents: 2049
diff changeset
  1411
!InternationalLanguageTranslationEditor methodsFor:'dialogs'!
fm
parents: 2049
diff changeset
  1412
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1413
requestEncoderDialog
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1414
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1415
   |box val characterCollection|
2050
fm
parents: 2049
diff changeset
  1416
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1417
    val := '' asValue.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1418
    box := Dialog new.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1419
    (box addTextLabel:'Select or write the encoder') adjust:#left.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1420
    box addVerticalSpace.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1421
    characterCollection := CharacterEncoder supportedExternalEncodings 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1422
        inject: OrderedCollection new
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1423
        into:[:collection :each |
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1424
            collection add: each first;
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1425
                        yourself].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1426
    (box addComboBoxOn:val) list: characterCollection.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1427
    box addOkButton.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1428
    box open.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1429
    ^val value
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1430
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1431
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1432
requestEncoderStringFor: lang
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1433
  "Returns an encoder string and updates the language's info"
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1434
    |encoderString encoder|
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1435
    encoderString := self requestEncoderDialog.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1436
    encoderString notEmpty ifTrue:[
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1437
        encoder := CharacterEncoder encoderFor: encoderString ifAbsent:nil.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1438
        encoder notNil ifTrue:[keyStringsToLanguageMappings atLanguage: lang putEncoder: encoder.].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1439
    ].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1440
    ^encoderString
2050
fm
parents: 2049
diff changeset
  1441
!
fm
parents: 2049
diff changeset
  1442
fm
parents: 2049
diff changeset
  1443
requestFilename  
fm
parents: 2049
diff changeset
  1444
fm
parents: 2049
diff changeset
  1445
    |aFilename|
fm
parents: 2049
diff changeset
  1446
fm
parents: 2049
diff changeset
  1447
    aFilename := Dialog 
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1448
        requestFileName:(resources string:'Name of resource file:')
2050
fm
parents: 2049
diff changeset
  1449
        default:nil 
fm
parents: 2049
diff changeset
  1450
        pattern:'*.rs'.
fm
parents: 2049
diff changeset
  1451
fm
parents: 2049
diff changeset
  1452
    aFilename isEmptyOrNil ifTrue:[^ nil ].
fm
parents: 2049
diff changeset
  1453
    ^aFilename asFilename
fm
parents: 2049
diff changeset
  1454
!
fm
parents: 2049
diff changeset
  1455
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1456
requestFilenameFor: lang  
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1457
  "Returns a filename to save the language resource and updates the language's info"
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1458
    |aFilename|
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1459
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1460
    aFilename := Dialog 
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1461
        requestFileName:(resources string:'Name of resource file to save %1:' with:lang asString)
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1462
        default:nil 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1463
        pattern:'*.rs'.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1464
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1465
    aFilename isEmptyOrNil ifTrue:[^ nil ].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1466
    keyStringsToLanguageMappings atLanguage: lang putFilename: aFilename.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1467
    ^aFilename asFilename
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1468
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1469
2050
fm
parents: 2049
diff changeset
  1470
requestLanguage
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1471
    ^ Dialog 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1472
        choose:(resources string:'For which language ?') 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1473
        fromList:languagesList 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1474
        lines:10.
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1475
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1476
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1477
requestLanguageToSave
2050
fm
parents: 2049
diff changeset
  1478
    ^ Dialog 
fm
parents: 2049
diff changeset
  1479
        choose:'Which language do you want to save?'
fm
parents: 2049
diff changeset
  1480
        fromList:languagesList
fm
parents: 2049
diff changeset
  1481
        lines:10
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1482
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1483
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1484
requestPackage
2419
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1485
    |package allProjects projectsWithResources|
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1486
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1487
    allProjects := Smalltalk allProjectIDs.
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1488
    projectsWithResources := allProjects
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1489
                                select:[:pID |
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1490
                                    |dir|    
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1491
                                    dir := Smalltalk projectDirectoryForPackage:pID.    
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1492
                                    (dir asFilename construct:'resources') exists    
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1493
                                ].
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1494
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1495
    package := Dialog
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1496
        requestProject:(resources string:'Name of Package:') 
2419
e71445e7174c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2416
diff changeset
  1497
        from:projectsWithResources
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1498
        initialAnswer:LastProject 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1499
        suggestions:nil.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1500
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1501
    package isEmptyOrNil ifTrue:[^ nil ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1502
    LastProject := package.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1503
    ^ package
2050
fm
parents: 2049
diff changeset
  1504
! !
fm
parents: 2049
diff changeset
  1505
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1506
!InternationalLanguageTranslationEditor methodsFor:'images'!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1507
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1508
restartSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1509
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1510
    ^ self class restartSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1511
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1512
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1513
warningSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1514
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1515
    ^ self class warningSearchBarIcon
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1516
! !
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1517
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1518
!InternationalLanguageTranslationEditor methodsFor:'initialization & release'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1519
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1520
closeRequest
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1521
    "asks for permission before closing"
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1522
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1523
    self hasUnsavedChanges ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1524
        (Dialog 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1525
            confirm:(resources string:'Close without saving ?')
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1526
            default:false) ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1527
            ^ self
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1528
        ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1529
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1530
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1531
    super closeRequest
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1532
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1533
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1534
initialize
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1535
    modified := false.
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1536
    inSingleFileMode := false.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1537
    super initialize
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1538
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1539
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1540
languageEditorBuilt:aView
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1541
    languageEditor := aView.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1542
!
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1543
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1544
postBuildDataSet:aView
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1545
    dataSetView := aView.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  1546
    aView selectedColIndexHolder onChangeSend:#selectionChanged to:self.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1547
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1548
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1549
!InternationalLanguageTranslationEditor methodsFor:'initialize'!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1550
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1551
postBuildSearchBoxView: aBoxView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1552
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1553
    searchBoxView := aBoxView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1554
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1555
    "Created: / 15-06-2007 / 18:02:38 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1556
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1557
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1558
postBuildSearchTextView: anEditFieldView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1559
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1560
    searchTextView := anEditFieldView
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1561
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1562
    "Created: / 15-06-2007 / 18:17:15 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1563
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1564
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1565
postBuildTranslationsPanel: aPanel
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1566
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1567
    translationsPanel := aPanel
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1568
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1569
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1570
postBuildWith:aBuilder
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1571
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1572
    super postBuildWith:aBuilder.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1573
    self updateToolVisibility.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1574
! !
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1575
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1576
!InternationalLanguageTranslationEditor methodsFor:'menu actions'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1577
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1578
addLanguage
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1579
    |lang|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1580
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1581
    lang := Dialog request:(resources string:'New language (ISO symbol):').
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1582
    lang isEmptyOrNil ifTrue:[^ self].
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1583
    self addLanguage:lang
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1584
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1585
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1586
addLanguage:langArg
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1587
    |lang|
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1588
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1589
    lang := langArg asSymbol.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1590
    (keyStringsToLanguageMappings includesLanguage:lang) ifTrue:[^ self ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1591
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1592
    keyStringsToLanguageMappings addLanguage:lang.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1593
    self languagesList add:lang.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1594
    self shownLanguages add:lang.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1595
    modified := true.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1596
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1597
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1598
addTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1599
    |key index|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1600
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1601
    key := Dialog request:'New Key:'.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1602
    key isEmpty ifTrue:[^self].
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1603
    (self includesKey:key) ifFalse:[
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1604
        keyStringsToLanguageMappings addKey:key.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1605
        modified := true.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1606
    ].
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1607
   index := keyStringsToLanguageMappings indexOfKey:key.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  1608
   self selectedKeyRow value:index
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1609
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1610
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1611
changeLastNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1612
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1613
    |nameSpace defaultNameSpace|
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1614
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1615
    lastNameSpace notNil ifTrue:[defaultNameSpace := lastNameSpace name].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1616
    nameSpace := Dialog requestNameSpace:'NameSpace:' title:'Search String in Name Space:' initialAnswer:defaultNameSpace.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1617
    nameSpace isNil ifTrue:[^self].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1618
    nameSpace := Smalltalk at:nameSpace asSymbol.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1619
    nameSpace isNil ifTrue:[
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1620
        ^Dialog information:(resources string:'No such nameSpace exists.') 
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1621
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1622
    lastNameSpace := nameSpace.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1623
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1624
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1625
changeLastPackage
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1626
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1627
    |package defaultPackage|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1628
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1629
    lastPackage notNil ifTrue:[defaultPackage := lastPackage].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1630
    package := Dialog
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1631
            requestProject:'Package:'
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1632
            initialAnswer:defaultPackage 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1633
            suggestions:#('foo' 'bar' 'baz').
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1634
    package isNil ifTrue:[
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1635
        ^ self "/ Dialog information:(resources string:'No such package exists.') 
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1636
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1637
    lastPackage := package.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1638
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1639
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1640
extractTranslationsFromClass
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1641
    |aClass newTranslations|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1642
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1643
    aClass := Dialog 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1644
                requestClass:'Class to extract translations from:'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1645
                okLabel:'OK' 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1646
                initialAnswer:(lastExtractedClass ? LastExtractedClass).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1647
    aClass isNil ifTrue:[^ self ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1648
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1649
    lastExtractedClass := LastExtractedClass := aClass.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1650
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1651
    newTranslations := self extractTranslationsFromClass:aClass.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1652
    self addAllTranslations:newTranslations.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1653
!
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1654
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1655
extractTranslationsFromNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1656
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1657
    |newTranslations|
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1658
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1659
    self changeLastNameSpace.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1660
    lastNameSpace isNil ifTrue:[^self.].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1661
    newTranslations := OrderedCollection new.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1662
    lastNameSpace allClassesDo:[:eachClass |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1663
        newTranslations addAll:( self extractTranslationsFromClass:eachClass theNonMetaclass).
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1664
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1665
    self addAllTranslations:newTranslations.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1666
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1667
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1668
extractTranslationsFromProject
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1669
    |box projectID newTranslations|
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1670
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1671
    box := ListSelectionBox new.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1672
"/    box useComboBoxWithList:(Smalltalk allProjectIDs).
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1673
    box title:(resources string:'Project to extract translations from:').
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1674
    box list:Smalltalk allProjectIDs.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1675
    box okAction:[:sel | projectID := sel].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1676
    box initialText:(lastExtractedProject ? LastExtractedProject).
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1677
    box label:'Find Translations in Project'.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1678
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1679
    box showAtPointer.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1680
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1681
    projectID notNil ifTrue:[
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1682
        projectID := projectID withoutSeparators asSymbol.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1683
    ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1684
    projectID isEmptyOrNil ifTrue:[^ self ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1685
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1686
    lastExtractedProject := LastExtractedProject := projectID.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1687
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1688
    newTranslations := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1689
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1690
    Smalltalk allClassesDo:[:eachClass |
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1691
        eachClass theNonMetaclass package == projectID ifTrue:[
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1692
"/ eachClass isLoaded ifTrue:[ self halt. ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1693
            newTranslations addAll:( self extractTranslationsFromClass:eachClass theNonMetaclass).
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1694
        ]
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1695
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1696
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  1697
    self addAllTranslations:newTranslations.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1698
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1699
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1700
importExistingTranslationsFromFile
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1701
    self information:'The import function is not available in this release'.
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1702
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1703
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1704
inspectCanvasMissingStrings
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1705
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1706
    |spec nameSpace missingStrings|
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1707
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1708
    missingStrings := OrderedCollection new.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1709
    nameSpace := Dialog requestNameSpace:'NameSpace:' title:'Specify NameSpace to look for missing strings' initialAnswer:nil.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1710
    nameSpace := Smalltalk at:nameSpace asSymbol.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1711
    nameSpace isNil ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1712
        ^Dialog information:(resources string:'No such nameSpace exists.?') 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1713
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1714
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1715
    nameSpace allClassesDo:[:cls |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1716
        cls theMetaclass methodsDo:[:m |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1717
            m hasResource ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1718
                (m resources includesKey:#canvas) ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1719
                    spec := (cls perform:m selector) decodeAsLiteralArray.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1720
                    spec do:[:eachComponent |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1721
                        eachComponent translationKeysDo:[:k | 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1722
                            (self includesKey: k) ifFalse:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1723
                                missingStrings add: k. 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1724
                                Transcript showCR: k storeString, '                         ', m printString]]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1725
                    ]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1726
                ]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1727
            ]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1728
        ]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1729
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1730
    missingStrings asSet inspect
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1731
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1732
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1733
menuNew
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1734
    modified ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1735
        (Dialog 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1736
            confirm:(resources stringWithCRs:'Modified translations have not been changed.\\Create new translations set anyway ?')
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1737
            default:false) ifFalse:[^ self].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1738
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1739
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1740
    keyStringsToLanguageMappings initialize.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1741
    keyStringsToLanguageMappings changed.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1742
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1743
    self languagesList contents:self keyStringAndLanguageSelectionTable languages.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1744
    self shownLanguages contents:self keyStringAndLanguageSelectionTable languages.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1745
    modified := false.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1746
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1747
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1748
menuOpen
2050
fm
parents: 2049
diff changeset
  1749
    |aFilename|
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1750
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1751
    self withWaitCursorDo:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1752
        aFilename := self requestFilename.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1753
        aFilename isNil ifTrue:[^ self ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1754
        self readResourceFile:aFilename.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1755
    ]
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1756
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1757
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1758
menuOpenByPackage
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1759
    |package|
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1760
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1761
    self withWaitCursorDo:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1762
        package := self requestPackage.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1763
        package isNil ifTrue:[^ self ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1764
        self readResourceFileForPackage:package.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1765
    ]
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1766
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1767
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1768
menuSave
2050
fm
parents: 2049
diff changeset
  1769
"Saves the language selected in the fileName from where the language resource was obtained."
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1770
    |lang|
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1771
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1772
    lang := self requestLanguageToSave.
2050
fm
parents: 2049
diff changeset
  1773
    lang isNil ifTrue:[^ self].
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1774
    self saveLanguage: lang
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1775
!
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1776
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1777
menuSaveAll
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1778
"Saves all the languages in the fileName from where the language resource was obtained."
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1779
    keyStringsToLanguageMappings languagesInUse do:[:each | self saveLanguage: each]. 
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1780
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1781
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1782
menuSaveAs
2050
fm
parents: 2049
diff changeset
  1783
"Saves the language selected in the specified fileName."
fm
parents: 2049
diff changeset
  1784
     |lang aFilename|
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1785
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1786
    lang := self requestLanguageToSave.
2050
fm
parents: 2049
diff changeset
  1787
    lang isNil ifTrue:[^ self]. 
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  1788
    aFilename := self requestFilenameFor:lang.
2050
fm
parents: 2049
diff changeset
  1789
    aFilename isNil ifTrue:[^ self].
fm
parents: 2049
diff changeset
  1790
    self saveResourceFile:aFilename for:lang asSymbol
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1791
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1792
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1793
openAboutThisApplication
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1794
    "This method was generated by the Browser.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1795
     It will be invoked when the menu-item 'help-about' is selected."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1796
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1797
    "/ could open a customized aboutBox here ...
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1798
    super openAboutThisApplication
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1799
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1800
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1801
openDocumentation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1802
    "This method was generated by the Browser.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1803
     It will be invoked when the menu-item 'help-documentation' is selected."
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1804
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1805
    "/ change below as required ...
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1806
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1807
    "/ to open an HTML viewer on some document (under 'doc/online/<language>/' ):
2413
655f1c52504c help file reference fixed
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
  1808
    HTMLDocumentView openFullOnDocumentationFile:'tools/languageEditor/TOP.html'.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1809
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1810
    "/ add application-specific help files under the 'doc/online/<language>/help/appName'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1811
    "/ directory, and open a viewer with:
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1812
    "/ HTMLDocumentView openFullOnDocumentationFile:'help/<MyApplication>/TOP.html'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1813
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1814
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1815
readResourceFile:aFilename
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1816
    |lang|
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1817
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1818
    lang := self requestLanguage.
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1819
    lang isNil ifTrue:[^ self ].
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1820
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1821
    self readResourceFile:aFilename asLanguage:lang asSymbol
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1822
!
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1823
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1824
readResourceFileForPackage:aPackage
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1825
    |allLanguages lang packageDir resourceDir langFile|
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1826
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1827
    packageDir := Smalltalk packageDirectoryForPackageId:aPackage.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1828
    resourceDir := packageDir asFilename construct:'resources'.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1829
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1830
    allLanguages := Set new.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1831
    resourceDir directoryContentsAsFilenamesDo:[:eachFile |
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1832
        eachFile suffix = 'rs' ifTrue:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1833
            (('##.rs' match:eachFile baseName)
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1834
            or:[('##-##.rs' match:eachFile baseName)]) ifTrue:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1835
                allLanguages add:(eachFile withoutSuffix baseName)
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1836
            ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1837
        ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1838
    ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1839
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1840
    allLanguages addAll:languagesList.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1841
    allLanguages := allLanguages asSortedCollection.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1842
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1843
    lang := Dialog 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1844
        choose:(resources string:'For which language ?')
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1845
        fromList:allLanguages 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1846
        values:allLanguages 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1847
        buttons:(resources array:#('All')) 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1848
        values:#(all) 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1849
        lines:10 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1850
        cancel:nil.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1851
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1852
    lang isNil ifTrue:[^ self ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1853
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1854
    langFile := resourceDir construct:lang,'.rs'.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1855
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1856
    lang == #all ifTrue:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1857
        allLanguages do:[:lang |
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1858
            self addLanguage:lang.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1859
            self readResourceFile:(resourceDir construct:lang,'.rs') asLanguage:lang.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1860
        ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1861
    ] ifFalse:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1862
        self readResourceFile:langFile asLanguage:lang asSymbol
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1863
    ].
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1864
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  1865
2050
fm
parents: 2049
diff changeset
  1866
removeLanguage
fm
parents: 2049
diff changeset
  1867
    |lang|
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  1868
2050
fm
parents: 2049
diff changeset
  1869
    lang := Dialog choose:'Which language do you want to remove?' fromList:languagesList lines:10.
fm
parents: 2049
diff changeset
  1870
    lang isNil ifTrue:[^ self ].
fm
parents: 2049
diff changeset
  1871
    (Dialog confirm: 'Are you sure to remove the language ', lang ) ifTrue:[
fm
parents: 2049
diff changeset
  1872
          self languagesList remove:lang.
fm
parents: 2049
diff changeset
  1873
          self shownLanguages remove:lang.
fm
parents: 2049
diff changeset
  1874
    ].      
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1875
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1876
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1877
removeTranslation
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1878
    |rowSelectionIndex selectedKey|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1879
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1880
    rowSelectionIndex := self selectedKeyRow value.
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1881
    rowSelectionIndex isNil ifTrue:[^self].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1882
    rowSelectionIndex ~~ 0 ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1883
        selectedKey := keyStringsToLanguageMappings keyAt:rowSelectionIndex ifAbsent:nil.
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1884
        selectedKey isNil ifTrue:[^self].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1885
        (Dialog confirm:(resources string:'Really remove key %1' with:selectedKey)) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1886
            keyStringsToLanguageMappings removeKey:selectedKey.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1887
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1888
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1889
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1890
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1891
runApplicationAndCollectTranslations
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1892
    |applicationClass newTranslations pseudoPack app startSelector|
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1893
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1894
    monitoredApplication notNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1895
        monitoredApplication terminate.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1896
        [monitoredApplication notNil] whileTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1897
            Delay waitForSeconds:0.1
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1898
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1899
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1900
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1901
    applicationClass := Dialog 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1902
                requestClass:'Application class to start and collect translations from:'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1903
                okLabel:'OK' 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1904
                initialAnswer:(lastExtractedApplicationClass ? LastExtractedApplicationClass ).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1905
    applicationClass isNil ifTrue:[^ self ].
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1906
    applicationClass isNamespace ifTrue:[
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1907
        Dialog warn:'Entered class is a NameSpace'.
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1908
        ^ self.
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1909
    ].
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1910
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1911
    applicationClass isVisualStartable ifTrue:[
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1912
        startSelector := #open
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1913
    ] ifFalse:[
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1914
        startSelector := Dialog
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1915
                    request:'Entered class seems to be no application class. Ok to start using selector:'
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1916
                    initialAnswer:((applicationClass respondsTo:#'start')
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1917
                                        ifTrue:#'start'
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1918
                                        ifFalse:#'new')
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1919
                    okLabel:'START'
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1920
                    title:'Start Application'.
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1921
        startSelector isNil ifTrue:[
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1922
            ^ self
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1923
        ].
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1924
        startSelector := startSelector asSymbol.
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1925
    ].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1926
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1927
    lastExtractedApplicationClass := LastExtractedApplicationClass := applicationClass.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1928
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1929
    newTranslations := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1930
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1931
    pseudoPack := AccessCollectingPseudoResourcePack new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1932
    pseudoPack realResourcePack:(applicationClass classResources).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1933
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1934
    self stopApplicationIconVisibleHolder value:true.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1935
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1936
    monitoredApplication := [
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1937
        [
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1938
            app := applicationClass new.
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  1939
            app perform:startSelector.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1940
            app window waitUntilVisible.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1941
            app window waitUntilClosed.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1942
        ] ensure:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1943
            app closeRequest.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1944
            self stopApplicationIconVisibleHolder value:false.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1945
            monitoredApplication := nil.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1946
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1947
    ] fork.
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1948
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1949
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1950
searchStringInLastNameSpace
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1951
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1952
    |selectedKey browser lastSearchPatterns|
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1953
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1954
    selectedKey := self selectedKey.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1955
    selectedKey isNil ifTrue:[^Dialog information: 'No selected key'].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1956
    browser := NewSystemBrowser new "open".
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1957
    browser allButOpen.
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1958
    lastSearchPatterns := browser lastSearchPatterns.
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  1959
    (lastSearchPatterns notNil and:[lastSearchPatterns first ~= selectedKey]) ifTrue:[
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1960
        browser lastSearchPatterns addFirst: selectedKey
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1961
    ].
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1962
    SearchDialog lastStringSearchArea: #currentNameSpace.
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1963
    lastNameSpace isNil ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1964
        self changeLastNameSpace.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1965
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1966
    lastNameSpace notNil ifTrue:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1967
"/        browser navigationState selectedClasses value: lastNameSpace allClasses.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1968
        browser navigationState nameSpaceFilter value: (OrderedCollection with:lastNameSpace name).
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1969
        browser navigationState selectedNamespaces value: (OrderedCollection with:lastNameSpace name).
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1970
    ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1971
    self withWaitCursorDo:[
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1972
        browser browseMenuMethodsWithString
641467b2f522 Search String
fm
parents: 2053
diff changeset
  1973
    ].
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1974
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1975
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1976
searchStringInLastPackage
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1977
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1978
    | selectedKey browser lastSearchPatterns|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1979
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1980
    selectedKey := self selectedKey.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1981
    selectedKey isNil ifTrue:[^Dialog information: 'No selected key'].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1982
    browser := NewSystemBrowser new "open".
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1983
    browser allButOpen.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1984
    lastSearchPatterns := browser lastSearchPatterns.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1985
    (lastSearchPatterns notNil and:[lastSearchPatterns first ~= selectedKey]) ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1986
        browser lastSearchPatterns addFirst: selectedKey
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1987
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1988
    SearchDialog lastStringSearchArea: #currentPackage.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1989
    lastPackage isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1990
        self changeLastPackage.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1991
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1992
    lastPackage notNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1993
"/        browser navigationState selectedClasses value: lastNameSpace allClasses.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1994
        browser navigationState packageFilter value: (OrderedCollection with:lastPackage).
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1995
        browser navigationState selectedProjects value: (OrderedCollection with:lastPackage).
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1996
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1997
    self withWaitCursorDo:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1998
        browser browseMenuMethodsWithString
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  1999
    ].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2000
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2001
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2002
!InternationalLanguageTranslationEditor methodsFor:'menus dynamic'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2003
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2004
disableLanguageDisplayFor:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2005
    self shownLanguages remove:lang ifAbsent:[]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2006
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2007
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2008
enableLanguageDisplayFor:newLang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2009
    |shownLanguagesInOrder|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2010
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2011
    (self shownLanguages includes:newLang) ifFalse:[
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2012
"/        shownLanguagesInOrder := self languagesList
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2013
"/                                    select:[:lang | (self shownLanguages includes:lang)
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2014
"/                                                    or:[ lang = newLang ]].
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2015
"/        self shownLanguages contents:shownLanguagesInOrder.
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2016
        self shownLanguages add:newLang.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2017
    ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2018
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2019
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2020
isLanguageShown:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2021
    ^ self shownLanguages includes:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2022
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2023
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2024
shownLanguagesMenu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2025
    <resource: #programMenu >
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2026
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2027
    ^ [
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2028
        |m selected|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2029
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2030
        m := Menu new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2031
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2032
        self languagesList do:[:lang |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2033
            |item|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2034
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2035
            item := MenuItem label:lang.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2036
            item indication:(self languageShownHolderFor:lang).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2037
            item hideMenuOnActivated:false.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2038
            m addItem:item.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2039
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2040
        m
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2041
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2042
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2043
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2044
toggleLanguageDisplayFor:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2045
    (self shownLanguages includes:lang) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2046
        self disableLanguageDisplayFor:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2047
    ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2048
        self enableLanguageDisplayFor:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2049
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2050
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2051
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2052
!InternationalLanguageTranslationEditor methodsFor:'private-key extraction'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2053
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2054
addAllTranslations:newTranslations
2034
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2055
    |newTranslationKeys stringKeys nonStringKeys|
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2056
2034
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2057
    newTranslationKeys := newTranslations select:[:k | k notEmpty and:[k isString not or:[k isBlank not]]].
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2058
    newTranslationKeys := newTranslationKeys select:[:k | (keyStringsToLanguageMappings includesKey:k) not].
2034
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2059
    newTranslationKeys := newTranslationKeys 
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2060
                                collect:[:k | 
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2061
                                        (k endsWith:'...') ifTrue:[
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2062
                                            k copyWithoutLast:3.
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2063
                                        ] ifFalse:[
2035
ea8ec7c3fbeb *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2034
diff changeset
  2064
                                            ('.:?' includes:k last) ifTrue:[
2034
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2065
                                                k copyWithoutLast:1.
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2066
                                            ] ifFalse:[
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2067
                                                k
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2068
                                        ]]].
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2069
    newTranslationKeys := newTranslationKeys asSet.
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2070
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2071
    newTranslationKeys notEmpty ifTrue:[
2034
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2072
        stringKeys := newTranslationKeys select:[:k | k isString].
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2073
        nonStringKeys := newTranslationKeys select:[:k | k isString not].
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2074
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2075
        stringKeys := stringKeys asSortedCollection.
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2076
        keyStringsToLanguageMappings addKeys:stringKeys.
23d558e4d32e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2033
diff changeset
  2077
        keyStringsToLanguageMappings addKeys:nonStringKeys.
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2078
        modified := true.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2079
    ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2080
!
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2081
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2082
extractTranslationsFromClass:aClass
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2083
    |newTranslations|
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2084
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2085
    newTranslations := Set new.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2086
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2087
    self withWaitCursorDo:[
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2088
        "/ now, the hard part:
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2089
        "/ possible translations are in the specs,
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2090
        "/ and all arguments to (resources string:) messages.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2091
        aClass instAndClassMethodsDo:[:eachMethod |
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2092
            newTranslations addAll:( self extractTranslationsFromMethod:eachMethod ).
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2093
        ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2094
    ].
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2095
    ^ newTranslations
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2096
!
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2097
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2098
extractTranslationsFromHelpSpecMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2099
    |codeStrings matcher parseTree resourceKeys|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2100
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2101
    parseTree := RBParser 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2102
            parseMethod:aMethod source 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2103
            onError: [:str :pos | Transcript showCR:str. Transcript showCR:pos.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2104
                                  nil].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2105
    parseTree isNil ifTrue:[^ #() ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2106
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2107
    codeStrings  := 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2108
        #(
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2109
                '`@dict addPairsFrom: `#helpKeysAndStrings'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2110
        ).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2111
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2112
    resourceKeys := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2113
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2114
    matcher := ParseTreeSearcher new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2115
    matcher 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2116
        matchesAnyOf: codeStrings 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2117
        do: [:aNode :answer |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2118
                |sel argNode arg|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2119
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2120
                sel := aNode selector.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2121
                (sel startsWith:'addPairsFrom:') ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2122
                    argNode := aNode arguments at:1.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2123
                    argNode isLiteral ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2124
                        arg := argNode value.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2125
                        arg isArray ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2126
                            arg doWithIndex:[:el :index |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2127
                                index even ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2128
                                    el isString ifTrue:[    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2129
                                        resourceKeys add:el.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2130
                                    ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2131
                                ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2132
                            ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2133
                        ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2134
                            Transcript 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2135
                                showCR:(resources 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2136
                                        string:'Cannot derive resourceKey from non-array in %1 in %2'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2137
                                        with:argNode formattedCode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2138
                                        with:aMethod selector).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2139
                        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2140
                    ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2141
                        Transcript 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2142
                            showCR:(resources 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2143
                                        string:'Cannot derive resourceKey from non-literal: %1 in %2'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2144
                                        with:argNode formattedCode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2145
                                        with:aMethod selector).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2146
                    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2147
                ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2148
                aNode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2149
            ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2150
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2151
    matcher executeTree: parseTree initialAnswer: nil.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2152
    ^ resourceKeys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2153
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2154
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2155
extractTranslationsFromMenuSpecMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2156
    |menu resourceKeys|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2157
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2158
    menu := aMethod mclass theNonMetaclass perform:aMethod selector.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2159
    menu isNil ifTrue:[ ^ #() ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2160
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2161
    (menu isKindOf:Menu) ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2162
        menu := Menu new fromLiteralArrayEncoding:menu
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2163
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2164
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2165
    resourceKeys := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2166
    menu allItemsDo:[:aMenuItem |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2167
        aMenuItem translateLabel ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2168
            aMenuItem isSeparatorItem ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2169
                resourceKeys add:aMenuItem label.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2170
            ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2171
        ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2172
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2173
    ^ resourceKeys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2174
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2175
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2176
extractTranslationsFromMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2177
    |mResources|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2178
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2179
    mResources := aMethod resources.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2180
    mResources notNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2181
        (mResources includesKey:#menu) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2182
             ^ self extractTranslationsFromMenuSpecMethod:aMethod.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2183
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2184
        (mResources includesKey:#canvas) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2185
             ^ self extractTranslationsFromUISpecMethod:aMethod.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2186
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2187
        (mResources includesKey:#help) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2188
             ^ self extractTranslationsFromHelpSpecMethod:aMethod.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2189
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2190
        (mResources includesKey:#tableColumns) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2191
             ^ self extractTranslationsFromTableColumnsSpecMethod:aMethod.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2192
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2193
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2194
        ^ self extractTranslationsFromSpecMethod:aMethod.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2195
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2196
    ^ self extractTranslationsFromMethodsCode:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2197
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2198
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2199
extractTranslationsFromMethodsCode:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2200
"/method:mthd selector:sel inClass:cls matchesParseTreeMatcher:aMatcher
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2201
    |codeStrings matcher parseTree resourceKeys|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2202
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2203
    parseTree := RBParser 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2204
            parseMethod:aMethod source 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2205
            onError: [:str :pos | Transcript showCR:str. Transcript showCR:pos.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2206
                                  nil].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2207
    parseTree isNil ifTrue:[^ #() ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2208
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2209
    codeStrings  := 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2210
        #(
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2211
                'resources `@msg: `@args'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2212
                'self resources `@msg: `@args'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2213
                'self class resources `@msg: `@args'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2214
                'self classResources `@msg: `@args'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2215
        ).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2216
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2217
    resourceKeys := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2218
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2219
    matcher := ParseTreeSearcher new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2220
    matcher 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2221
        matchesAnyOf: codeStrings 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2222
        do: [:aNode :answer |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2223
                |sel keyStringArgNode keyStringArg|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2224
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2225
                sel := aNode selector.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2226
                ((sel startsWith:'string:') or:[(sel startsWith:'at:')]) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2227
                    keyStringArgNode := aNode arguments at:1.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2228
                    keyStringArgNode isLiteral ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2229
                        keyStringArg := keyStringArgNode value.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2230
                        keyStringArg isString ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2231
                            resourceKeys add:keyStringArg.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2232
                        ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2233
                            Transcript 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2234
                                showCR:(resources 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2235
                                        string:'Cannot derive resourceKey from non-string: %1 in %2'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2236
                                        with:keyStringArgNode formattedCode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2237
                                        with:aMethod selector).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2238
                        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2239
                    ] ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2240
                        Transcript 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2241
                            showCR:(resources 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2242
                                        string:'Cannot derive resourceKey from non-literal: %1 in %2'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2243
                                        with:keyStringArgNode formattedCode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2244
                                        with:aMethod selector).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2245
                    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2246
                ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2247
                aNode
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2248
            ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2249
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2250
    matcher executeTree: parseTree initialAnswer: nil.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2251
    ^ resourceKeys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2252
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2253
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2254
extractTranslationsFromSpecMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2255
    ^ #()
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2256
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2257
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2258
extractTranslationsFromTableColumnsSpecMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2259
    |columnDescription resourceKeys|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2260
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2261
    columnDescription := aMethod mclass theNonMetaclass perform:aMethod selector.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2262
    columnDescription isNil ifTrue:[ ^ #() ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2263
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2264
    (columnDescription first isKindOf:DataSetColumnSpec) ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2265
        columnDescription := columnDescription collect:[:el | DataSetColumnSpec new fromLiteralArrayEncoding:el].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2266
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2267
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2268
    resourceKeys := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2269
    columnDescription do:[:aColumnSpec |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2270
        aColumnSpec translateLabel ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2271
            resourceKeys add:aColumnSpec label.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2272
        ]
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2273
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2274
    ^ resourceKeys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2275
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2276
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2277
extractTranslationsFromUISpecMethod:aMethod
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2278
    |spec resourceKeys visitor|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2279
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2280
    spec := aMethod mclass theNonMetaclass perform:aMethod selector.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2281
    spec isNil ifTrue:[ ^ #() ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2282
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2283
    (spec isKindOf:UISpecification) ifFalse:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2284
        spec := UISpecification from:spec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2285
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2286
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2287
    resourceKeys := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2288
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2289
    visitor := UISpecVisitor new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2290
    spec acceptVisitor:visitor.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2291
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2292
    ^ visitor translatedLabels
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2293
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2294
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2295
!InternationalLanguageTranslationEditor methodsFor:'queries'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2296
2050
fm
parents: 2049
diff changeset
  2297
autoAccept                                                   
fm
parents: 2049
diff changeset
  2298
fm
parents: 2049
diff changeset
  2299
    ^ self autoAcceptHolder value
fm
parents: 2049
diff changeset
  2300
!
fm
parents: 2049
diff changeset
  2301
fm
parents: 2049
diff changeset
  2302
currentExampleLanguageText           
fm
parents: 2049
diff changeset
  2303
   "Returns the language text corresponding for the current selected key and the example language selection"
fm
parents: 2049
diff changeset
  2304
fm
parents: 2049
diff changeset
  2305
  ^self languageTextFromSelectedKeyFor: self exampleLanguageSelectionHolder value
fm
parents: 2049
diff changeset
  2306
!
fm
parents: 2049
diff changeset
  2307
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2308
currentLanguage
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2309
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2310
    |colSelectionIndex |
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2311
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2312
    colSelectionIndex := dataSetView selectedColIndex.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2313
    ^colSelectionIndex > 1 ifTrue:[ shownLanguages at:colSelectionIndex-1 ] ifFalse:nil.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2314
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2315
2050
fm
parents: 2049
diff changeset
  2316
exampleLanguageByDefault
fm
parents: 2049
diff changeset
  2317
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2318
    ^self shownLanguages isEmpty
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2319
        ifTrue:[nil]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2320
        ifFalse:[self shownLanguages first]
2050
fm
parents: 2049
diff changeset
  2321
!
fm
parents: 2049
diff changeset
  2322
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2323
hasFirstRowSelection
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2324
    self selectedKeyRow isNil ifTrue:[^false].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2325
    ^ self selectedKeyRow value > 1
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2326
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2327
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2328
hasLanguageSelection
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2329
    dataSetView selectedColIndex isNil ifTrue:[^false].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2330
    ^ dataSetView selectedColIndex > 1
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2331
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2332
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2333
hasUnsavedChanges
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2334
    ^ modified
2050
fm
parents: 2049
diff changeset
  2335
!
fm
parents: 2049
diff changeset
  2336
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2337
includesKey: aKey
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2338
    keyStringsToLanguageMappings isNil ifTrue:[^false].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2339
    ^keyStringsToLanguageMappings includesKey:aKey
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2340
!
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2341
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2342
isSearchForSimilarTranslationEnabled
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2343
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2344
    ^self searchForSimilarTranslationEnableHolder value
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2345
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2346
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2347
languageTextFromKey: aKeyIndex for: language
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2348
    "Returns the language text corresponding for the aKeyIndex and the received language"    
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2349
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2350
    language isNil ifTrue:[^''].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2351
    ^keyStringsToLanguageMappings at: aKeyIndex language:language.   
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2352
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2353
2050
fm
parents: 2049
diff changeset
  2354
languageTextFromSelectedKeyFor: language
fm
parents: 2049
diff changeset
  2355
    "Returns the language text corresponding for the current selected key and the received language"    
fm
parents: 2049
diff changeset
  2356
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2357
    ^self languageTextFromKey: self selectedKey for: language 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2358
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2359
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2360
shouldCopyPreviousTranslationButtonBeEnabled
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2361
    ^ self hasLanguageSelection 
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2362
        and:[self hasFirstRowSelection]
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2363
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2364
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2365
shouldPasteOriginalButtonBeEnabled
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2366
    ^ self hasLanguageSelection 
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2367
        and:[self hasFirstRowSelection]
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2368
!
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2369
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2370
shouldSearchForSimilarTranslation
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2371
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2372
    self isSearchForSimilarTranslationEnabled ifFalse:[^false].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2373
    (self languageTextHolder value notNil and:[self languageTextHolder value notEmpty]) ifTrue:[^false].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2374
    (self hasLanguageSelection and:[self selectedKeyRow notNil]) ifFalse:[^false].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2375
    ^true
2050
fm
parents: 2049
diff changeset
  2376
! !
fm
parents: 2049
diff changeset
  2377
fm
parents: 2049
diff changeset
  2378
!InternationalLanguageTranslationEditor methodsFor:'read/write resourceFile'!
fm
parents: 2049
diff changeset
  2379
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2380
encoderAt: lang
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2381
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2382
    self alwaysWriteUTF8Holder value ifTrue:[^CharacterEncoder encoderForUTF8].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2383
    ^keyStringsToLanguageMappings encoderAt: lang.
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2384
!
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2385
2050
fm
parents: 2049
diff changeset
  2386
printEditingWarningOn: aStream
fm
parents: 2049
diff changeset
  2387
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2388
    aStream nextPutAll: ';';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2389
            cr;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2390
            nextPutAll: '; WARNING:';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2391
            cr;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2392
            nextPutAll: '; this file contains national characters';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2393
            cr;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2394
            nextPutAll: '; DONT EDIT this file with an old vi !!';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2395
            cr;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2396
            nextPutAll: ';';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2397
            cr; 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2398
            cr.
2050
fm
parents: 2049
diff changeset
  2399
!
fm
parents: 2049
diff changeset
  2400
fm
parents: 2049
diff changeset
  2401
printEncoderFor: lang on: aStream
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2402
    |characterEncoder encoderString|
2050
fm
parents: 2049
diff changeset
  2403
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2404
    characterEncoder := self encoderAt: lang.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2405
    encoderString := characterEncoder isNil 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2406
        ifTrue:[self requestEncoderStringFor: lang]
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2407
        ifFalse:[characterEncoder nameOfEncoding printString].
2050
fm
parents: 2049
diff changeset
  2408
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2409
    aStream nextPutAll: '#encoding';
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2410
            space;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2411
            nextPutAll: encoderString;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2412
            cr;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2413
            cr.
2050
fm
parents: 2049
diff changeset
  2414
!
fm
parents: 2049
diff changeset
  2415
fm
parents: 2049
diff changeset
  2416
printLanguage: lang on: aStream
fm
parents: 2049
diff changeset
  2417
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2418
    self printEncoderFor: lang on: aStream.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2419
    self printEditingWarningOn: aStream.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2420
    self printLanguageMappingsFor: lang on: aStream.
2050
fm
parents: 2049
diff changeset
  2421
!
fm
parents: 2049
diff changeset
  2422
fm
parents: 2049
diff changeset
  2423
printLanguageMappingsFor: lang on: aStream
fm
parents: 2049
diff changeset
  2424
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2425
    |orderedAssociations maxKeySize characterEncoder|   
2050
fm
parents: 2049
diff changeset
  2426
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2427
    characterEncoder := self encoderAt: lang.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2428
    characterEncoder isNil ifTrue:[ characterEncoder := CharacterEncoder::NullEncoder ].
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2429
    orderedAssociations := keyStringsToLanguageMappings orderedLanguageMappingsAssociationsFor: lang. 
2050
fm
parents: 2049
diff changeset
  2430
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2431
    maxKeySize := keyStringsToLanguageMappings maxKeySizeForLanguage: lang.     
2050
fm
parents: 2049
diff changeset
  2432
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2433
    orderedAssociations do:[:association |
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2434
        aStream nextPutAll: (association key storeString paddedTo: maxKeySize) ; 
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2435
            nextPutAll: (String new: 10);
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2436
            nextPutAll: (characterEncoder encodeString: association value) storeString;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2437
            cr.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2438
        ].
2050
fm
parents: 2049
diff changeset
  2439
!
fm
parents: 2049
diff changeset
  2440
fm
parents: 2049
diff changeset
  2441
readResourceFile:aFilename asLanguage:lang
fm
parents: 2049
diff changeset
  2442
    |resourcePack inStream lineString encoding decoder sortedKeys remainingKeys|
fm
parents: 2049
diff changeset
  2443
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2444
    aFilename exists ifFalse:[
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2445
        Dialog information:(resources string:'Language file: "%1" does not exist' with:aFilename baseName).
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2446
        ^ self 
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2447
    ].
2050
fm
parents: 2049
diff changeset
  2448
fm
parents: 2049
diff changeset
  2449
    resourcePack := ResourcePack new.
fm
parents: 2049
diff changeset
  2450
fm
parents: 2049
diff changeset
  2451
    inStream := aFilename readStream.
fm
parents: 2049
diff changeset
  2452
    [inStream atEnd] whileFalse:[
fm
parents: 2049
diff changeset
  2453
        lineString := inStream nextLine.
fm
parents: 2049
diff changeset
  2454
        (lineString notEmpty 
fm
parents: 2049
diff changeset
  2455
        and:[ (lineString startsWith:';') not ]) ifTrue:[
fm
parents: 2049
diff changeset
  2456
            ((lineString startsWith:'#') and:[(lineString startsWith:'#(') not]) ifTrue:[
fm
parents: 2049
diff changeset
  2457
                lineString := (lineString copyFrom:2) withoutSeparators.
fm
parents: 2049
diff changeset
  2458
                (lineString startsWith:'encoding ') ifTrue:[
fm
parents: 2049
diff changeset
  2459
                    encoding := ResourcePack extractEncodingFromLine:lineString.
fm
parents: 2049
diff changeset
  2460
                    decoder := CharacterEncoder encoderFor:encoding ifAbsent:nil.
fm
parents: 2049
diff changeset
  2461
                ].
fm
parents: 2049
diff changeset
  2462
            ] ifFalse:[
fm
parents: 2049
diff changeset
  2463
                ResourcePack
fm
parents: 2049
diff changeset
  2464
                    processResourceLine:lineString 
fm
parents: 2049
diff changeset
  2465
                    encoding:decoder 
fm
parents: 2049
diff changeset
  2466
                    file:aFilename pathName 
fm
parents: 2049
diff changeset
  2467
                    printErrorWith:[:msg | Transcript showCR:msg ] 
fm
parents: 2049
diff changeset
  2468
                    for:resourcePack
fm
parents: 2049
diff changeset
  2469
                    keepUselessTranslations:true.
fm
parents: 2049
diff changeset
  2470
            ].
fm
parents: 2049
diff changeset
  2471
        ].
fm
parents: 2049
diff changeset
  2472
    ].
fm
parents: 2049
diff changeset
  2473
    inStream close.                                                  
fm
parents: 2049
diff changeset
  2474
fm
parents: 2049
diff changeset
  2475
    sortedKeys := (resourcePack keys select:[:k | k isString]) asSortedCollection.
fm
parents: 2049
diff changeset
  2476
    remainingKeys := resourcePack keys select:[:k | k isString not].
fm
parents: 2049
diff changeset
  2477
fm
parents: 2049
diff changeset
  2478
    keyStringsToLanguageMappings atLanguage: lang putFilename: aFilename.
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2479
    keyStringsToLanguageMappings atLanguage: lang putEncoder: decoder.
2050
fm
parents: 2049
diff changeset
  2480
fm
parents: 2049
diff changeset
  2481
    sortedKeys do:[:k |
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2482
        keyStringsToLanguageMappings at:k language:lang put:(resourcePack at:k) sendChange:false
2050
fm
parents: 2049
diff changeset
  2483
    ].
fm
parents: 2049
diff changeset
  2484
    remainingKeys do:[:k |
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2485
        keyStringsToLanguageMappings at:k language:lang put:(resourcePack at:k) sendChange:false
2050
fm
parents: 2049
diff changeset
  2486
    ].
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2487
    keyStringsToLanguageMappings changed.
2050
fm
parents: 2049
diff changeset
  2488
!
fm
parents: 2049
diff changeset
  2489
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2490
saveLanguage: lang
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2491
"Saves the language in the fileName from where the language resource was obtained."
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2492
    |aFilename|
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2493
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2494
    lang isNil ifTrue:[^ self].
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2495
    aFilename := keyStringsToLanguageMappings filenameAt:lang.
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2496
    aFilename isNil ifTrue:[
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2497
        aFilename := self requestFilenameFor: lang.
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2498
        aFilename isNil ifTrue:[^ self].
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2499
    ].
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2500
    self saveResourceFile:aFilename for:lang asSymbol
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2501
!
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2502
2050
fm
parents: 2049
diff changeset
  2503
saveResourceFile: aFilename for: lang
fm
parents: 2049
diff changeset
  2504
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2505
    |aStream |
2050
fm
parents: 2049
diff changeset
  2506
2163
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2507
    keyStringsToLanguageMappings atLanguage: lang putFilename: aFilename.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2508
    aStream := FileStream newFileNamed: aFilename.  
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2509
    self printLanguage: lang on: aStream.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2510
    aStream flush;
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2511
            close.
641467b2f522 Search String
fm
parents: 2053
diff changeset
  2512
    DialogBox information: 'The resource file for the language ', lang printString storeString, ' was saved in the file: ', aFilename nameString
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2513
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2514
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2515
!InternationalLanguageTranslationEditor methodsFor:'searching'!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2516
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2517
ignoreCaseHolderChanged
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2518
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2519
    self searchNextTextIncludingCurrentSelection: true.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2520
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2521
    "Created: / 16-06-2007 / 09:33:33 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2522
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2523
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2524
searchNextText
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2525
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2526
    self searchNextTextIncludingCurrentSelection: false.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2527
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2528
    "Modified: / 16-06-2007 / 09:21:14 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2529
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2530
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2531
searchNextTextFromBeginning
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2532
    |searchText rowFoundIndex|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2533
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2534
    searchText := searchTextView contents.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2535
    searchText isEmptyOrNil ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2536
    self objectsList isEmpty ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2537
    rowFoundIndex := self tableView findFirstRowWithString: searchText 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2538
                from:1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2539
                to:self objectsList size
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2540
                ignoreCase:self ignoreCaseHolder value.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2541
    rowFoundIndex isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2542
        self searchTextNotFound.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2543
        ^self
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2544
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2545
    self selectListIndex: rowFoundIndex
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2546
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2547
    "Created: / 16-06-2007 / 10:54:51 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2548
    "Modified: / 19-06-2007 / 15:38:59 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2549
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2550
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2551
searchNextTextIncludingCurrentSelection: includeCurrentSelection
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2552
    |searchText currentSelectionIndex rowFoundIndex fromIndex listSize|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2553
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2554
    self searchTextStarted.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2555
    searchText := searchTextView contents.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2556
    searchText isEmptyOrNil ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2557
    self objectsList isEmpty ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2558
    currentSelectionIndex := self currentSelectionIndex.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2559
    (currentSelectionIndex isNil or:[currentSelectionIndex == 0]) ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2560
        self searchNextTextFromBeginning.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2561
        ^self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2562
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2563
    listSize := self objectsList size.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2564
    (currentSelectionIndex == listSize and:[includeCurrentSelection not]) ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2565
        self searchNextTextReachEnd.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2566
        ^self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2567
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2568
    fromIndex := includeCurrentSelection
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2569
        ifTrue:[currentSelectionIndex]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2570
        ifFalse:[currentSelectionIndex + 1].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2571
    rowFoundIndex := self tableView findFirstRowWithString: searchText 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2572
                from:fromIndex
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2573
                to:listSize
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2574
                ignoreCase:self ignoreCaseHolder value.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2575
    rowFoundIndex isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2576
        self searchNextTextReachEnd.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2577
        ^self
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2578
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2579
    self selectListIndex: rowFoundIndex
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2580
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2581
    "Created: / 16-06-2007 / 09:20:57 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2582
    "Modified: / 19-06-2007 / 15:38:06 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2583
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2584
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2585
searchNextTextReachEnd
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2586
    |message|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2587
    message := 'End of list reached, starting from the beginning'.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2588
    self searchTextRestarted: message.
2330
58ace5744c59 *** empty log message ***
fm
parents: 2329
diff changeset
  2589
    Smalltalk beep.
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2590
    self searchNextTextFromBeginning.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2591
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2592
    "Created: / 16-06-2007 / 11:00:59 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2593
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2594
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2595
searchPreviousText
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2596
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2597
    |searchText currentSelectionIndex rowFoundIndex fromIndex|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2598
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2599
    self searchTextStarted.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2600
    searchText := searchTextView contents.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2601
    searchText isEmptyOrNil ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2602
    self objectsList isEmpty ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2603
    currentSelectionIndex := self currentSelectionIndex.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2604
    currentSelectionIndex == 1 ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2605
        self searchPreviousTextReachBeginning.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2606
        ^self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2607
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2608
    (currentSelectionIndex isNil or:[currentSelectionIndex == 0])
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2609
        ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2610
            self searchPreviousTextFromEnd.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2611
            ^self.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2612
        ]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2613
        ifFalse:[fromIndex := currentSelectionIndex - 1].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2614
    rowFoundIndex := self tableView findFirstRowWithString: searchText 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2615
                from: fromIndex
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2616
                to: 1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2617
                by: -1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2618
                ignoreCase:self ignoreCaseHolder value.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2619
    rowFoundIndex isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2620
        self searchPreviousTextReachBeginning.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2621
        ^self
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2622
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2623
    self selectListIndex: rowFoundIndex.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2624
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2625
    "Modified: / 19-06-2007 / 15:38:16 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2626
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2627
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2628
searchPreviousTextFromEnd
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2629
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2630
    |searchText rowFoundIndex|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2631
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2632
    searchText := searchTextView contents.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2633
    searchText isEmptyOrNil ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2634
    self objectsList isEmpty ifTrue:[^self].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2635
    rowFoundIndex := self tableView findFirstRowWithString: searchText 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2636
                from: self objectsList size
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2637
                to: 1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2638
                by: -1
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2639
                ignoreCase:self ignoreCaseHolder value.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2640
    rowFoundIndex isNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2641
        self searchTextNotFound.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2642
        ^self
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2643
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2644
    self selectListIndex: rowFoundIndex.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2645
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2646
    "Created: / 16-06-2007 / 10:55:43 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2647
    "Modified: / 19-06-2007 / 15:38:26 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2648
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2649
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2650
searchPreviousTextReachBeginning
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2651
    |message|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2652
    message := 'Beginning of list reached, starting from the end'.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2653
    self searchTextRestarted: message.
2330
58ace5744c59 *** empty log message ***
fm
parents: 2329
diff changeset
  2654
    Smalltalk beep.
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2655
    self searchPreviousTextFromEnd.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2656
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2657
    "Created: / 16-06-2007 / 11:01:23 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2658
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2659
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2660
searchTextModifiedHolderChanged
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2661
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2662
    self searchNextTextIncludingCurrentSelection: true.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2663
    self searchTextModifiedHolder setValue: false.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2664
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2665
"/Transcript showCR: 'searchTextModifiedHolderChanged: ',(self searchTextHolder value ? '').
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2666
"/Transcript showCR: 'searchTextView contents: ',(searchTextView contents ? '').
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2667
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2668
    "Created: / 15-06-2007 / 18:07:57 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2669
    "Modified: / 16-06-2007 / 09:21:27 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2670
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2671
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2672
searchTextNotFound
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2673
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2674
    self selectListIndex: 0.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2675
    self searchBarImageInfoLabelHolder value: self warningSearchBarIcon.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2676
    self searchBarInfoLabelHolder value: 'Text not found'.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2677
    self setSearchTextNotFoundColors.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2678
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2679
    "Created: / 16-06-2007 / 06:51:01 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2680
    "Modified: / 16-06-2007 / 11:43:53 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2681
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2682
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2683
searchTextRestarted: message
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2684
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2685
    self searchBarImageInfoLabelHolder value: self restartSearchBarIcon.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2686
    self searchBarInfoLabelHolder value: message.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2687
"/    self setSearchTextNotFoundColors.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2688
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2689
    "Created: / 16-06-2007 / 11:02:06 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2690
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2691
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2692
searchTextStarted
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2693
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2694
    self searchBarImageInfoLabelHolder value: nil.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2695
    self searchBarInfoLabelHolder value: ''.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2696
    self setSearchTextFoundColors.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2697
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2698
    "Created: / 16-06-2007 / 06:54:03 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2699
    "Modified: / 16-06-2007 / 10:07:06 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2700
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2701
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2702
setSearchTextFoundColors
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2703
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2704
    searchTextView foregroundColor: Color black.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2705
    searchTextView backgroundColor: Color white.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2706
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2707
    "Created: / 16-06-2007 / 06:28:32 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2708
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2709
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2710
setSearchTextNotFoundColors
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2711
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2712
    searchTextView foregroundColor: Color white.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2713
    searchTextView backgroundColor: Color lightRed.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2714
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2715
    "Created: / 16-06-2007 / 06:29:00 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2716
! !
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2717
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2718
!InternationalLanguageTranslationEditor methodsFor:'specs-dynamic'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2719
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2720
columnInRow:row at:colIndex
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2721
    |lang|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2722
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2723
    lang := self languageAtCol:colIndex.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2724
    ^ row atLanguage:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2725
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2726
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2727
getBackgroundForRow:row rowNr:rowNr col:colIndex
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2728
    |lang|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2729
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2730
    colIndex == 1 ifTrue:[^ nil].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2731
    lang := self languageAtCol:colIndex.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2732
    ^ (row atLanguage:lang) isNil ifTrue:[Color red lightened] ifFalse:nil
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2733
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2734
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2735
keyStringAndLanguageSelectionTableColumnDescription
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2736
    |spec|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2737
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2738
    spec := OrderedCollection new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2739
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  2740
    spec add:(self class keyTableColumn first).
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2741
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2742
    self shownLanguages do:[:lang |
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2743
        |entry|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2744
2047
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  2745
        entry := self class languageTableColumn first.
5f9b26862c57 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2035
diff changeset
  2746
        entry := entry copy replaceAll:#lang with:lang.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2747
        spec add: entry 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2748
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2749
    ^ spec
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2750
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2751
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2752
keyStringInRow:row
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2753
    ^ row keyString
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2754
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2755
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2756
!InternationalLanguageTranslationEditor methodsFor:'update'!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2757
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2758
updateToolVisibility
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2759
    | bottomOffset searchBarVisible |
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2760
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2761
    bottomOffset := 0.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2762
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2763
    searchBarVisible := self searchBoxVisible value.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2764
    searchBarVisible ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2765
        bottomOffset := bottomOffset - searchBoxView height.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2766
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2767
    translationsPanel layout bottomOffset:bottomOffset-1.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2768
    translationsPanel container notNil ifTrue:[
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2769
        translationsPanel containerChangedSize.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2770
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2771
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2772
    "Created: / 16-06-2007 / 11:58:25 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2773
! !
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2774
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2775
!InternationalLanguageTranslationEditor methodsFor:'user actions'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2776
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2777
closeSearchBar
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2778
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2779
    self searchBoxVisible value: false.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2780
    self updateToolVisibility.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2781
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2782
    "Created: / 15-06-2007 / 18:03:05 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2783
    "Modified: / 16-06-2007 / 11:58:52 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2784
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2785
2050
fm
parents: 2049
diff changeset
  2786
exampleLanguageSelectionChanged
fm
parents: 2049
diff changeset
  2787
fm
parents: 2049
diff changeset
  2788
   self updateExampleLanguageText.
fm
parents: 2049
diff changeset
  2789
!
fm
parents: 2049
diff changeset
  2790
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2791
languageTextAccepted                                   
2416
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2792
    |nextRowIndex selRow|
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2793
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2794
    selRow := self selectedKeyRow value.
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2795
    selRow notNil ifTrue:[
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2796
        keyStringsToLanguageMappings size = selRow
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2797
            ifTrue:[ self updateLanguageTextModification.]
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2798
            ifFalse:[ 
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2799
                nextRowIndex := selRow + 1.
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2800
                self selectedKeyRow value: nextRowIndex]
98dbabd36558 changed #languageTextAccepted
Claus Gittinger <cg@exept.de>
parents: 2413
diff changeset
  2801
    ].
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2802
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2803
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2804
pasteOriginalInLanguageText
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2805
    <resource: #uiCallback>
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2806
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2807
    | originalText|
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2808
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2809
    originalText := self selectedKey.
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2810
    languageEditor selectAll.
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2811
    languageEditor pasteOrReplace:originalText.
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2812
    self languageTextModifiedHolder value:true.
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2813
!
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2814
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2815
pastePreviousTranslationInLanguageText
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2816
    "Obtain the text from the previous translation and paste it into the languageTextEditor"
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2817
    
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2818
    | previousLanguageText previousLanguageRow|
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2819
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2820
    previousLanguageRow := dataSetView at:self selectedKeyRow value - 1
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2821
                ifAbsent:[^self].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2822
    previousLanguageText := previousLanguageRow atLanguage: self currentLanguage.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2823
    languageEditor selectAll.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2824
    languageEditor pasteOrReplace:previousLanguageText.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2825
    self languageTextModifiedHolder value:true.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2826
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2827
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2828
search
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2829
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2830
    self searchBoxVisible value: true.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2831
    self updateToolVisibility.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2832
    searchTextView takeFocus.
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2833
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2834
    "Modified: / 16-06-2007 / 11:58:44 / Administrador"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2835
!
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  2836
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2837
selectionChanged                
2048
dcec4e818069 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2047
diff changeset
  2838
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2839
   self updateOriginalTextModification.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2840
   self updateLanguageTextModification.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2841
   self updateLanguageAndKeySelection.
2050
fm
parents: 2049
diff changeset
  2842
   self updateExampleLanguageText.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2843
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2844
   self updateCopyPreviousTranslationButtonEnabled.
2323
9b257cbd0ea9 *** empty log message ***
fm
parents: 2163
diff changeset
  2845
   self updatePasteOriginalButtonEnabled.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2846
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2847
   self originalTextModifiedHolder value:false.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2848
   self languageTextModifiedHolder value:false.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2849
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2850
   self searchForSimilarTranslation.
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2851
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2852
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2853
showMissingTranslationsOnlyChanged
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2854
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2855
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2856
shownLanguagesChanged
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2857
    self keyStringAndLanguageSelectionTableColumnDescriptionHolder 
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2858
        value:(self keyStringAndLanguageSelectionTableColumnDescription).
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2859
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2860
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2861
stopApplication
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2862
    |p|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2863
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2864
    (p := monitoredApplication) notNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2865
        p terminate.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2866
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2867
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2868
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2869
!InternationalLanguageTranslationEditor::AccessCollectingPseudoResourcePack methodsFor:'accessing'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2870
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2871
realResourcePack:something
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2872
    realResourcePack := something.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2873
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2874
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2875
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings class methodsFor:'instance creation'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2876
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2877
new
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2878
    ^ self basicNew initialize
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2879
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2880
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2881
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings methodsFor:'accessing'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2882
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2883
addKey:aKey
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2884
    self addKey:aKey sendChange:true
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2885
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2886
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2887
addKey:aKey sendChange:aBoolean
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2888
    (keys includes:aKey) ifFalse:[
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2889
        keys add:aKey.
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2890
        aBoolean ifTrue:[ self changed ].
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2891
    ]
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2892
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2893
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2894
addKeys:aCollectionOfKey
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2895
    keys addAll:aCollectionOfKey.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2896
    self changed.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2897
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2898
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2899
addLanguage:lang
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2900
    (languages includes:lang) ifFalse:[
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2901
        languages add:lang.
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2902
        perLanguageMappings at:lang put:(OrderedDictionary new).
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  2903
    ]
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2904
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2905
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2906
at:aKey language:language
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2907
    ^ (perLanguageMappings at:language) at:aKey ifAbsent:nil
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2908
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2909
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2910
at:aKey language:language put:value
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2911
    self addKey:aKey.
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2912
    (perLanguageMappings at:language) at:aKey put:value.
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  2913
    (self rowForKey:aKey) changed
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2914
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2915
2410
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2916
at:aKey language:language put:value sendChange:sendChange
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2917
    self addKey:aKey sendChange:sendChange.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2918
    (perLanguageMappings at:language) at:aKey put:value.
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2919
    (self rowForKey:aKey) changed
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2920
!
a3b53393dcf3 added open by project
Claus Gittinger <cg@exept.de>
parents: 2330
diff changeset
  2921
2050
fm
parents: 2049
diff changeset
  2922
atLanguage: lang putEncoder: aDecoder
fm
parents: 2049
diff changeset
  2923
fm
parents: 2049
diff changeset
  2924
^(self languageInfoAt: lang) at: self encoderKey put: aDecoder
fm
parents: 2049
diff changeset
  2925
!
fm
parents: 2049
diff changeset
  2926
fm
parents: 2049
diff changeset
  2927
atLanguage: lang putFilename: aFilename
fm
parents: 2049
diff changeset
  2928
fm
parents: 2049
diff changeset
  2929
^(self languageInfoAt: lang) at: self fileNameKey put: aFilename
fm
parents: 2049
diff changeset
  2930
!
fm
parents: 2049
diff changeset
  2931
fm
parents: 2049
diff changeset
  2932
decoderKey
fm
parents: 2049
diff changeset
  2933
   ^#decoder
fm
parents: 2049
diff changeset
  2934
!
fm
parents: 2049
diff changeset
  2935
fm
parents: 2049
diff changeset
  2936
encoderAt:lang 
fm
parents: 2049
diff changeset
  2937
    ^ (self languageInfoAt:lang) at: self encoderKey ifAbsent:[nil]
fm
parents: 2049
diff changeset
  2938
!
fm
parents: 2049
diff changeset
  2939
fm
parents: 2049
diff changeset
  2940
encoderKey
fm
parents: 2049
diff changeset
  2941
   ^#encoder
fm
parents: 2049
diff changeset
  2942
!
fm
parents: 2049
diff changeset
  2943
fm
parents: 2049
diff changeset
  2944
fileNameKey
fm
parents: 2049
diff changeset
  2945
    ^ #filename
fm
parents: 2049
diff changeset
  2946
!
fm
parents: 2049
diff changeset
  2947
fm
parents: 2049
diff changeset
  2948
filenameAt:lang 
fm
parents: 2049
diff changeset
  2949
    ^ (self languageInfoAt:lang) at: self fileNameKey ifAbsent:[nil]
fm
parents: 2049
diff changeset
  2950
!
fm
parents: 2049
diff changeset
  2951
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2952
keyAt:index
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2953
    ^ keys at:index ifAbsent:[nil].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2954
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2955
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2956
keyAt:index ifAbsent:exceptionalValue
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2957
    ^ keys at:index ifAbsent:exceptionalValue.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2958
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2959
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2960
keys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2961
    ^ keys
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2962
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2963
2050
fm
parents: 2049
diff changeset
  2964
languageInfoAt: lang 
fm
parents: 2049
diff changeset
  2965
fm
parents: 2049
diff changeset
  2966
^self perLanguageInfo at: lang ifAbsentPut:[Dictionary new]
fm
parents: 2049
diff changeset
  2967
!
fm
parents: 2049
diff changeset
  2968
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2969
languages
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2970
    ^ languages
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2971
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2972
2053
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2973
languagesInUse
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2974
"Returns a collection of symbols for the languages that have mappings"
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2975
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2976
^self languages select:[:each | (self atLanguage: each) notEmpty]
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2977
!
8440fcd83b7b 2.1 felix
fm
parents: 2051
diff changeset
  2978
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2979
orderedLanguageMappingsAssociationsFor: language
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2980
"Returns a collection of languageMappings associations (alphabetically ordered by keys) "
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2981
^(self atLanguage: language) associations asSortedCollection:[:a :b | a key < b key].
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2982
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  2983
2050
fm
parents: 2049
diff changeset
  2984
perLanguageInfo
fm
parents: 2049
diff changeset
  2985
    ^ perLanguageInfo
fm
parents: 2049
diff changeset
  2986
!
fm
parents: 2049
diff changeset
  2987
fm
parents: 2049
diff changeset
  2988
perLanguageInfo:something
fm
parents: 2049
diff changeset
  2989
    perLanguageInfo := something.
fm
parents: 2049
diff changeset
  2990
!
fm
parents: 2049
diff changeset
  2991
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2992
removeKey:aKey
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2993
    keys remove:aKey ifAbsent:[].
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  2994
    perLanguageMappings do:[:eachMapping |
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2995
        eachMapping removeKey:aKey ifAbsent:[].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2996
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2997
    self changed.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2998
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  2999
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3000
rowForKey:aKey
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3001
    ^ rowPerKey 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3002
            at:aKey
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3003
            ifAbsentPut:[InternationalLanguageTranslationEditor::LanguageMappingRow new 
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3004
                            key:aKey; mappings:self].
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3005
!
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3006
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3007
size
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3008
    ^ keys size
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3009
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3010
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3011
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings methodsFor:'enumerating'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3012
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3013
do:aBlock
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3014
    keys do:[:eachKey |
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3015
        aBlock value:(self rowForKey:eachKey).
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3016
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3017
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3018
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3019
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings methodsFor:'initialization'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3020
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3021
initialize
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3022
    super initialize.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3023
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3024
    keys := OrderedSet new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3025
    languages := OrderedCollection new.
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3026
    perLanguageMappings := Dictionary new.
2050
fm
parents: 2049
diff changeset
  3027
    perLanguageInfo := Dictionary new.         
2049
d10762e5d924 *** empty log message ***
fm
parents: 2048
diff changeset
  3028
    rowPerKey := Dictionary new.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3029
2031
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3030
    self addLanguage:#'de'.
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3031
    self addLanguage:#'fr'.
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3032
    self addLanguage:#'es'.
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3033
    self addLanguage:(Smalltalk language).
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3034
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3035
    "/ self initializeDemoMappings.
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3036
!
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3037
85947c4c6502 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2015
diff changeset
  3038
initializeDemoMappings
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3039
    keys add:'open'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3040
    keys add:'close'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3041
    keys add:'yes'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3042
    keys add:'no'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3043
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3044
    self addLanguage:#'de'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3045
    self addLanguage:#'fr'.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3046
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3047
    self at:'open' language:#'de' put:'öffnen'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3048
    self at:'close' language:#'de' put:'schliessen'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3049
    self at:'yes' language:#'de' put:'ja'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3050
    self at:'no' language:#'de' put:'nein'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3051
    self at:'cancel' language:#'de' put:'abbrechen'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3052
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3053
    self at:'open' language:#'fr' put:'ouvrir'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3054
    self at:'close' language:#'fr' put:'fermer'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3055
    self at:'yes' language:#'fr' put:'oui'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3056
    self at:'no' language:#'fr' put:'non'.    
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3057
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3058
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3059
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings methodsFor:'private'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3060
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3061
atLanguage:lang
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3062
    ^ perLanguageMappings at:lang
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3063
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3064
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3065
atLanguageIndex:idx
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3066
    |lang|
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3067
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3068
    lang := languages at:idx.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3069
    ^ self atLanguage:lang.
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3070
!
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3071
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3072
mappingAtLanguage:lang
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3073
    ^ perLanguageMappings at:lang
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3074
!
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3075
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3076
mappingAtLanguageIndex:idx
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3077
    |lang|
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3078
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3079
    lang := languages at:idx.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3080
    ^ self mappingAtLanguage:lang.
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3081
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3082
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3083
!InternationalLanguageTranslationEditor::KeyStringsToLanguageMappings methodsFor:'queries'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3084
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3085
includesKey:aKey
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3086
    ^ keys includes:aKey
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3087
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3088
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3089
includesLanguage:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3090
    ^ languages includes:lang
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3091
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3092
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3093
indexOfKey:aKey
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3094
    ^ keys indexOf:aKey
2050
fm
parents: 2049
diff changeset
  3095
!
fm
parents: 2049
diff changeset
  3096
fm
parents: 2049
diff changeset
  3097
maxKeySizeForLanguage: lang
fm
parents: 2049
diff changeset
  3098
fm
parents: 2049
diff changeset
  3099
^(self atLanguage: lang) keys inject: 0 into:[:maxSize :each |
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  3100
    (maxSize < each size and:[each size < 100])
2050
fm
parents: 2049
diff changeset
  3101
        ifTrue:[each size]
fm
parents: 2049
diff changeset
  3102
        ifFalse:[maxSize].].
2051
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  3103
!
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  3104
88d16a7d0bd9 felix' fixes and additions
fm
parents: 2050
diff changeset
  3105
searchForSimilarTranslation: aKey in: language
2327
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3106
    "Returns a collection of translation associations that corresponds to a quite similar key comparing with aKey"
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3107
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3108
    |similarAssociations|
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3109
    
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3110
    similarAssociations:= 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3111
    (self mappingAtLanguage: language) associationsSelect:[:each |
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3112
        ((each key sameAs: aKey) 
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3113
            or:[(aKey asUppercase startsWith: each key asUppercase)
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3114
                or:[((each key asUppercase levenshteinTo: aKey asUppercase)/ each key size) < 0.3
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3115
                ]])
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3116
         and:[each value notNil
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3117
                and:[each value notEmpty]]
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3118
    ].
a1db8e464b02 *** empty log message ***
fm
parents: 2323
diff changeset
  3119
    ^similarAssociations
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3120
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3121
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3122
!InternationalLanguageTranslationEditor::LanguageMappingRow methodsFor:'accessing'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3123
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3124
atLanguage:language
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3125
    |translation|
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3126
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3127
    translation := (mappings mappingAtLanguage:language) at:key ifAbsent:nil.
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3128
    ^ translation isNil ifTrue:nil ifFalse:[translation printString]
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3129
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3130
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3131
columnAt:columnNr
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3132
    ^ (mappings mappingAtLanguageIndex:columnNr-1) at: key ifAbsent:nil
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3133
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3134
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3135
key:something
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3136
    key := something.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3137
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3138
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3139
keyString
2032
cc2edbb9ebfc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2031
diff changeset
  3140
    ^ key printString
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3141
!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3142
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3143
mappings:something
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3144
    mappings := something.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3145
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3146
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3147
!InternationalLanguageTranslationEditor::UISpecVisitor methodsFor:'accessing'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3148
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3149
translatedLabels
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3150
    ^ translatedLabels ? #()
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3151
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3152
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3153
!InternationalLanguageTranslationEditor::UISpecVisitor methodsFor:'visiting'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3154
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3155
visitObject:anObject with:aParameter
2033
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3156
    |l|
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3157
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3158
    (anObject isKindOf:UISpecification) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3159
        (anObject respondsTo:#translateLabel) ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3160
            anObject translateLabel == true ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3161
                translatedLabels isNil ifTrue:[
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3162
                    translatedLabels := Set new.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3163
                ].
2033
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3164
                l := anObject perform:#label ifNotUnderstood:nil.
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3165
                l notNil ifTrue:[
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3166
                    translatedLabels add:l.
2c1264ae2c1c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2032
diff changeset
  3167
                ].
2015
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3168
            ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3169
        ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3170
    ].
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3171
    self visitChildrenOf:anObject.
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3172
! !
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3173
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3174
!InternationalLanguageTranslationEditor class methodsFor:'documentation'!
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3175
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3176
version
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3177
    ^ '$Header$'
8f226ff9b5e6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  3178
! !