www.pudn.com > NeroSDK-v1.06.zip > NeroPluginNLS.h
/******************************************************************************
|* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|* PARTICULAR PURPOSE.
|*
|* Copyright 1995-2005 Nero AG. All Rights Reserved.
|*-----------------------------------------------------------------------------
|* NeroSDK / AudioPluginManager
|*
|* FILE: NeroPluginNLS.h
|*
|* PURPOSE: Translator class definition for NLS support for Nero plugins
******************************************************************************/
#ifndef _NERO_PLUGIN_NLS_
#define _NERO_PLUGIN_NLS_
/////////////////////////////////////////////////////////// CStranslateAction //
#include "afxtempl.h"
enum EWindowType
{
ETT_Wrong,
ETT_Combo,
ETT_ListBox,
ETT_Other
};
class CTranslateAction
{
// Construction/Destruction
public:
CTranslateAction(HWND hWnd, const char *szPrevText);
~CTranslateAction();
// Operations
public:
void Undo();
void AddSubItemAction(int iNum, const char *szPrevText);
protected:
// Data
protected:
HWND m_hWnd;
CString m_csPrevText;
EWindowType m_type;
struct SUBACTION
{
// Construction/Destruction
SUBACTION()
: m_iItem (-1)
{}
SUBACTION(int iItemNum, const char *szPrevText)
: m_iItem (iItemNum),
m_csPrevText (szPrevText)
{}
// Data
int m_iItem;
CString m_csPrevText;
};
CArray m_SubActions;
bool m_bUndone;
};
///////////////////////////////////////////////////////////////// CTranslator //
// Translator class. Translates windows and separate expressions.
class CTranslator
{
// Construction/Destruction
public:
CTranslator(WORD wResID, const char *szLang);
~CTranslator();
// Operations
public:
void TranslateWindow(HWND hMainWnd);
void TranslateMenu(HMENU hMenu);
void UndoTranslation();
void GetWordTranslation(const char *szWord, CString *pcs);
// Data
protected:
CString m_csLang;
CStringArray m_strarEng,
m_strarTgt;
// Maps window handles to CTranslateAction pointers.
CMapPtrToPtr m_History;
};
CTranslator * CreateTranslator(WORD wResID, LANGID id);
void DestroyTranslator(CTranslator *pTranslator);
#endif _NERO_PLUGIN_NLS_