Kanzi Graphics Engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
kzu_object_generator.h File Reference

Defines interface for Object Generators that provide virtual items for ListBox. More...

Data Structures

struct  KzuObjectGeneratorListInterface
 Optional list interface for Object Generator. More...
 
struct  KzuObjectGeneratorInterface
 Main virtual interface of Object Generator. More...
 
struct  KzuObjectGenerator
 Base class for object generators that create and govern virtual items as needed. More...
 

Typedefs

typedef kzsError(* KzuObjectGeneratorListGetCountFunction )(struct KzuObjectGenerator *generator, kzUint *out_count)
 Function type to return the number of objects controlled by the list interface. More...
 
typedef kzsError(* KzuObjectGeneratorListGetObjectFunction )(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)
 Function type to get the object at the given index of the list. More...
 
typedef kzsError(* KzuObjectGeneratorListFindIndexFunction )(struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzBool *out_found, kzUint *out_index)
 Function type to find index of the given object in the list. More...
 
typedef kzsError(* KzuObjectGeneratorListInsertObjectFunction )(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)
 Function type to insert an object at the given index. More...
 
typedef kzsError(* KzuObjectGeneratorListRemoveObjectFunction )(struct KzuObjectGenerator *generator, kzUint index)
 Function type to remove an object at the given index from the object generator's list. More...
 
typedef kzsError(* KzuObjectGeneratorListReplaceObjectFunction )(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)
 Function type to replace the object at the given index in the object generator's list. More...
 
typedef kzsError(* KzuObjectGeneratorInitializeFunction )(struct KzuObjectGenerator *generator)
 Function type to initialize the Object Generator. More...
 
typedef kzsError(* KzuObjectGeneratorUninitializeFunction )(struct KzuObjectGenerator *generator)
 Function type to uninitialize the Object Generator. More...
 
typedef kzsError(* KzuObjectGeneratorAttachFunction )(struct KzuObjectGenerator *generator)
 Function type to attach the Object Generator. More...
 
typedef kzsError(* KzuObjectGeneratorDetachFunction )(struct KzuObjectGenerator *generator)
 Function type to detach the Object Generator. More...
 
typedef kzsError(* KzuObjectGeneratorGetObjectFunction )(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)
 Function type to get an object that should be displayed. More...
 
typedef kzsError(* KzuObjectGeneratorFreeObjectFunction )(struct KzuObjectGenerator *generator, struct KzuObjectNode *object)
 Function type to free an object. More...
 
typedef kzsError(* KzuObjectGeneratorGetObjectIndexFunction )(struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzInt *out_index)
 Function type to get index of an object. More...
 
typedef kzsError(* KzuObjectGeneratorGetObjectSizeFunction )(struct KzuObjectGenerator *generator, kzUint index, struct KzcVector3 *out_size)
 Function type to get exact size of the object. More...
 
typedef kzsError(* KzuObjectGeneratorGetCountFunction )(struct KzuObjectGenerator *generator, kzUint *out_count)
 Function type to get the number of objects known by the object generator. More...
 
typedef kzsError(* KzuObjectGeneratorItemReplacedFunction )(struct KzuObjectNode *listBox, kzUint index)
 Function type to notify list box about a replaced item. More...
 
typedef kzsError(* KzuObjectGeneratorItemRemovedFunction )(struct KzuObjectNode *listBox, kzUint index)
 Function type to notify list box about a removed item. More...
 
typedef kzsError(* KzuObjectGeneratorItemAddedFunction )(struct KzuObjectNode *listBox, kzUint index)
 Function type to notify list box about an added item. More...
 

Functions

void kzuObjectGeneratorBindListBox (struct KzuObjectGenerator *generator, struct KzuObjectNode *listBox)
 Assigns a list box to the object generator. More...
 
kzsError kzuObjectGeneratorCreate_protected (const struct KzcMemoryManager *memoryManager, struct KzuUIDomain *uiDomain, const struct KzuObjectGeneratorInterface *interface, struct KzuObjectGenerator *generator)
 Object generator's base constructor. More...
 
