340 lines
7.9 KiB
C
340 lines
7.9 KiB
C
|
//-----------------------------------------------------------------------------
|
||
|
//
|
||
|
// File: locenum.h
|
||
|
// Copyright (C) 1994-1997 Microsoft Corporation
|
||
|
// All rights reserved.
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CStringType
|
||
|
{
|
||
|
public:
|
||
|
//
|
||
|
// This order is important - if must change it, make sure you make the
|
||
|
// corresponding changes in GetTypeName() and GetTypeTLA()!
|
||
|
// All new values must be added TO THE END, or you will break old
|
||
|
// parsers...
|
||
|
//
|
||
|
// NOTE: These #include files define an enumeration. They MUST be inside this
|
||
|
// class definition.
|
||
|
//
|
||
|
#include "PreCEnum.h"
|
||
|
#include "EnumStringType.h"
|
||
|
|
||
|
static int DefaultValue;
|
||
|
NOTHROW static const TCHAR * GetTypeName(CStringType::StringType);
|
||
|
NOTHROW static const TCHAR * GetTypeTLA(CStringType::StringType);
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
static const CStringType::StringType GetStringType(const TCHAR * tChIn);
|
||
|
static const TCHAR * GetDefaultStringTypeText();
|
||
|
static const CStringType::StringType GetDefaultStringType();
|
||
|
static bool IsValidStringType(const CStringType::StringType &nIn);
|
||
|
static bool IsValidStringType(const TCHAR * tChIn);
|
||
|
|
||
|
private:
|
||
|
//
|
||
|
// Nobody should actually CONTRUCT one of these.
|
||
|
//
|
||
|
CStringType();
|
||
|
|
||
|
//
|
||
|
// Used to store the info about each element in the enum...
|
||
|
//
|
||
|
struct StringTypeInfo
|
||
|
{
|
||
|
TCHAR szTLA[4];
|
||
|
const TCHAR * szName;
|
||
|
};
|
||
|
|
||
|
static const StringTypeInfo m_Info[];
|
||
|
};
|
||
|
|
||
|
typedef CStringType CST;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CPlatform
|
||
|
{
|
||
|
public:
|
||
|
// NOTE: These #include files define an enumeration. They MUST be inside this
|
||
|
// class definition.
|
||
|
//
|
||
|
#include "PreCEnum.h"
|
||
|
#include "EnumPlatform.h"
|
||
|
|
||
|
NOTHROW static const TCHAR * GetPlatformName(CPlatform::Platform);
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
static const CPlatform::Platform CPlatform::GetPlatformType(const TCHAR * tChplat);
|
||
|
static const TCHAR * GetDefaultPlatformText();
|
||
|
static const CPlatform::Platform GetDefaultPlatform();
|
||
|
static bool IsValidPlatform(const CPlatform::Platform &nIn);
|
||
|
static bool IsValidPlatform(const TCHAR * tChplat);
|
||
|
|
||
|
private:
|
||
|
static int DefaultValue;
|
||
|
static const TCHAR * const m_szPlatformNames[];
|
||
|
};
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CLocApprovalState
|
||
|
{
|
||
|
public:
|
||
|
enum ApprovalState
|
||
|
{
|
||
|
Invalid = 0,
|
||
|
Old_Pending, // OBSOLETE! Do Not Use!
|
||
|
Approved,
|
||
|
PreApproved,
|
||
|
NotReady,
|
||
|
Failed,
|
||
|
ForResearch,
|
||
|
NotApplicable
|
||
|
};
|
||
|
static ApprovalState DefaultValue;
|
||
|
NOTHROW static const TCHAR * GetApprovalText(CLocApprovalState::ApprovalState);
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
static const CLocApprovalState::ApprovalState GetApprovalState(const TCHAR * );
|
||
|
static const TCHAR * GetDefaultApprovalText();
|
||
|
static const CLocApprovalState::ApprovalState GetDefaultApprovalState();
|
||
|
static BOOL IsValidApprovalState(const CLocApprovalState::ApprovalState &nIn);
|
||
|
static BOOL IsValidApprovalState(const TCHAR * );
|
||
|
|
||
|
private:
|
||
|
struct SStateName
|
||
|
{
|
||
|
ApprovalState as;
|
||
|
const TCHAR *szName;
|
||
|
};
|
||
|
|
||
|
static const SStateName m_aStateNames[];
|
||
|
CLocApprovalState();
|
||
|
};
|
||
|
|
||
|
typedef CLocApprovalState CAS;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CLocAutoApproved
|
||
|
{
|
||
|
// Operations
|
||
|
public:
|
||
|
enum AutoApproved
|
||
|
{
|
||
|
Invalid = 0,
|
||
|
No,
|
||
|
Partial,
|
||
|
Yes,
|
||
|
NotApplicable
|
||
|
};
|
||
|
|
||
|
NOTHROW static TCHAR const * GetAutoApprovedText(AutoApproved const aa);
|
||
|
static void Enumerate(CEnumCallback & cbEnumCallback);
|
||
|
static AutoApproved const GetAutoApproved(TCHAR const * const tChIn);
|
||
|
static TCHAR const * GetDefaultAutoApprovedText();
|
||
|
static AutoApproved const GetDefaultAutoApproved();
|
||
|
static bool IsValidAutoApproved(AutoApproved const nIn);
|
||
|
static bool IsValidAutoApproved(TCHAR const * tChIn);
|
||
|
|
||
|
// Construction
|
||
|
private:
|
||
|
// prevent constructing, copying and assigning
|
||
|
CLocAutoApproved();
|
||
|
CLocAutoApproved(CLocAutoApproved const &);
|
||
|
CLocAutoApproved const & operator=(CLocAutoApproved const &);
|
||
|
|
||
|
// Member Variables
|
||
|
private:
|
||
|
static TCHAR const * const m_szAutoApprovedNames[];
|
||
|
static AutoApproved const DefaultValue;
|
||
|
};
|
||
|
|
||
|
typedef CLocAutoApproved CAA;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CLocTranslationOrigin
|
||
|
{
|
||
|
public:
|
||
|
enum TranslationOrigin
|
||
|
{
|
||
|
Invalid = 0,
|
||
|
New,
|
||
|
Uploaded,
|
||
|
AutoTranslated,
|
||
|
Copied,
|
||
|
PreviousVersion,
|
||
|
NotApplicable
|
||
|
};
|
||
|
|
||
|
NOTHROW static const TCHAR * GetOriginText(CLocTranslationOrigin::TranslationOrigin);
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
|
||
|
private:
|
||
|
static const TCHAR *const m_szOriginNames[];
|
||
|
CLocTranslationOrigin();
|
||
|
};
|
||
|
|
||
|
typedef CLocTranslationOrigin CTO;
|
||
|
|
||
|
class LTAPIENTRY COutputTabs
|
||
|
{
|
||
|
public:
|
||
|
enum OutputTabs
|
||
|
{
|
||
|
File,
|
||
|
Test,
|
||
|
Messages,
|
||
|
Update,
|
||
|
Utility,
|
||
|
GlobalErrorBox,
|
||
|
OutputMax
|
||
|
};
|
||
|
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
|
||
|
private:
|
||
|
static const UINT m_nStateNames[];
|
||
|
COutputTabs();
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
class LTAPIENTRY CValidationCode
|
||
|
{
|
||
|
public:
|
||
|
enum ValidationCode
|
||
|
{
|
||
|
NotHandled, // for sub-parser use ONLY
|
||
|
NoError,
|
||
|
Warning,
|
||
|
Error
|
||
|
};
|
||
|
|
||
|
NOTHROW static ValidationCode UpgradeValue(ValidationCode OldValue,
|
||
|
ValidationCode NewValue);
|
||
|
|
||
|
private:
|
||
|
CValidationCode();
|
||
|
};
|
||
|
|
||
|
typedef CValidationCode CVC;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CValidationOptions
|
||
|
{
|
||
|
public:
|
||
|
CValidationOptions();
|
||
|
|
||
|
enum ValidationOption
|
||
|
{
|
||
|
CheckDBCSHotKeyPos = 0,
|
||
|
CheckDBCSHotKeyChar,
|
||
|
CheckRemovedHotKey,
|
||
|
CheckAddedHotKey,
|
||
|
CheckHotKeyPosition,
|
||
|
CheckRemovedAccelerator,
|
||
|
CheckReorderableParams,
|
||
|
CheckPrintf,
|
||
|
CheckBlankTarget,
|
||
|
CheckBlankSource,
|
||
|
CheckNewLineCount,
|
||
|
CheckChangedTerminator,
|
||
|
CheckLeadingPunctuation,
|
||
|
CheckTrailingPunctuation,
|
||
|
CheckLeadingSpaces,
|
||
|
CheckTrailingSpaces,
|
||
|
CheckTranslationSize,
|
||
|
CheckNULChanges,
|
||
|
CheckCharsInCodePage,
|
||
|
//
|
||
|
// Internal value, DO NOT USE
|
||
|
//
|
||
|
END_MARKER
|
||
|
};
|
||
|
|
||
|
static void Enumerate(CEnumCallback &);
|
||
|
NOTHROW static void GetText(ValidationOption, CLString &);
|
||
|
NOTHROW static void GetLongText(ValidationOption vo, CLString &strText);
|
||
|
|
||
|
NOTHROW void SetFlag(ValidationOption, BOOL);
|
||
|
NOTHROW BOOL GetFlag(ValidationOption) const;
|
||
|
NOTHROW const CValidationOptions & operator=(const CValidationOptions &);
|
||
|
|
||
|
private:
|
||
|
DWORD dwFlags;
|
||
|
};
|
||
|
|
||
|
typedef CValidationOptions CVO;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
class LTAPIENTRY CAmpKeyword
|
||
|
{
|
||
|
public:
|
||
|
enum AmpKeyword
|
||
|
{
|
||
|
amp = 0,
|
||
|
lt,
|
||
|
gt,
|
||
|
};
|
||
|
|
||
|
static const WCHAR * GetValue(CAmpKeyword::AmpKeyword);
|
||
|
static unsigned int GetValueLength(CAmpKeyword::AmpKeyword);
|
||
|
static WCHAR GetEquivalentChar(CAmpKeyword::AmpKeyword);
|
||
|
static int FindAmpKeyword(const WCHAR * pwszStr, unsigned int nPos);
|
||
|
|
||
|
private:
|
||
|
//
|
||
|
// Nobody should actually CONTRUCT one of these.
|
||
|
//
|
||
|
CAmpKeyword();
|
||
|
|
||
|
//
|
||
|
// Used to store the info about each element in the enum...
|
||
|
//
|
||
|
struct SAmpKeyword
|
||
|
{
|
||
|
const WCHAR * m_wszValue;
|
||
|
WCHAR m_chEquivalentChar;
|
||
|
};
|
||
|
|
||
|
static const SAmpKeyword m_aAmpKeywords[];
|
||
|
static const int m_nNumAmpKeywords;
|
||
|
};
|
||
|
|
||
|
typedef CAmpKeyword CAK;
|
||
|
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
// CEnumIntoPasStrList provides a method of enumerating directly into a list of
|
||
|
// CPascalString's.
|
||
|
//
|
||
|
// ASSUMPTIONS:
|
||
|
// 1. Enumerators will send data in proper increasing order
|
||
|
// 2. No gaps in indicies.
|
||
|
//
|
||
|
class LTAPIENTRY CEnumIntoPasStrList: public CEnumCallback
|
||
|
{
|
||
|
// Construction
|
||
|
public:
|
||
|
CEnumIntoPasStrList(CPasStringList & lstPasStr, BOOL fLock = TRUE);
|
||
|
~CEnumIntoPasStrList();
|
||
|
|
||
|
// CEnumCallback implementation
|
||
|
public:
|
||
|
virtual void SetRange(UINT nStart, UINT nFinish);
|
||
|
virtual BOOL ProcessEnum(const EnumInfo &);
|
||
|
|
||
|
protected:
|
||
|
CPasStringList & m_lstPasStr;
|
||
|
UINT m_nStart; // Start of range
|
||
|
UINT m_nFinish; // End of range
|
||
|
UINT m_nCurrent; // Check of current item TO retrieve
|
||
|
BOOL m_fLock; // Lock list when finished
|
||
|
};
|