Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUILocalisationTable.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUILOCALISATIONTABLE__H_
11#define GUILOCALISATIONTABLE__H_
12
13#include "GUITextResource.h"
14#include "eC_String.h"
15#include "eC_TArray.h"
16
21{
22public:
27
32
38 void LoadLocalisationFile(const eC_String &kLangFileName);
39
47 eC_Bool WriteLocalisationFile(const eC_String &kPath) const;
48
57 const eC_String* GetText(const TextResource_t &eTextResourcesIdx) const;
58
65 void SetText(TextResource_t eID, const eC_String &rkText);
66
75 TextResource_t AddDynamicText(const eC_String &kNewText);
76
83
89 void RegisterTextFragments(const TextResource_t& eID, const eC_UInt& uiCount);
90
96
104 const TextResource_t& eID,
105 const eC_UInt& uiFragmentIndex,
106 const eC_String& kText);
107
114 eC_Bool SetNOFLocalisationTexts(eC_UInt uiNOFLocalisationTexts);
115
120 eC_UInt GetNOFLocalisationTexts() const;
121
127 eC_Bool IsValidID(const TextResource_t &eID) const;
128
133 const eC_String* GetDummyText() const;
134
139 eC_UInt GetNOFReadTextResources() const;
140
141private:
143 enum LineEndType_t
144 {
145 LINE_END_NONE,
146 LINE_END_CR,
147 LINE_END_CRLF
148 };
149
150private:
152 void DeleteLocalisationTable();
153
160 LineEndType_t HandleEOL(eC_UByte* const pucBuf) const;
161
170 void HandleLineBreak(eC_String *kLineString) const;
171
179 eC_UInt ReadLine(
180 eC_UByte *pcSourceBuffer,
181 eC_UInt uiBufferSize,
182 eC_String &kDestinationString);
183
184 eC_String* FormatText(const eC_UInt& uiTextIndex) const;
185
186 void DeleteTextFragments(const eC_UInt& uiIndex);
187
188private:
190 eC_TArray<eC_String*> m_apLocalisationText;
191
193 eC_TArray<eC_TArray<eC_String*>*> m_apTextFragments;
194
196 eC_TArray<eC_String*> m_apLocalCopies;
197
199 static eC_String ms_kDummyTextStr;
200
202 eC_UInt m_uiNOFReadTexts;
203};
204
205#endif
Helper Macros in Guiliani
TextResource_t
List of text resource ids.
Definition: GUITextResource.h:40
This class is used to store and provide international texts.
Definition: GUILocalisationTable.h:21
void SetTextFragment(const TextResource_t &eID, const eC_UInt &uiFragmentIndex, const eC_String &kText)
eC_Bool SetNOFLocalisationTexts(eC_UInt uiNOFLocalisationTexts)
void SetText(TextResource_t eID, const eC_String &rkText)
void UnregisterTextFragments(const TextResource_t &eID)
TextResource_t AddDynamicText(const eC_String &kNewText)
void LoadLocalisationFile(const eC_String &kLangFileName)
eC_UInt GetNOFReadTextResources() const
const eC_String * GetText(const TextResource_t &eTextResourcesIdx) const
void FreeDynamicText(const TextResource_t eID)
eC_Bool WriteLocalisationFile(const eC_String &kPath) const
eC_UInt GetNOFLocalisationTexts() const
void RegisterTextFragments(const TextResource_t &eID, const eC_UInt &uiCount)
const eC_String * GetDummyText() const
eC_Bool IsValidID(const TextResource_t &eID) const