struct KzuObjectNodekzuObjectGeneratorGetListBox_protected (const struct KzuObjectGenerator *generator)
 Gets the list box assigned to the object generator. More...
 
struct KzuUIDomainkzuObjectGeneratorGetUIDomain_protected (const struct KzuObjectGenerator *generator)
 Gets the project assigned to the object generator. More...
 
struct KzcMemoryManagerkzuObjectGeneratorGetMemoryManager_protected (const struct KzuObjectGenerator *generator)
 Gets the memory manager used by the object generator. More...
 
kzsError kzuObjectGeneratorDelete (struct KzuObjectGenerator *generator)
 Destroys object generator. More...
 
kzsError kzuObjectGeneratorInitialize (struct KzuObjectGenerator *generator)
 Initializes the Object Generator. More...
 
kzsError kzuObjectGeneratorUninitialize (struct KzuObjectGenerator *generator)
 Uninitializes the Object Generator. More...
 
kzsError kzuObjectGeneratorAttach (struct KzuObjectGenerator *generator)
 Attaches the Object Generator. More...
 
kzsError kzuObjectGeneratorDetach (struct KzuObjectGenerator *generator)
 Detaches the Object Generator. More...
 
kzsError kzuObjectGeneratorGetObject (struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)
 Returns an object that should be displayed at the given index. More...
 
kzsError kzuObjectGeneratorFreeObject (struct KzuObjectGenerator *generator, struct KzuObjectNode *object)
 Frees an object that has been returned from getObject. More...
 
kzsError kzuObjectGeneratorGetObjectIndex (struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzInt *out_index)
 Gets index of an object that has been returned from getObject, or KZU_UI_LIST_BOX_NO_ITEM if the object does not exist. More...
 
kzsError kzuObjectGeneratorGetObjectSize (struct KzuObjectGenerator *generator, kzUint index, struct KzcVector3 *out_size)
 Gets size of the object that should be displayed at the given index. More...
 
kzsError kzuObjectGeneratorGetCount (struct KzuObjectGenerator *generator, kzUint *out_count)
 Returns number of virtual items. More...
 
kzBool kzuObjectGeneratorImplementsListInterface (const struct KzuObjectGenerator *generator)
 Returns KZ_TRUE if the object generator implements the list interface. More...
 
kzsError kzuObjectGeneratorListGetCount (struct KzuObjectGenerator *generator, kzUint *out_count)
 Gets the number of objects in the object generator's object list. More...
 
kzsError kzuObjectGeneratorListGetObject (struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)
 Gets the object at the given index in object generator's object list. More...
 
kzsError kzuObjectGeneratorListFindIndex (struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzBool *out_found, kzUint *out_index)
 Finds index of the given object in object generator's object list. More...
 
kzsError kzuObjectGeneratorListInsertObject (struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)
 Inserts an object at the given index in object generator's object list. More...
 
kzsError kzuObjectGeneratorListRemoveObject (struct KzuObjectGenerator *generator, kzUint index)
 Removes an object at the given index from the object generator's object list. More...
 
kzsError kzuObjectGeneratorListReplaceObject (struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)
 Replaces the object at the given index from the object generator's object list with the given object. More...
 
kzsError kzuObjectGeneratorListAddObject (struct KzuObjectGenerator *generator, struct KzuObjectNode *object)
 Adds an object at end of the object generator's object list. More...
 
kzsError kzuObjectGeneratorListRemoveLastObject (struct KzuObjectGenerator *generator)
 Removes the last object in the object generator's object list. More...
 
kzsError kzuObjectGeneratorListIsEmpty (struct KzuObjectGenerator *generator, kzBool *out_empty)
 Gets whether the object generator's object list is empty. More...
 

Variables

