10 languageShownHolders dataSetView lastExtractedClass |
10 languageShownHolders dataSetView lastExtractedClass |
11 lastExtractedApplicationClass stopApplicationIconVisibleHolder |
11 lastExtractedApplicationClass stopApplicationIconVisibleHolder |
12 monitoredApplication originalTextModifiedHolder |
12 monitoredApplication originalTextModifiedHolder |
13 languageTextModifiedHolder languageTextAcceptHolder |
13 languageTextModifiedHolder languageTextAcceptHolder |
14 inSingleFileMode lastExtractedProject lastLanguage |
14 inSingleFileMode lastExtractedProject lastLanguage |
15 lastSelectedKey' |
15 lastSelectedKey autoAccept languageEditor selectedColIndexHolder' |
16 classVariableNames:'LastExtractedClass LastExtractedApplicationClass |
16 classVariableNames:'LastExtractedClass LastExtractedApplicationClass |
17 LastExtractedProject' |
17 LastExtractedProject' |
18 poolDictionaries:'' |
18 poolDictionaries:'' |
19 category:'Interface-UIPainter' |
19 category:'Interface-UIPainter' |
20 ! |
20 ! |
135 model: selectedKeyRow |
135 model: selectedKeyRow |
136 hasHorizontalScrollBar: true |
136 hasHorizontalScrollBar: true |
137 hasVerticalScrollBar: true |
137 hasVerticalScrollBar: true |
138 dataList: keyStringAndLanguageSelectionTable |
138 dataList: keyStringAndLanguageSelectionTable |
139 columnHolder: keyStringAndLanguageSelectionTableColumnDescriptionHolder |
139 columnHolder: keyStringAndLanguageSelectionTableColumnDescriptionHolder |
|
140 beDependentOfRows: true |
140 columnAdaptor: yourself |
141 columnAdaptor: yourself |
141 postBuildCallback: postBuildDataSet: |
142 postBuildCallback: postBuildDataSet: |
142 ) |
143 ) |
143 (ViewSpec |
144 (ViewSpec |
144 name: 'Box1' |
145 name: 'Box1' |
466 |
468 |
467 "Do not manually edit this!! If it is corrupted, |
469 "Do not manually edit this!! If it is corrupted, |
468 the DataSetBuilder may not be able to read the specification." |
470 the DataSetBuilder may not be able to read the specification." |
469 |
471 |
470 " |
472 " |
471 DataSetBuilder new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#keyTableColumn |
473 DataSetBuilder new openOnClass:Tools::InternationalLanguageTranslationEditor andSelector:#languageTableColumn |
472 " |
474 " |
473 |
475 |
474 <resource: #tableColumns> |
476 <resource: #tableColumns> |
475 |
477 |
476 ^#( |
478 ^#( |
477 #(DataSetColumnSpec |
479 (DataSetColumnSpec |
478 label: #lang |
480 label: lang |
479 labelAlignment: center |
481 labelButtonType: Button |
480 labelButtonType: Button |
482 minWidth: 50 |
481 minWidth: 50 |
483 editorType: None |
482 model: #columnInRow:at: |
484 model: columnInRow:at: |
483 canSelect: true |
485 backgroundSelector: getBackgroundForRow:rowNr:col: |
484 isResizeable: true |
486 ) |
485 showRowSeparator: true |
|
486 showColSeparator: true |
|
487 backgroundSelector: #getBackgroundForRow:rowNr:col: |
|
488 ) |
|
489 |
|
490 ) |
487 ) |
|
488 ! ! |
|
489 |
|
490 !InternationalLanguageTranslationEditor methodsFor:'accessing'! |
|
491 |
|
492 autoAccept |
|
493 autoAccept isNil ifTrue:[autoAccept := true]. |
|
494 ^ autoAccept |
|
495 ! |
|
496 |
|
497 autoAccept:something |
|
498 autoAccept := something. |
|
499 ! |
|
500 |
|
501 newLanguageText |
|
502 "/ languageEditor accept |
|
503 ^self languageTextHolder value isNil |
|
504 ifTrue:[''] |
|
505 ifFalse:[self languageTextHolder value asCollectionOfLines first.] |
491 ! ! |
506 ! ! |
492 |
507 |
493 !InternationalLanguageTranslationEditor methodsFor:'aspects'! |
508 !InternationalLanguageTranslationEditor methodsFor:'aspects'! |
494 |
509 |
495 keyStringAndLanguageSelectionTable |
510 keyStringAndLanguageSelectionTable |
536 ! |
551 ! |
537 |
552 |
538 languageTextAcceptHolder |
553 languageTextAcceptHolder |
539 languageTextAcceptHolder isNil ifTrue:[ |
554 languageTextAcceptHolder isNil ifTrue:[ |
540 languageTextAcceptHolder := false asValue. |
555 languageTextAcceptHolder := false asValue. |
|
556 languageTextAcceptHolder onChangeSend:#languageTextAccepted to:self. |
541 ]. |
557 ]. |
542 ^ languageTextAcceptHolder. |
558 ^ languageTextAcceptHolder. |
|
559 ! |
|
560 |
|
561 languageTextAccepted |
|
562 " |
|
563 self updateLanguageTextModification. " |
|
564 self selectedKeyRow value: self selectedKeyRow value + 1. |
543 ! |
565 ! |
544 |
566 |
545 languageTextHolder |
567 languageTextHolder |
546 languageTextHolder isNil ifTrue:[ |
568 languageTextHolder isNil ifTrue:[ |
547 languageTextHolder := '' asValue. |
569 languageTextHolder := '' asValue. |
594 |
616 |
595 shownLanguages |
617 shownLanguages |
596 shownLanguages isNil ifTrue:[ |
618 shownLanguages isNil ifTrue:[ |
597 shownLanguages := List new. |
619 shownLanguages := List new. |
598 shownLanguages addAll:(self languagesList). |
620 shownLanguages addAll:(self languagesList). |
599 "/ shownLanguages addDependent:self. |
|
600 shownLanguages onChangeSend:#shownLanguagesChanged to:self. |
621 shownLanguages onChangeSend:#shownLanguagesChanged to:self. |
601 ]. |
622 ]. |
602 ^ shownLanguages. |
623 ^ shownLanguages. |
603 ! |
624 ! |
604 |
625 |
605 stopApplicationIconVisibleHolder |
626 stopApplicationIconVisibleHolder |
606 stopApplicationIconVisibleHolder isNil ifTrue:[ |
627 stopApplicationIconVisibleHolder isNil ifTrue:[ |
607 stopApplicationIconVisibleHolder := false asValue. |
628 stopApplicationIconVisibleHolder := false asValue. |
608 ]. |
629 ]. |
609 ^ stopApplicationIconVisibleHolder. |
630 ^ stopApplicationIconVisibleHolder. |
|
631 ! |
|
632 |
|
633 updateLanguageAndKeySelection |
|
634 |
|
635 |rowSelectionIndex colSelectionIndex language selectedKey originalText languageText| |
|
636 |
|
637 colSelectionIndex := dataSetView selectedColIndex. |
|
638 language := colSelectionIndex > 1 ifTrue:[ shownLanguages at:colSelectionIndex-1 ] ifFalse:nil. |
|
639 |
|
640 rowSelectionIndex := self selectedKeyRow value. |
|
641 rowSelectionIndex ~~ 0 ifTrue:[ |
|
642 selectedKey := keyStringsToLanguageMappings keyAt:rowSelectionIndex. |
|
643 originalText := selectedKey storeString. |
|
644 language notNil ifTrue:[ |
|
645 languageText := keyStringsToLanguageMappings at:selectedKey language:language. |
|
646 languageText notNil ifTrue:[ |
|
647 languageText := languageText storeString. |
|
648 ] |
|
649 ] |
|
650 ]. |
|
651 self originalTextHolder value:originalText. |
|
652 self languageTextHolder value:languageText. |
|
653 lastLanguage := language. |
|
654 lastSelectedKey := selectedKey. |
610 ! ! |
655 ! ! |
611 |
656 |
612 !InternationalLanguageTranslationEditor methodsFor:'change & update'! |
657 !InternationalLanguageTranslationEditor methodsFor:'change & update'! |
613 |
658 |
614 update:something with:aParameter from:changedObject |
659 update:something with:aParameter from:changedObject |
615 changedObject == shownLanguages ifTrue:[ |
660 changedObject == shownLanguages ifTrue:[ |
616 self shownLanguagesChanged. |
661 self shownLanguagesChanged. |
617 ^ self. |
662 ^ self. |
|
663 ]. |
|
664 changedObject == languageTextAcceptHolder ifTrue:[ |
|
665 self updateLanguageTextModification. |
|
666 ^ self. |
|
667 ]. |
|
668 ! |
|
669 |
|
670 updateKeyStringsToLanguageMappings |
|
671 |
|
672 keyStringsToLanguageMappings |
|
673 at:lastSelectedKey |
|
674 language:lastLanguage |
|
675 put: self newLanguageText. |
|
676 ! |
|
677 |
|
678 updateLanguageTextModification |
|
679 self languageTextModifiedHolder value ifTrue:[ |
|
680 (self autoAccept or:[Dialog confirm:'Accept changed translation ?']) ifTrue:[ |
|
681 self languageTextModifiedHolder value:false. |
|
682 self languageTextHolder value:languageEditor contents. |
|
683 lastLanguage notNil ifTrue:[self updateKeyStringsToLanguageMappings.] |
|
684 ] |
|
685 ]. |
|
686 ! |
|
687 |
|
688 updateOriginalTextModification |
|
689 |
|
690 |answer| |
|
691 |
|
692 self originalTextModifiedHolder value ifTrue:[ |
|
693 answer := OptionBox |
|
694 request:'Accept changed original text (key) ?' |
|
695 label:'Original text (key) changed' |
|
696 image:(WarningBox iconBitmap) |
|
697 buttonLabels:#('Cancel' 'Accept' 'Accept As New') |
|
698 values:#(nil #accept #acceptAsNew) |
|
699 default:#acceptAsNew. |
|
700 |
|
701 answer isNil ifTrue:[^ self originalTextModifiedHolder value:false. ]. |
|
702 answer == #accept ifTrue:[ |
|
703 self halt. ]. |
|
704 answer == #acceptAsNew ifTrue:[ |
|
705 self halt. ]. |
618 ]. |
706 ]. |
619 ! ! |
707 ! ! |
620 |
708 |
621 !InternationalLanguageTranslationEditor methodsFor:'initialization & release'! |
709 !InternationalLanguageTranslationEditor methodsFor:'initialization & release'! |
622 |
710 |
1260 ^ row keyString |
1353 ^ row keyString |
1261 ! ! |
1354 ! ! |
1262 |
1355 |
1263 !InternationalLanguageTranslationEditor methodsFor:'user actions'! |
1356 !InternationalLanguageTranslationEditor methodsFor:'user actions'! |
1264 |
1357 |
1265 selectionChanged |
1358 selectionChanged |
1266 |rowSelectionIndex colSelectionIndex language selectedKey originalText languageText |
1359 |
1267 answer newText autoAccept| |
1360 self updateOriginalTextModification. |
1268 |
1361 self updateLanguageTextModification. |
1269 autoAccept := true. |
1362 self updateLanguageAndKeySelection. |
1270 |
1363 |
1271 self originalTextModifiedHolder value ifTrue:[ |
1364 self originalTextModifiedHolder value:false. |
1272 answer := OptionBox |
1365 self languageTextModifiedHolder value:false. |
1273 request:'Accept changed original text (key) ?' |
|
1274 label:'Original text (key) changed' |
|
1275 image:(WarningBox iconBitmap) |
|
1276 buttonLabels:#('Cancel' 'Accept' 'Accept As New') |
|
1277 values:#(nil #accept #acceptAsNew) |
|
1278 default:#acceptAsNew. |
|
1279 |
|
1280 answer isNil ifTrue:[^ self ]. |
|
1281 answer == #accept ifTrue:[ |
|
1282 self halt. ]. |
|
1283 answer == #acceptAsNew ifTrue:[ |
|
1284 self halt. ]. |
|
1285 ]. |
|
1286 self languageTextModifiedHolder value ifTrue:[ |
|
1287 (autoAccept or:[Dialog confirm:'Accept changed translation ?']) ifTrue:[ |
|
1288 languageTextAcceptHolder value:true. |
|
1289 self halt. |
|
1290 lastLanguage notNil ifTrue:[ |
|
1291 newText := self languageTextHolder value asCollectionOfLines first. |
|
1292 keyStringsToLanguageMappings at:lastSelectedKey language:lastLanguage put:newText. |
|
1293 ] |
|
1294 ] |
|
1295 ]. |
|
1296 |
|
1297 colSelectionIndex := dataSetView selectedColIndex. |
|
1298 language := colSelectionIndex > 1 ifTrue:[ shownLanguages at:colSelectionIndex-1 ] ifFalse:nil. |
|
1299 |
|
1300 rowSelectionIndex := self selectedKeyRow value. |
|
1301 rowSelectionIndex ~~ 0 ifTrue:[ |
|
1302 selectedKey := keyStringsToLanguageMappings keyAt:rowSelectionIndex. |
|
1303 originalText := selectedKey storeString. |
|
1304 language notNil ifTrue:[ |
|
1305 languageText := keyStringsToLanguageMappings at:selectedKey language:language. |
|
1306 languageText notNil ifTrue:[ |
|
1307 languageText := languageText storeString. |
|
1308 ] |
|
1309 ] |
|
1310 ]. |
|
1311 |
|
1312 self originalTextHolder value:originalText. |
|
1313 self languageTextHolder value:languageText. |
|
1314 |
|
1315 self originalTextModifiedHolder value:false. |
|
1316 self languageTextModifiedHolder value:false. |
|
1317 |
|
1318 lastLanguage := language. |
|
1319 lastSelectedKey := selectedKey. |
|
1320 ! |
1366 ! |
1321 |
1367 |
1322 shownLanguagesChanged |
1368 shownLanguagesChanged |
1323 self keyStringAndLanguageSelectionTableColumnDescriptionHolder |
1369 self keyStringAndLanguageSelectionTableColumnDescriptionHolder |
1324 value:(self keyStringAndLanguageSelectionTableColumnDescription). |
1370 value:(self keyStringAndLanguageSelectionTableColumnDescription). |
1418 |
1471 |
1419 keys := OrderedSet new. |
1472 keys := OrderedSet new. |
1420 languages := OrderedCollection new. |
1473 languages := OrderedCollection new. |
1421 perLanguageMappings := Dictionary new. |
1474 perLanguageMappings := Dictionary new. |
1422 perLanguageInfo := Dictionary new. |
1475 perLanguageInfo := Dictionary new. |
|
1476 rowPerKey := Dictionary new. |
1423 |
1477 |
1424 self addLanguage:#'de'. |
1478 self addLanguage:#'de'. |
1425 self addLanguage:#'fr'. |
1479 self addLanguage:#'fr'. |
1426 self addLanguage:#'es'. |
1480 self addLanguage:#'es'. |
1427 self addLanguage:(Smalltalk language). |
1481 self addLanguage:(Smalltalk language). |