// Language.cpp : implementation file // #include "stdafx.h" #include "ocrutil.h" #include "Language.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CLanguage dialog CLanguage::CLanguage(CWnd* pParent /*=NULL*/) : CDialog(CLanguage::IDD, pParent) { //{{AFX_DATA_INIT(CLanguage) //}}AFX_DATA_INIT m_pLangIds = NULL; m_nLangCount = 0; } CLanguage::~CLanguage() { if (m_pLangIds) GlobalFreePtr(m_pLangIds); } void CLanguage::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CLanguage) DDX_Control(pDX, IDOK, m_btnOK); DDX_Control(pDX, IDC_LIST_LANGS, m_lstLangs); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CLanguage, CDialog) //{{AFX_MSG_MAP(CLanguage) ON_LBN_SELCHANGE(IDC_LIST_LANGS, OnSelchangeListLangs) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CLanguage message handlers BOOL CLanguage::OnInitDialog() { CDialog::OnInitDialog(); m_lstLangs.AddString(TEXT("English")); m_lstLangs.AddString(TEXT("German")); m_lstLangs.AddString(TEXT("French")); m_lstLangs.AddString(TEXT("Dutch")); m_lstLangs.AddString(TEXT("Norwegian")); m_lstLangs.AddString(TEXT("Swedish")); m_lstLangs.AddString(TEXT("Finnish")); m_lstLangs.AddString(TEXT("Danish")); m_lstLangs.AddString(TEXT("Icelandic")); m_lstLangs.AddString(TEXT("Portuguese")); m_lstLangs.AddString(TEXT("Spanish")); m_lstLangs.AddString(TEXT("Catalan")); m_lstLangs.AddString(TEXT("Italian")); m_lstLangs.AddString(TEXT("Maltese")); m_lstLangs.AddString(TEXT("Greek")); m_lstLangs.AddString(TEXT("Polish")); m_lstLangs.AddString(TEXT("Czech")); m_lstLangs.AddString(TEXT("Slovak")); m_lstLangs.AddString(TEXT("Hungarian")); m_lstLangs.AddString(TEXT("Slovenian")); m_lstLangs.AddString(TEXT("Croatian")); m_lstLangs.AddString(TEXT("Romanian")); m_lstLangs.AddString(TEXT("Albanian")); m_lstLangs.AddString(TEXT("Turkish")); m_lstLangs.AddString(TEXT("Estonian")); m_lstLangs.AddString(TEXT("Latvian")); m_lstLangs.AddString(TEXT("Lithuanian")); m_lstLangs.AddString(TEXT("Esperanto")); m_lstLangs.AddString(TEXT("Serbian")); m_lstLangs.AddString(TEXT("Macedonian (Cyrillic)")); m_lstLangs.AddString(TEXT("Moldavian (Cyrillic)")); m_lstLangs.AddString(TEXT("Bulgarian (Cyrillic)")); m_lstLangs.AddString(TEXT("Byelorussian (Cyrillic)")); m_lstLangs.AddString(TEXT("Ukrainian (Cyrillic)")); m_lstLangs.AddString(TEXT("Russian (Cyrillic)")); m_lstLangs.AddString(TEXT("Afrikaans")); m_lstLangs.AddString(TEXT("Aymara")); m_lstLangs.AddString(TEXT("Basque")); m_lstLangs.AddString(TEXT("Bemba")); m_lstLangs.AddString(TEXT("Blackfoot")); m_lstLangs.AddString(TEXT("Breton")); m_lstLangs.AddString(TEXT("Portuguese (Brazilian)")); m_lstLangs.AddString(TEXT("Bugotu")); m_lstLangs.AddString(TEXT("Chamorro")); m_lstLangs.AddString(TEXT("Chechen")); m_lstLangs.AddString(TEXT("Chuana/Tswana")); m_lstLangs.AddString(TEXT("Corsican")); m_lstLangs.AddString(TEXT("Crow")); m_lstLangs.AddString(TEXT("Eskimo")); m_lstLangs.AddString(TEXT("Faroese")); m_lstLangs.AddString(TEXT("Fijian")); m_lstLangs.AddString(TEXT("Frisian")); m_lstLangs.AddString(TEXT("Friulian")); m_lstLangs.AddString(TEXT("Gaelic Irish")); m_lstLangs.AddString(TEXT("Gaelic Scottish")); m_lstLangs.AddString(TEXT("Ganda/Luganda")); m_lstLangs.AddString(TEXT("Guarani")); m_lstLangs.AddString(TEXT("Hani")); m_lstLangs.AddString(TEXT("Hawaiian")); m_lstLangs.AddString(TEXT("Ido")); m_lstLangs.AddString(TEXT("Indonesian")); m_lstLangs.AddString(TEXT("Interlingua")); m_lstLangs.AddString(TEXT("Kabardian")); m_lstLangs.AddString(TEXT("Kasub")); m_lstLangs.AddString(TEXT("Kawa")); m_lstLangs.AddString(TEXT("Kikuyu")); m_lstLangs.AddString(TEXT("Kongo")); m_lstLangs.AddString(TEXT("Kpelle")); m_lstLangs.AddString(TEXT("Kurdish")); m_lstLangs.AddString(TEXT("Latin")); m_lstLangs.AddString(TEXT("Luba")); m_lstLangs.AddString(TEXT("Luxembourgian")); m_lstLangs.AddString(TEXT("Malagasy")); m_lstLangs.AddString(TEXT("Malay")); m_lstLangs.AddString(TEXT("Malinke")); m_lstLangs.AddString(TEXT("Maori")); m_lstLangs.AddString(TEXT("Mayan")); m_lstLangs.AddString(TEXT("Miao")); m_lstLangs.AddString(TEXT("Minankabaw")); m_lstLangs.AddString(TEXT("Mohawk")); m_lstLangs.AddString(TEXT("Nahuatl")); m_lstLangs.AddString(TEXT("Nyanja")); m_lstLangs.AddString(TEXT("Occidental")); m_lstLangs.AddString(TEXT("Ojibway")); m_lstLangs.AddString(TEXT("Papiamento")); m_lstLangs.AddString(TEXT("Pidgin English")); m_lstLangs.AddString(TEXT("Provencal")); m_lstLangs.AddString(TEXT("Quechua")); m_lstLangs.AddString(TEXT("Rhaetic")); m_lstLangs.AddString(TEXT("Romany")); m_lstLangs.AddString(TEXT("Ruanda")); m_lstLangs.AddString(TEXT("Rundi")); m_lstLangs.AddString(TEXT("Samoan")); m_lstLangs.AddString(TEXT("Sardinian")); m_lstLangs.AddString(TEXT("Shona")); m_lstLangs.AddString(TEXT("Sioux")); m_lstLangs.AddString(TEXT("Somali")); m_lstLangs.AddString(TEXT("Sotho/Suto/Sesuto")); m_lstLangs.AddString(TEXT("Sundanese")); m_lstLangs.AddString(TEXT("Swahili")); m_lstLangs.AddString(TEXT("Swazi")); m_lstLangs.AddString(TEXT("Tagalog")); m_lstLangs.AddString(TEXT("Tahitian")); m_lstLangs.AddString(TEXT("Tinpo")); m_lstLangs.AddString(TEXT("Tongan")); m_lstLangs.AddString(TEXT("Tun")); m_lstLangs.AddString(TEXT("Visayan")); m_lstLangs.AddString(TEXT("Welsh")); m_lstLangs.AddString(TEXT("Wend/Sorbian")); m_lstLangs.AddString(TEXT("Wolof")); m_lstLangs.AddString(TEXT("Xhosa")); m_lstLangs.AddString(TEXT("Zapotec")); m_lstLangs.AddString(TEXT("Zulu")); m_lstLangs.AddString(TEXT("Galician")); m_lstLangs.AddString(TEXT("Serbian Latin")); m_lstLangs.AddString(TEXT("Sami")); m_lstLangs.AddString(TEXT("Lule Sami")); m_lstLangs.AddString(TEXT("Northern Sami")); m_lstLangs.AddString(TEXT("Southern Sami")); m_lstLangs.SetItemData(0, LANG_ID_ENGLISH); m_lstLangs.SetItemData(1, LANG_ID_GERMAN); m_lstLangs.SetItemData(2, LANG_ID_FRENCH); m_lstLangs.SetItemData(3, LANG_ID_DUTCH); m_lstLangs.SetItemData(4, LANG_ID_NORWEGIAN); m_lstLangs.SetItemData(5, LANG_ID_SWEDISH); m_lstLangs.SetItemData(6, LANG_ID_FINNISH); m_lstLangs.SetItemData(7, LANG_ID_DANISH); m_lstLangs.SetItemData(8, LANG_ID_ICELANDIC); m_lstLangs.SetItemData(9, LANG_ID_PORTUGUESE); m_lstLangs.SetItemData(10, LANG_ID_SPANISH); m_lstLangs.SetItemData(11, LANG_ID_CATALAN); m_lstLangs.SetItemData(12, LANG_ID_ITALIAN); m_lstLangs.SetItemData(13, LANG_ID_MALTESE); m_lstLangs.SetItemData(14, LANG_ID_GREEK); m_lstLangs.SetItemData(15, LANG_ID_POLISH); m_lstLangs.SetItemData(16, LANG_ID_CZECH); m_lstLangs.SetItemData(17, LANG_ID_SLOVAK); m_lstLangs.SetItemData(18, LANG_ID_HUNGARIAN); m_lstLangs.SetItemData(19, LANG_ID_SLOVENIAN); m_lstLangs.SetItemData(20, LANG_ID_CROATIAN); m_lstLangs.SetItemData(21, LANG_ID_ROMANIAN); m_lstLangs.SetItemData(22, LANG_ID_ALBANIAN); m_lstLangs.SetItemData(23, LANG_ID_TURKISH); m_lstLangs.SetItemData(24, LANG_ID_ESTONIAN); m_lstLangs.SetItemData(25, LANG_ID_LATVIAN); m_lstLangs.SetItemData(26, LANG_ID_LITHUANIAN); m_lstLangs.SetItemData(27, LANG_ID_ESPERANTO); m_lstLangs.SetItemData(28, LANG_ID_SERBIAN); m_lstLangs.SetItemData(29, LANG_ID_MACEDONIAN); m_lstLangs.SetItemData(30, LANG_ID_MOLDAVIAN); m_lstLangs.SetItemData(31, LANG_ID_BULGARIAN); m_lstLangs.SetItemData(32, LANG_ID_BYELORUSSIAN); m_lstLangs.SetItemData(33, LANG_ID_UKRAINIAN); m_lstLangs.SetItemData(34, LANG_ID_RUSSIAN); m_lstLangs.SetItemData(35, LANG_ID_AFRIKAANS); m_lstLangs.SetItemData(36, LANG_ID_AYMARA); m_lstLangs.SetItemData(37, LANG_ID_BASQUE); m_lstLangs.SetItemData(38, LANG_ID_BEMBA); m_lstLangs.SetItemData(39, LANG_ID_BLACKFOOT); m_lstLangs.SetItemData(40, LANG_ID_BRETON); m_lstLangs.SetItemData(41, LANG_ID_BRAZILIAN); m_lstLangs.SetItemData(42, LANG_ID_BUGOTU); m_lstLangs.SetItemData(43, LANG_ID_CHAMORRO); m_lstLangs.SetItemData(44, LANG_ID_CHECHEN); m_lstLangs.SetItemData(45, LANG_ID_CHUANA_TSWANA); m_lstLangs.SetItemData(46, LANG_ID_CORSICAN); m_lstLangs.SetItemData(47, LANG_ID_CROW); m_lstLangs.SetItemData(48, LANG_ID_ESKIMO); m_lstLangs.SetItemData(49, LANG_ID_FAROESE); m_lstLangs.SetItemData(50, LANG_ID_FIJIAN); m_lstLangs.SetItemData(51, LANG_ID_FRISIAN); m_lstLangs.SetItemData(52, LANG_ID_FRIULIAN); m_lstLangs.SetItemData(53, LANG_ID_GAELIC_IRISH); m_lstLangs.SetItemData(54, LANG_ID_GAELIC_SCOTTISH); m_lstLangs.SetItemData(55, LANG_ID_GANDA_LUGANDA); m_lstLangs.SetItemData(56, LANG_ID_GUARANI); m_lstLangs.SetItemData(57, LANG_ID_HANI); m_lstLangs.SetItemData(58, LANG_ID_HAWAIIAN); m_lstLangs.SetItemData(59, LANG_ID_IDO); m_lstLangs.SetItemData(60, LANG_ID_INDONESIAN); m_lstLangs.SetItemData(61, LANG_ID_INTERLINGUA); m_lstLangs.SetItemData(62, LANG_ID_KABARDIAN); m_lstLangs.SetItemData(63, LANG_ID_KASUB); m_lstLangs.SetItemData(64, LANG_ID_KAWA); m_lstLangs.SetItemData(65, LANG_ID_KIKUYU); m_lstLangs.SetItemData(66, LANG_ID_KONGO); m_lstLangs.SetItemData(67, LANG_ID_KPELLE); m_lstLangs.SetItemData(68, LANG_ID_KURDISH); m_lstLangs.SetItemData(69, LANG_ID_LATIN); m_lstLangs.SetItemData(70, LANG_ID_LUBA); m_lstLangs.SetItemData(71, LANG_ID_LUXEMBOURGIAN); m_lstLangs.SetItemData(72, LANG_ID_MALAGASY); m_lstLangs.SetItemData(73, LANG_ID_MALAY); m_lstLangs.SetItemData(74, LANG_ID_MALINKE); m_lstLangs.SetItemData(75, LANG_ID_MAORI); m_lstLangs.SetItemData(76, LANG_ID_MAYAN); m_lstLangs.SetItemData(77, LANG_ID_MIAO); m_lstLangs.SetItemData(78, LANG_ID_MINANKABAW); m_lstLangs.SetItemData(79, LANG_ID_MOHAWK); m_lstLangs.SetItemData(80, LANG_ID_NAHUATL); m_lstLangs.SetItemData(81, LANG_ID_NYANJA); m_lstLangs.SetItemData(82, LANG_ID_OCCIDENTAL); m_lstLangs.SetItemData(83, LANG_ID_OJIBWAY); m_lstLangs.SetItemData(84, LANG_ID_PAPIAMENTO); m_lstLangs.SetItemData(85, LANG_ID_PIDGIN_ENGLISH); m_lstLangs.SetItemData(86, LANG_ID_PROVENCAL); m_lstLangs.SetItemData(87, LANG_ID_QUECHUA); m_lstLangs.SetItemData(88, LANG_ID_RHAETIC); m_lstLangs.SetItemData(89, LANG_ID_ROMANY); m_lstLangs.SetItemData(90, LANG_ID_RUANDA); m_lstLangs.SetItemData(91, LANG_ID_RUNDI); m_lstLangs.SetItemData(92, LANG_ID_SAMOAN); m_lstLangs.SetItemData(93, LANG_ID_SARDINIAN); m_lstLangs.SetItemData(94, LANG_ID_SHONA); m_lstLangs.SetItemData(95, LANG_ID_SIOUX); m_lstLangs.SetItemData(96, LANG_ID_SOMALI); m_lstLangs.SetItemData(97, LANG_ID_SOTHO_SUTO_SESUTO); m_lstLangs.SetItemData(98, LANG_ID_SUNDANESE); m_lstLangs.SetItemData(99, LANG_ID_SWAHILI); m_lstLangs.SetItemData(100, LANG_ID_SWAZI); m_lstLangs.SetItemData(101, LANG_ID_TAGALOG); m_lstLangs.SetItemData(102, LANG_ID_TAHITIAN); m_lstLangs.SetItemData(103, LANG_ID_TINPO); m_lstLangs.SetItemData(104, LANG_ID_TONGAN); m_lstLangs.SetItemData(105, LANG_ID_TUN); m_lstLangs.SetItemData(106, LANG_ID_VISAYAN); m_lstLangs.SetItemData(107, LANG_ID_WELSH); m_lstLangs.SetItemData(108, LANG_ID_WEND_SORBIAN); m_lstLangs.SetItemData(109, LANG_ID_WOLOF); m_lstLangs.SetItemData(110, LANG_ID_XHOSA); m_lstLangs.SetItemData(111, LANG_ID_ZAPOTEC); m_lstLangs.SetItemData(112, LANG_ID_ZULU); m_lstLangs.SetItemData(113, LANG_ID_GALICIAN); m_lstLangs.SetItemData(114, LANG_ID_SERBIAN_LATIN); m_lstLangs.SetItemData(115, LANG_ID_SAMI); m_lstLangs.SetItemData(116, LANG_ID_LULE_SAMI); m_lstLangs.SetItemData(117, LANG_ID_NORTHERN_SAMI); m_lstLangs.SetItemData(118, LANG_ID_SOUTHERN_SAMI); m_lstLangs.SetCurSel(0); // set current selection to LANG_ID_ENGLISH OnSelchangeListLangs(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CLanguage::OnSelchangeListLangs() { CheckOKButton(); } void CLanguage::CheckOKButton() { L_INT nSelLangs = m_lstLangs.GetSelCount(); m_btnOK.EnableWindow(nSelLangs != 0); } void CLanguage::OnOK() { L_INT * pnItems = NULL; m_nLangCount = m_lstLangs.GetSelCount(); m_pLangIds = (LANGIDS *)GlobalAllocPtr(GHND, m_nLangCount * sizeof(L_INT)); pnItems = (L_INT *)GlobalAllocPtr(GHND, sizeof(L_INT) * m_nLangCount); m_lstLangs.GetSelItems(m_nLangCount, pnItems); for(int i=0; i