15#include "eC_TList_doubleLinked.h"
16#include "GUIColorPropertyObserver.h"
17#include "GUIStreamableObject.h"
19#include "GUIProperties.h"
21#include "GUICommonEnums.h"
24const eC_Char ccLinebreak =
'\n';
108 TEXT_COLOR_STANDARD_IS_PROPERTY = 1,
109 TEXT_COLOR_HIGHLIGHTED_IS_PROPERTY = 2,
110 TEXT_COLOR_GRAYED_OUT_IS_PROPERTY = 4,
111 TEXT_COLOR_PRESSED_IS_PROPERTY = 8
148 m_kStrText(kStrText),
156 const eC_String&
GetText()
const {
return m_kStrText; }
171 void SetText(
const eC_String& kStrText) { m_kStrText = kStrText; }
176 void SetWidth(
const eC_Value& vWidth) { m_vWidth = vWidth; }
181 void SetHeight(
const eC_Value& vHeight) { m_vHeight = vHeight; }
184 eC_String m_kStrText;
201 const eC_String &kText,
202 const eC_Value& vXPos = eC_FromInt(0),
203 const eC_Value& vYPos = eC_FromInt(0),
204 const eC_Bool &bSingleLine =
true);
218 const eC_String*
const pkText,
219 const eC_Value& vXPos = eC_FromInt(0),
220 const eC_Value& vYPos = eC_FromInt(0),
221 const eC_Bool &bSingleLine =
true);
236 const eC_Value& vXPos = eC_FromInt(0),
237 const eC_Value& vYPos = eC_FromInt(0),
238 const eC_Bool &bSingleLine =
true);
328 eC_UInt &uiTextColorHighlighted,
329 eC_UInt &uiTextColorGrayedOut,
330 eC_UInt &uiTextColorPressed)
const;
397 const eC_UInt &uiTextColorStandard,
398 const eC_UInt &uiTextColorHighlighted,
399 const eC_UInt &uiTextColorGrayedOut,
400 const eC_UInt &uiTextColorPressed);
649 const eC_Value& vXAdjustment,
650 const eC_Value& vYAdjustment)
665 eC_Value& vXAdjustment,
666 eC_Value& vYAdjustment)
const
696 inline static void SetHyphenString(
const eC_String& kHyphen) { ms_kHyphen = kHyphen; }
758#ifdef GUILIANI_STREAM_GUI
762#ifdef GUILIANI_WRITE_GUI
777#if defined(GUILIANI_STREAM_GUI) || defined(GUILIANI_WRITE_GUI)
794#ifdef GUILIANI_STREAM_GUI
801#ifdef GUILIANI_WRITE_GUI
907 const eC_String& rkStrToAnalyse,
908 eC_String& rkRestStr,
1109 const eC_Value& vXPos,
1110 const eC_Value& vYPos,
1111 eC_Bool bSingleLine);
1127 virtual void CreateStringList();
1147 const eC_String& kOrgStr,
1148 const eC_Bool bForceEllipsis =
false);
1171 eC_UInt FitStringWithHyphen(
1172 const eC_String& kFirstPart,
1173 eC_String& kSecondPart,
1175 eC_String& kHyphenated)
const;
1182 void RestoreHyphenationMarks(eC_String& kResult)
const;
1185 static const eC_UInt INDEX_COLOR_STANDARD;
1186 static const eC_UInt INDEX_COLOR_HIGHLIGHTED;
1187 static const eC_UInt INDEX_COLOR_GRAYEDOUT;
1188 static const eC_UInt INDEX_COLOR_PRESSED;
1191 static const eC_String ms_ckHyphenationMark;
1194 static const eC_UInt ms_cuiHyphMarkLength;
1199 static eC_String ms_kHyphen;
1202 static eC_String ms_kEllipsis;
1207 eC_Value m_vRequiredTextWidth;
1212 eC_Value m_vRequiredTextHeight;
1224 eC_Bool m_bAutoSize;
Helper Macros in Guiliani
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
GlobalProperty_t
List of property resource ids.
Definition: GUIPropertyResource.h:67
Helper Macros in Guiliani
TextResource_t
List of text resource ids.
Definition: GUITextResource.h:40
This observer provides the base-interface for controls when using color-properties.
Definition: GUIColorPropertyObserver.h:23
Rotation_t
Enumaration for Rotation.
Definition: GUICommonEnums.h:131
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
eC_Value GetX1() const
Definition: GUIRect.h:196
eC_Value GetY1() const
Definition: GUIRect.h:197
eC_Value GetWidth() const
Definition: GUIRect.h:164
eC_Value GetHeight() const
Definition: GUIRect.h:175
Base class for streamable objects.
Definition: GUIStreamableObject.h:46
Class containing a text, its width and its height.
Definition: GUIText.h:133
const eC_String & GetText() const
Definition: GUIText.h:156
ExtendedString_t(const eC_String &kStrText, eC_Value vWidth, eC_Value vHeight)
Definition: GUIText.h:147
eC_Value GetHeight() const
Definition: GUIText.h:166
void SetWidth(const eC_Value &vWidth)
Definition: GUIText.h:176
void SetText(const eC_String &kStrText)
Definition: GUIText.h:171
void SetHeight(const eC_Value &vHeight)
Definition: GUIText.h:181
eC_Value GetWidth() const
Definition: GUIText.h:161
Class for handling a text.
Definition: GUIText.h:103
eC_Value m_vLineHeight
The height of one text line with this text's font.
Definition: GUIText.h:980
TextResource_t GetTextID() const
Definition: GUIText.h:352
virtual eC_Value GetRelYPos() const
Definition: GUIText.h:624
virtual eC_Value GetRequiredTextHeightForWidth(eC_Value vAvailableWidth=0)
eC_Bool ContainsHyphenationMarks(const eC_String &kStr) const
eC_Bool m_bUseEllipsis
use ellipsis if text is too long
Definition: GUIText.h:1073
virtual void SetFont(const FontResource_t &eFontID)
eC_Bool m_bTextIsBiDi
Indicates whether the text is a BiDi-text.
Definition: GUIText.h:1046
void SetTextString(const eC_String *pkTextString)
CGUIText & operator=(const CGUIText &kSource)
const CGUIRect & GetSpecificClipRect() const
Definition: GUIText.h:732
eC_TListDoubleLinked< eC_UInt > UIntList
Double linked List of unsigned integers.
Definition: GUIText.h:1030
void SetTextColorStandard(const GlobalProperty_t &eTextColorPropertyStandard)
static const eC_Char XMLTAG_TEXT_COLOR_PRESSED[]
xml-tag for pressed-color
Definition: GUIText.h:790
static const eC_Char XMLTAG_TEXT_COLOR_STANDARD[]
xml-tag for standard-color
Definition: GUIText.h:787
eC_UInt GetTextColorHighlighted() const
virtual eC_Value GetPrintLineAbsYPos(const eC_Value &vWidth, const eC_Value &vHeight)
eC_Value m_vTextWidth
Width of this text's printing area.
Definition: GUIText.h:992
virtual void GetRequiredOrgTextSpace(eC_Value &vTextWidth, eC_Value &vTextHeight)
void SetFontSpacing(const eC_Float &fFontSpacing)
eC_Value m_vRequiredOrgTextHeight
Definition: GUIText.h:1043
virtual void OnNotification()
HorAligned_t GetHorAlign() const
Definition: GUIText.h:266
static const eC_String ms_ckEmptyString
An empty string.
Definition: GUIText.h:1015
eC_Bool m_bSingleLine
Indicates whether this text is single- or multi-line.
Definition: GUIText.h:995
eC_Value m_vRelYPos
Y position of this text's printing area relative to the parent object.
Definition: GUIText.h:1055
eC_Bool m_bAdaptText
Definition: GUIText.h:1002
CGUIText(const CGUIText &kTextToBeCopied)
virtual eC_Value GetPrintLineAbsYPos()
CGUICommonEnums::Rotation_t m_eRotation
rotation for the text
Definition: GUIText.h:1092
virtual CGUIText * Clone() const
eC_UInt GetNumberOfLines()
void SetRequiredTextHeight(eC_Value vRequiredTextHeight)
Definition: GUIText.h:943
void WriteFontColors()
Helper function for WriteStream().
virtual void GetRequiredTextSpace(eC_Value &vTextWidth, eC_Value &vTextHeight)
virtual void CollectHyphenationMarks(eC_String &rkStr, eC_UInt uiOffset)
eC_Value m_vRelXPos
X position of this text's printing area relative to the parent object.
Definition: GUIText.h:1052
static const eC_Char XMLTAG_TEXT_COLOR_HIGHLIGHTED[]
xml-tag for highlighted-color
Definition: GUIText.h:788
virtual void SetRelXPos(const eC_Value &vRelXPos)
Definition: GUIText.h:594
void SetRotation(const CGUICommonEnums::Rotation_t eRotation)
virtual void SetLineSpacing(const eC_Value vLineSpacing)
void SetTextColorHighlighted(const eC_UInt &uiTextColorHighlighted)
HorAligned_t
Possible horizontal alignments.
Definition: GUIText.h:124
@ H_RIGHT
The text is right-aligned.
Definition: GUIText.h:127
@ H_CENTERED
The text is horizontally centered.
Definition: GUIText.h:126
@ H_LEFT
The text is left-aligned.
Definition: GUIText.h:125
@ H_PROPERTY
The text is aligned according to property.
Definition: GUIText.h:128
CGUIText(const CGUIObject *const pkParentObject, const eC_String &kText, const eC_Value &vXPos=eC_FromInt(0), const eC_Value &vYPos=eC_FromInt(0), const eC_Bool &bSingleLine=true)
virtual void SetRelYPos(const eC_Value &vRelYPos)
Definition: GUIText.h:616
void ReadFontColors(const eC_UInt uiVersion)
TextColorTypeFlags_t
Enumeration indicating if a property or a color value is used for each text color.
Definition: GUIText.h:107
virtual void SetTextSingleLine(const eC_Bool &bSingleLine)
virtual void ReadFromStream()
void SetTextColorGrayedOut(const eC_UInt &uiTextColorGrayedOut)
virtual void WriteToStream(const eC_Bool bWriteTextType=false)
eC_Value m_vYAdjustment
Printing adjustment for m_vRelYPos.
Definition: GUIText.h:1070
virtual eC_Value GetPrintLineAbsYPos(const eC_UInt uiLine)
CGUIText(const CGUIObject *const pkParentObject, const TextResource_t &eTextID, const eC_Value &vXPos=eC_FromInt(0), const eC_Value &vYPos=eC_FromInt(0), const eC_Bool &bSingleLine=true)
eC_Value m_vXAdjustment
Printing adjustment for m_vRelXPos.
Definition: GUIText.h:1067
static const ExtendedString_t ms_ckEmptyExtendedString
An empty Extended String.
Definition: GUIText.h:1018
virtual void SetTextID(const TextResource_t &eTextID)
const CGUIObject * GetContainingObject() const
Definition: GUIText.h:382
virtual void SetTextHeight(const eC_Value &vTextHeight)
void SetTextColorStandard(const eC_UInt &uiTextColorStandard)
void SetTextColorHighlighted(const GlobalProperty_t &eTextColorPropertyHighlighted)
void GetAdjustment(eC_Value &vXAdjustment, eC_Value &vYAdjustment) const
Definition: GUIText.h:664
eC_Bool IsTextCut()
Definition: GUIText.h:638
void SetAdjustment(const eC_Value &vXAdjustment, const eC_Value &vYAdjustment)
Definition: GUIText.h:648
VerAligned_t GetVerAlign() const
Definition: GUIText.h:271
virtual eC_Value GetVerStartAbsYPos()
virtual eC_Value GetLineSpacing() const
Definition: GUIText.h:720
static const eC_Char XMLTAG_TEXTTYPEID[]
XML tag to be used when writing a text type ID into a stream.
Definition: GUIText.h:779
static eC_String GetEllipsisString()
Definition: GUIText.h:691
eC_UInt GetTextColorGrayedOut() const
eC_Value GetRequiredTextHeight() const
Definition: GUIText.h:938
void SetTextColorPressed(const GlobalProperty_t &eTextColorPropertyPressed)
FontResource_t m_eFont
Font ID for this text object.
Definition: GUIText.h:1076
eC_Value GetRequiredTextWidth() const
Definition: GUIText.h:928
virtual void SetTextColor(const GlobalProperty_t &eTextColorStandard, const GlobalProperty_t &eTextColorHighlighted, const GlobalProperty_t &eTextColorGrayedOut, const GlobalProperty_t &eTextColorPressed)
virtual ~CGUIText()
Destructor.
eC_Bool m_bTextCut
Indicates whether the text is cut and has an appended ellipsis.
Definition: GUIText.h:1082
GlobalProperty_t m_eTextAlignmentProperty
Property used for the text color for alignment. By default, this value is DUMMY_PROPERTY,...
Definition: GUIText.h:1058
static const eC_Char XMLTAG_TEXT_COLOR_GRAYEDOUT[]
xml-tag for grayedout-color
Definition: GUIText.h:789
VerAligned_t
Possible vertical alignments.
Definition: GUIText.h:116
@ V_CENTERED
The text is vertically centered in its area.
Definition: GUIText.h:118
@ V_TOP
The text is aligned at the top of its area.
Definition: GUIText.h:117
@ V_BOTTOM
The text is aligned at the bottom of its area.
Definition: GUIText.h:119
static void SetEllipsisString(const eC_String &kEllipsis)
Definition: GUIText.h:685
eC_Value m_vTextHeight
Height of this text's printing area.
Definition: GUIText.h:989
const CGUIObject * m_pkParentObject
The object containing (and printing) this text.
Definition: GUIText.h:1049
void SetTextColorGrayedOut(const GlobalProperty_t &eTextColorPropertyGrayedOut)
void SetTextCut(const eC_Bool bIsCut)
Definition: GUIText.h:971
void SetRequiredTextWidth(eC_Value vRequiredTextWidth)
Definition: GUIText.h:933
void SetAligned(const VerAligned_t &eVerAligned=V_TOP, const HorAligned_t &eHorAligned=H_LEFT)
void SetTextAlignmentProperty(const GlobalProperty_t &eTextAlignmentProperty)
const eC_String * GetText() const
eC_Int GetFontSize() const
void SetAlignedHorizontal(const HorAligned_t &eHorAligned=H_LEFT)
eC_Bool m_bTextIDLocalCopy
Definition: GUIText.h:1027
eC_Bool IsTextSingleLine() const
Definition: GUIText.h:632
void SetAlignedVertical(const VerAligned_t &eVerAligned=V_TOP)
virtual void PreparePrint()
virtual void FitString(ExtendedString_t &rkResultStrData, const eC_String &rkStrToAnalyse, eC_String &rkRestStr, eC_UInt &uiOffset)
void SetRelRect(const CGUIRect &kRect)
Definition: GUIText.h:527
virtual eC_Value GetPrintLineAbsXPos()
virtual eC_Value GetTextHeight() const
Definition: GUIText.h:276
FontResource_t GetFont() const
Definition: GUIText.h:251
virtual eC_Value GetPrintLineAbsXPos(const eC_Value &vWidth, const eC_Value &vHeight)
virtual eC_Value GetPrintLineAbsXPos(const eC_UInt uiLine)
static const eC_String ms_ckSingleSpace
A single space character for text size calculations.
Definition: GUIText.h:1012
eC_Bool PrepareClipRect()
HorAligned_t m_eHorAligned
Horizontal alignment.
Definition: GUIText.h:1061
eC_UInt GetTextColorPressed() const
CGUIText(const CGUIObject *const pkParentObject, const eC_String *const pkText, const eC_Value &vXPos=eC_FromInt(0), const eC_Value &vYPos=eC_FromInt(0), const eC_Bool &bSingleLine=true)
virtual eC_Value GetHorStartAbsXPos()
eC_Float m_fFontSpacing
Font spacing for the text object.
Definition: GUIText.h:1079
void SetTextColorPressed(const eC_UInt &uiTextColorPressed)
void GetTextColor(GlobalProperty_t &eTextColorStandard, GlobalProperty_t &eTextColorHighlighted, GlobalProperty_t &eTextColorGrayedOut, GlobalProperty_t &eTextColorPressed) const
eC_UInt GetTextColorStandard() const
virtual eC_Value GetRelXPos() const
Definition: GUIText.h:602
static const eC_Char XMLTAG_TEXT_COLOR_PROPERTY_FLAGS[]
XML tag to be used when writing text colors into a stream.
Definition: GUIText.h:785
eC_Float GetFontSpacing() const
Definition: GUIText.h:261
void FitHeightToContainedText()
CGUICommonEnums::Rotation_t GetRotation() const
void SetAutoSize(const eC_Bool &bAutoSize)
UIntList m_kHyphens
List of hyphen positions in the original text.
Definition: GUIText.h:1033
VerAligned_t m_eVerAligned
Vertical alignment.
Definition: GUIText.h:1064
eC_Value m_vLineSpacing
The line spacing factor.
Definition: GUIText.h:1021
static void SetHyphenString(const eC_String &kHyphen)
Definition: GUIText.h:696
void SetSpecificClipRect(const CGUIRect &kRect)
Definition: GUIText.h:727
void CreateLocalTextCopy()
virtual eC_Value GetTextWidth() const
Definition: GUIText.h:281
static const eC_Char XMLTAG_TEXTID[]
XML tag to be used when writing a text ID into a stream.
Definition: GUIText.h:782
eC_TListDoubleLinked< ExtendedString_t > ExtendedStringList_t
The extended string list is a double-linked list of extended strings.
Definition: GUIText.h:983
virtual void SetTextString(const eC_String &kTextString)
virtual void SetTextColor(const eC_UInt &uiTextColorStandard, const eC_UInt &uiTextColorHighlighted, const eC_UInt &uiTextColorGrayedOut, const eC_UInt &uiTextColorPressed)
TextResource_t m_eTextID
Definition: GUIText.h:1089
void SetContainingObject(const CGUIObject *const pkParent)
Definition: GUIText.h:377
void GetTextColor(eC_UInt &uiTextColorStandard, eC_UInt &uiTextColorHighlighted, eC_UInt &uiTextColorGrayedOut, eC_UInt &uiTextColorPressed) const
eC_Value m_vRequiredOrgTextWidth
Definition: GUIText.h:1038
static eC_String GetHyphenString()
Definition: GUIText.h:701
eC_String * m_pkText
Definition: GUIText.h:1009
eC_Bool GetAutoSize() const
virtual void SetTextWidth(const eC_Value &vTextWidth)
ExtendedStringList_t m_kListStringsExtended
List of strings to be printed, and their cached width and height.
Definition: GUIText.h:986