struct
KzuObjectGeneratorListInterface 
KZU_OBJECT_GENERATOR_NO_LIST_INTERFACE
 Defines empty list interface. More...
 

Detailed Description

Defines interface for Object Generators that provide virtual items for ListBox.

Copyright 2008-2019 by Rightware. All rights reserved.

Typedef Documentation

typedef kzsError(* KzuObjectGeneratorListGetCountFunction)(struct KzuObjectGenerator *generator, kzUint *out_count)

Function type to return the number of objects controlled by the list interface.

typedef kzsError(* KzuObjectGeneratorListGetObjectFunction)(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)

Function type to get the object at the given index of the list.

typedef kzsError(* KzuObjectGeneratorListFindIndexFunction)(struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzBool *out_found, kzUint *out_index)

Function type to find index of the given object in the list.

typedef kzsError(* KzuObjectGeneratorListInsertObjectFunction)(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)

Function type to insert an object at the given index.

typedef kzsError(* KzuObjectGeneratorListRemoveObjectFunction)(struct KzuObjectGenerator *generator, kzUint index)

Function type to remove an object at the given index from the object generator's list.

typedef kzsError(* KzuObjectGeneratorListReplaceObjectFunction)(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode *object)

Function type to replace the object at the given index in the object generator's list.

typedef kzsError(* KzuObjectGeneratorInitializeFunction)(struct KzuObjectGenerator *generator)

Function type to initialize the Object Generator.

typedef kzsError(* KzuObjectGeneratorUninitializeFunction)(struct KzuObjectGenerator *generator)

Function type to uninitialize the Object Generator.

typedef kzsError(* KzuObjectGeneratorAttachFunction)(struct KzuObjectGenerator *generator)

Function type to attach the Object Generator.

typedef kzsError(* KzuObjectGeneratorDetachFunction)(struct KzuObjectGenerator *generator)

Function type to detach the Object Generator.

typedef kzsError(* KzuObjectGeneratorGetObjectFunction)(struct KzuObjectGenerator *generator, kzUint index, struct KzuObjectNode **out_object)

Function type to get an object that should be displayed.

typedef kzsError(* KzuObjectGeneratorFreeObjectFunction)(struct KzuObjectGenerator *generator, struct KzuObjectNode *object)

Function type to free an object.

typedef kzsError(* KzuObjectGeneratorGetObjectIndexFunction)(struct KzuObjectGenerator *generator, struct KzuObjectNode *object, kzInt *out_index)

Function type to get index of an object.

typedef kzsError(* KzuObjectGeneratorGetObjectSizeFunction)(struct KzuObjectGenerator *generator, kzUint index, struct KzcVector3 *out_size)

Function type to get exact size of the object.

typedef kzsError(* KzuObjectGeneratorGetCountFunction)(struct KzuObjectGenerator *generator, kzUint *out_count)

Function type to get the number of objects known by the object generator.

typedef kzsError(* KzuObjectGeneratorItemReplacedFunction)(struct KzuObjectNode *listBox, kzUint index)

Function type to notify list box about a replaced item.

typedef kzsError(* KzuObjectGeneratorItemRemovedFunction)(struct KzuObjectNode *listBox, kzUint index)

Function type to notify list box about a removed item.

typedef kzsError(* KzuObjectGeneratorItemAddedFunction)(struct KzuObjectNode *listBox, kzUint index)

Function type to notify list box about an added item.

Function Documentation

void kzuObjectGeneratorBindListBox ( struct KzuObjectGenerator generator,
struct KzuObjectNode listBox 
)

Assigns a list box to the object generator.

kzsError kzuObjectGeneratorCreate_protected ( const struct KzcMemoryManager memoryManager,
struct KzuUIDomain uiDomain,
const struct KzuObjectGeneratorInterface interface,
struct KzuObjectGenerator generator 
)

Object generator's base constructor.

struct KzuObjectNode* kzuObjectGeneratorGetListBox_protected ( const struct KzuObjectGenerator generator)

Gets the list box assigned to the object generator.

