Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

EditBox Class Reference

#include <editbox.h>

Inheritance diagram for EditBox:

Inheritance graph
[legend]
Collaboration diagram for EditBox:

Collaboration graph
[legend]
List of all members.

Detailed Description

Textbox with borders and input processing.

Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  BORDERAREA
 Defines for the available areas.

enum  HITTESTRESULT { OUTSIDE, INSIDE, EDGE }
 Identifiers for hit test result. More...


Public Member Functions

 EditBox (Object *pkParent, EditBox *pkObject=0, bool bCreateAreas=true)
virtual ~EditBox ()
virtual bool Render (NeoEngine::Frustum *pkFrustum=0, bool bForce=false)
virtual void Update (float fDeltaTime)
virtual unsigned int ProcessMsg (Msg *pkMsg)
virtual ObjectDuplicate (Object *pkParent=0, Object *pkObject=0)
virtual const CoordSetSize (const Coord &rkSize)
virtual void SetMaterial (const NeoEngine::MaterialPtr &pkMat)
virtual AreaGetArea (BORDERAREA eArea)
virtual void RecalcAreas ()
virtual void SetCenterArea (Area *pkCenter)
virtual const CoordSetPosition (const Coord &rkPos)
const CoordGetPosition () const
const CoordGetWorldPosition ()
const CoordGetSize () const
virtual void SetName (const NeoEngine::HashString &rstrName)
virtual const NeoEngine::HashString & GetName () const
virtual void SetAttribute (const AttributeBase &rkAttribute)
unsigned int GetID () const
virtual ObjectGetParent ()
virtual ObjectGetRoot ()
virtual ObjectGetObject (const std::string &rstrName)
virtual const std::vector<
Object * > & 
GetChildObjects () const
virtual void AttachObject (Object *pkObject)
virtual void DetachObject (Object *pkObject)
virtual void AttachToObject (Object *pkParent)
virtual void AddHook (MsgHook *pkMsgHook)
virtual void RemoveHook (MsgHook *pkMsgHook)
virtual void Input (const NeoEngine::InputEvent *pkEvent)
HITTESTRESULT HitTest (const Coord &rkCoord)

Protected Member Functions

void UpdateWorldCache (bool bRecurse=true)

Protected Attributes

TextAream_pkTextArea
Objectm_pkCursor
bool m_bInputFocus
float m_fCursorBlinkTime
NeoEngine::MaterialPtr m_pkMaterial
unsigned int m_uiID
Objectm_pkParent
std::vector< Object * > m_vpkChildren
Coord m_kPos
Coord m_kWorldPos
Coord m_kSize
NeoEngine::HashString m_strName
std::vector< MsgHook * > m_vpkMsgHook
HITTESTRESULT m_eLastMouse


Member Enumeration Documentation

enum HITTESTRESULT [inherited]
 

Identifiers for hit test result.

Enumeration values:
OUTSIDE  Coordinate was outside area
INSIDE  Coordinate was inside area
EDGE  Coordinate was on edge of area


Constructor & Destructor Documentation

EditBox Object pkParent,
EditBox pkObject = 0,
bool  bCreateAreas = true
 

Parameters:
pkParent Parent object
pkObject Reference object to copy values from
bCreateAreas Create child areas if true

virtual ~EditBox  )  [virtual]
 


Member Function Documentation

virtual bool Render NeoEngine::Frustum *  pkFrustum = 0,
bool  bForce = false
[virtual]
 

Render object, recurses on children

Parameters:
pkFrustum Currently ignored
bForce Force rendering
Returns:
true if rendered, false if not

Reimplemented from BorderArea.

virtual void Update float  fDeltaTime  )  [virtual]
 

Update object

Parameters:
fDeltaTime Deltatime passed since last update

Reimplemented from Object.

virtual unsigned int ProcessMsg Msg pkMsg  )  [virtual]
 

Process message

Parameters:
pkMsg Message object
Returns:
Message specific return code, 0 indicates message was unprocessed

Reimplemented from Object.

virtual Object* Duplicate Object pkParent = 0,
Object pkObject = 0
[virtual]
 

Duplicate and/or copy this object

Parameters:
pkParent Parent object to attach to
pkObject Object to copy data into, if null will allocate new object
Returns:
New object that is duplicate of this object

Reimplemented from BorderArea.

virtual const Coord& SetSize const Coord rkSize  )  [virtual, inherited]
 

Set size and recalculate areas

Parameters:
rkSize Size
Returns:
New size

Reimplemented from Object.

virtual void SetMaterial const NeoEngine::MaterialPtr &  pkMat  )  [virtual, inherited]
 

