Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
ListboxTextItem.h
1/***********************************************************************
2 created: 12/6/2004
3 author: Paul D Turner
4
5 purpose: Interface for list box text items
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29#ifndef _CEGUIListboxTextItem_h_
30#define _CEGUIListboxTextItem_h_
31#include "./ListboxItem.h"
32#include "../BasicRenderedStringParser.h"
33#include "../DefaultRenderedStringParser.h"
34
35// Start of CEGUI namespace section
36namespace CEGUI
37{
42class CEGUIEXPORT ListboxTextItem : public ListboxItem
43{
44public:
45 /*************************************************************************
46 Constants
47 *************************************************************************/
49
50
51 /*************************************************************************
52 Construction and Destruction
53 *************************************************************************/
58 ListboxTextItem(const String& text, uint item_id = 0, void* item_data = 0, bool disabled = false, bool auto_delete = true);
59
60
65 virtual ~ListboxTextItem(void) {}
66
67
68 /*************************************************************************
69 Accessor methods
70 *************************************************************************/
81 const Font* getFont(void) const;
82
83
91 ColourRect getTextColours(void) const {return d_textCols;}
92
93
94 /*************************************************************************
95 Manipulator methods
96 *************************************************************************/
107 void setFont(Font* font);
108
109
121
122
133 void setTextColours(const ColourRect& cols) {d_textCols = cols;}
134
135
156
157
169
179 void setTextParsingEnabled(const bool enable);
180
183
184 // base class overrides
185 void setText(const String& text);
186 bool handleFontRenderSizeChange(const Font* const font);
187
188
189 /*************************************************************************
190 Required implementations of pure virtuals from the base class.
191 *************************************************************************/
192 Sizef getPixelSize(void) const;
193 void draw(GeometryBuffer& buffer, const Rectf& targetRect, float alpha, const Rectf* clipper) const;
194
195protected:
196 void parseTextString() const;
197
198 /*************************************************************************
199 Implementation Data
200 *************************************************************************/
213};
214
215} // End of CEGUI namespace section
216
217
218#endif // end of guard _CEGUIListboxTextItem_h_
Basic RenderedStringParser class that offers support for the following tags:
Definition BasicRenderedStringParser.h:65
Class that holds details of colours for the four corners of a rectangle.
Definition ColourRect.h:45
Class representing colour values within the system.
Definition Colour.h:46
Effectively a 'null' parser that returns a RenderedString representation that will draw the input tex...
Definition DefaultRenderedStringParser.h:41
Class that encapsulates a typeface.
Definition Font.h:62
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition GeometryBuffer.h:44
Base class for list box items.
Definition ListboxItem.h:53
Class used for textual items in a list box.
Definition ListboxTextItem.h:43
virtual ~ListboxTextItem(void)
base class destructor
Definition ListboxTextItem.h:65
ColourRect getTextColours(void) const
Return the current colours used for text rendering.
Definition ListboxTextItem.h:91
bool handleFontRenderSizeChange(const Font *const font)
Perform any updates needed because the given font's render size has changed.
static const Colour DefaultTextColour
Default text colour.
Definition ListboxTextItem.h:48
static BasicRenderedStringParser d_stringParser
Parser used to produce a final RenderedString from the standard String.
Definition ListboxTextItem.h:204
RenderedString d_renderedString
RenderedString drawn by this item.
Definition ListboxTextItem.h:206
void setTextColours(const ColourRect &cols)
Set the colours used for text rendering.
Definition ListboxTextItem.h:133
Sizef getPixelSize(void) const
Return the rendered pixel size of this list box item.
void draw(GeometryBuffer &buffer, const Rectf &targetRect, float alpha, const Rectf *clipper) const
Draw the list box item in its current state.
void setText(const String &text)
set the text string for this list box item.
void setFont(const String &font_name)
Set the font to be used by this ListboxTextItem.
static DefaultRenderedStringParser d_noTagsStringParser
Parser used when parsing is off. Basically just does linebreaks.
Definition ListboxTextItem.h:210
ColourRect d_textCols
Colours used for rendering the text.
Definition ListboxTextItem.h:201
void setTextParsingEnabled(const bool enable)
Set whether the the ListboxTextItem will have it's text parsed via the BasicRenderedStringParser or n...
const Font * getFont(void) const
Return a pointer to the font being used by this ListboxTextItem.
bool isTextParsingEnabled() const
return whether text parsing is enabled for this ListboxTextItem.
void setTextColours(Colour col)
Set the colours used for text rendering.
Definition ListboxTextItem.h:168
ListboxTextItem(const String &text, uint item_id=0, void *item_data=0, bool disabled=false, bool auto_delete=true)
base class constructor
Font * d_font
Definition ListboxTextItem.h:202
bool d_textParsingEnabled
boolean that specifies whether text parsing is enabled for the item.
Definition ListboxTextItem.h:212
bool d_renderedStringValid
boolean used to track when item state changes (and needs re-parse)
Definition ListboxTextItem.h:208
void setFont(Font *font)
Set the font to be used by this ListboxTextItem.
void setTextColours(Colour top_left_colour, Colour top_right_colour, Colour bottom_left_colour, Colour bottom_right_colour)
Set the colours used for text rendering.
Class representing a rendered string of entities.
Definition RenderedString.h:52
String class used within the GUI system.
Definition String.h:64
base class for properties able to do native set/get
Definition TypedProperty.h:50
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1