struct KzuUIDomain* kzuObjectGeneratorGetUIDomain_protected ( const struct KzuObjectGenerator generator)

Gets the project assigned to the object generator.

struct KzcMemoryManager* kzuObjectGeneratorGetMemoryManager_protected ( const struct KzuObjectGenerator generator)

Gets the memory manager used by the object generator.

kzsError kzuObjectGeneratorDelete ( struct KzuObjectGenerator generator)

Destroys object generator.

kzsError kzuObjectGeneratorInitialize ( struct KzuObjectGenerator generator)

Initializes the Object Generator.

kzsError kzuObjectGeneratorUninitialize ( struct KzuObjectGenerator generator)

Uninitializes the Object Generator.

kzsError kzuObjectGeneratorAttach ( struct KzuObjectGenerator generator)

Attaches the Object Generator.

kzsError kzuObjectGeneratorDetach ( struct KzuObjectGenerator generator)

Detaches the Object Generator.

kzsError kzuObjectGeneratorGetObject ( struct KzuObjectGenerator generator,
kzUint  index,
struct KzuObjectNode **  out_object 
)

Returns an object that should be displayed at the given index.

If the object has already been created and not freed afterwards, returns the object from cache.

kzsError kzuObjectGeneratorFreeObject ( struct KzuObjectGenerator generator,
struct KzuObjectNode object 
)

Frees an object that has been returned from getObject.

kzsError kzuObjectGeneratorGetObjectIndex ( struct KzuObjectGenerator generator,
struct KzuObjectNode object,
kzInt out_index 
)

Gets index of an object that has been returned from getObject, or KZU_UI_LIST_BOX_NO_ITEM if the object does not exist.

kzsError kzuObjectGeneratorGetObjectSize ( struct KzuObjectGenerator generator,
kzUint  index,
struct KzcVector3 out_size 
)

Gets size of the object that should be displayed at the given index.

kzsError kzuObjectGeneratorGetCount ( struct KzuObjectGenerator generator,
kzUint out_count 
)

Returns number of virtual items.

kzBool kzuObjectGeneratorImplementsListInterface ( const struct KzuObjectGenerator generator)

Returns KZ_TRUE if the object generator implements the list interface.

Functions starting with kzuObjectGeneratorList can only be called if this function returns KZ_TRUE.

kzsError kzuObjectGeneratorListGetCount ( struct KzuObjectGenerator generator,
kzUint out_count 
)

Gets the number of objects in the object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListGetObject ( struct KzuObjectGenerator generator,
kzUint  index,
struct KzuObjectNode **  out_object 
)

Gets the object at the given index in object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListFindIndex ( struct KzuObjectGenerator generator,
struct KzuObjectNode object,
kzBool out_found,
kzUint out_index 
)

Finds index of the given object in object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListInsertObject ( struct KzuObjectGenerator generator,
kzUint  index,
struct KzuObjectNode object 
)

Inserts an object at the given index in object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListRemoveObject ( struct KzuObjectGenerator generator,
kzUint  index 
)

Removes an object at the given index from the object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListReplaceObject ( struct KzuObjectGenerator generator,
kzUint  index,
struct KzuObjectNode object 
)

Replaces the object at the given index from the object generator's object list with the given object.

Not all object generators support this.

kzsError kzuObjectGeneratorListAddObject ( struct KzuObjectGenerator generator,
struct KzuObjectNode object 
)

Adds an object at end of the object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListRemoveLastObject ( struct KzuObjectGenerator generator)

Removes the last object in the object generator's object list.

Not all object generators support this.

kzsError kzuObjectGeneratorListIsEmpty ( struct KzuObjectGenerator generator,
kzBool out_empty 
)

Gets whether the object generator's object list is empty.

Not all object generators support this.

Variable Documentation

struct KzuObjectGeneratorListInterface KZU_OBJECT_GENERATOR_NO_LIST_INTERFACE

Defines empty list interface.