Set material

Parameters:
pkMat Material to use for corners and borders

virtual Area* GetArea BORDERAREA  eArea  )  [virtual, inherited]
 

Parameters:
eArea Area ID
Returns:
Area object

virtual void RecalcAreas  )  [virtual, inherited]
 

Recalculate position and sizes of subobjects. Call this method if you manually change size of position of any subobject. Corners and borders positions and sizes are determined from the sizes of the topleft and bottomright corners.

virtual void SetCenterArea Area pkCenter  )  [virtual, inherited]
 

Set center area object. This will delete previous area object

Parameters:
pkCenter New center area

void UpdateWorldCache bool  bRecurse = true  )  [protected, inherited]
 

Update world cache position and recurse on children if flag set

Parameters:
bRecurse Recursion flag

virtual const Coord& SetPosition const Coord rkPos  )  [virtual, inherited]
 

Set position relative parent

Parameters:
rkPos Position
Returns:
New relative position

const Coord& GetPosition  )  const [inherited]
 

Returns:
Position relative parent

const Coord& GetWorldPosition  )  [inherited]
 

Returns:
World position

const Coord& GetSize  )  const [inherited]
 

Returns:
Size

virtual void SetName const NeoEngine::HashString &  rstrName  )  [virtual, inherited]
 

Parameters:
rstrName New name

virtual const NeoEngine::HashString& GetName  )  const [virtual, inherited]
 

Returns:
Name

virtual void SetAttribute const AttributeBase rkAttribute  )  [virtual, inherited]
 

Set an attribute

Parameters:
rkAttribute Attribute

Reimplemented in TextArea.

unsigned int GetID  )  const [inline, inherited]
 

Returns:
Object ID

virtual Object* GetParent  )  [virtual, inherited]
 

Returns:
Parent object

virtual Object* GetRoot  )  [virtual, inherited]
 

Returns:
Root object

virtual Object* GetObject const std::string &  rstrName  )  [virtual, inherited]
 

Search for a child object by name ("parent" for parent object, "root" for root object)

Parameters:
rstrName Name of object
Returns:
Matching child object, null if not found

virtual const std::vector< Object* >& GetChildObjects  )  const [virtual, inherited]
 

Get all child objects (no recursion)

Returns:
Vector with child objects

virtual void AttachObject Object pkObject  )  [virtual, inherited]
 

Attach window object

Parameters:
pkObject Object

virtual void DetachObject Object pkObject  )  [virtual, inherited]
 

Detach window object

Parameters:
pkObject Object

virtual void AttachToObject Object pkParent  )  [virtual, inherited]
 

Attach this object to new parent

Parameters:
pkParent Parent object

virtual void AddHook MsgHook pkMsgHook  )  [virtual, inherited]
 

Add a message hook object (hook object will be freed in dtor)

Parameters:
pkMsgHook Message hook object

virtual void RemoveHook MsgHook pkMsgHook  )  [virtual, inherited]
 

Remove a message hook object (you must now free the hook object yourself)

Parameters:
pkMsgHook Message hook object

virtual void Input const NeoEngine::InputEvent *  pkEvent  )  [virtual, inherited]
 

Process input

Parameters:
pkEvent Event

HITTESTRESULT HitTest const Coord rkCoord  )  [inherited]
 

Test if coordinate is inside, on edge or outside object area

Parameters:
rkCoord Coordinate to test
Returns:
Hit test identifier


Member Data Documentation

TextArea* m_pkTextArea [protected]
 

Textarea object

Object* m_pkCursor [protected]
 

Cursor object

bool m_bInputFocus [protected]
 

Input focus flag

float m_fCursorBlinkTime [protected]
 

Cursor blink time

NeoEngine::MaterialPtr m_pkMaterial [protected, inherited]
 

Material for corners and borders

unsigned int m_uiID [protected, inherited]
 

Unique ID

Object* m_pkParent [protected, inherited]
 

Parent object

std::vector< Object* > m_vpkChildren [protected, inherited]
 

Children

Coord m_kPos [protected, inherited]
 

Position relative parent

Coord m_kWorldPos [protected, inherited]
 

World position

Coord m_kSize [protected, inherited]
 

Size

NeoEngine::HashString m_strName [protected, inherited]
 

Name

std::vector< MsgHook* > m_vpkMsgHook [protected, inherited]
 

Hooked message actions

HITTESTRESULT m_eLastMouse [protected, inherited]
 

Result of last mouse hit test


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:20 2004 for NeoWTK by doxygen 1.3.5