API reference - Class RdbItem

Notation used in Ruby API documentation

Description: An item inside the report database

An item is the basic information entity in the RDB. It is associated with a cell and a category. It can be assigned values which encapsulate other objects such as strings and geometrical objects. In addition, items can be assigned an image (i.e. a screenshot image) and tags which are basically boolean flags that can be defined freely.

Public constructors

new RdbItem ptrnewCreates a new object of this class

Public methods

void_createEnsures the C++ object is created
void_destroyExplicitly destroys the object
[const]bool_destroyed?Returns a value indicating whether the object was already destroyed
[const]bool_is_const_object?Returns a value indicating whether the reference is a const reference
void_manageMarks the object as managed by the script side.
void_unmanageMarks the object as no longer owned by the script side.
voidadd_tag(unsigned long tag_id)Adds a tag with the given id to the item
voidadd_value(const RdbItemValue value)Adds a value object to the values of this item
[const]unsigned longcategory_idGets the category ID
[const]unsigned longcell_idGets the cell ID
voidclear_valuesRemoves all values from this item
[const]const ReportDatabase ptrdatabaseGets the database object that item is associated with
[const,iter]RdbItemValueeach_valueIterates over all values
[const]boolhas_tag?(unsigned long tag_id)Returns a value indicating whether the item has a tag with the given ID
[const]stringimage_strGets the image associated with this item as a string
voidimage_str=(string image)Sets the image from a string
[const]boolis_visited?Gets a value indicating whether the item was already visited
voidremove_tag(unsigned long tag_id)Remove the tag with the given id from the item
[const]stringtags_strReturns a string listing all tags of this item
voidtags_str=(string tags)Sets the tags from a string

Deprecated methods (protected, public, static, non-static and constructors)

voidcreateUse of this method is deprecated. Use _create instead
voiddestroyUse of this method is deprecated. Use _destroy instead
[const]booldestroyed?Use of this method is deprecated. Use _destroyed? instead
[const]boolis_const_object?Use of this method is deprecated. Use _is_const_object? instead

Detailed description

void _create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

void _destroy

Description: Explicitly destroys the object

Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing.

[const] bool _destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

[const] bool _is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

void _manage

Description: Marks the object as managed by the script side.

After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required.

Usually it's not required to call this method. It has been introduced in version 0.24.

void _unmanage

Description: Marks the object as no longer owned by the script side.

Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur.

Usually it's not required to call this method. It has been introduced in version 0.24.

void add_tag(unsigned long tag_id)

Description: Adds a tag with the given id to the item

Each tag can be added once to the item. The tags of an item thus form a set. If a tag with that ID already exists, this method does nothing.

void add_value(const RdbItemValue value)

Description: Adds a value object to the values of this item

value:The value to add.

[const] unsigned long category_id

Description: Gets the category ID

Returns:The category ID

Returns the ID of the category that this item is associated with.

[const] unsigned long cell_id

Description: Gets the cell ID

Returns:The cell ID

Returns the ID of the cell that this item is associated with.

void clear_values

Description: Removes all values from this item

void create

Description: Ensures the C++ object is created

Use of this method is deprecated. Use _create instead

[const] const ReportDatabase ptr database

Description: Gets the database object that item is associated with

This method has been introduced in version 0.23.

void destroy

Description: Explicitly destroys the object

Use of this method is deprecated. Use _destroy instead

[const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

Use of this method is deprecated. Use _destroyed? instead

[const,iter] RdbItemValue each_value

Description: Iterates over all values

[const] bool has_tag?(unsigned long tag_id)

Description: Returns a value indicating whether the item has a tag with the given ID

Returns:True, if the item has a tag with the given ID

[const] string image_str

Description: Gets the image associated with this item as a string

Returns:A base64-encoded image file (usually in PNG format)

Python specific notes:

The object exposes a readable attribute 'image_str'. This is the getter.

void image_str=(string image)

Description: Sets the image from a string

image:A base64-encoded image file (preferably in PNG format)

Python specific notes:

The object exposes a writable attribute 'image_str'. This is the setter.

[const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

Use of this method is deprecated. Use _is_const_object? instead

[const] bool is_visited?

Description: Gets a value indicating whether the item was already visited

Returns:True, if the item has been visited already

[static] new RdbItem ptr new

Description: Creates a new object of this class

Python specific notes:

This method is the default initializer of the object

void remove_tag(unsigned long tag_id)

Description: Remove the tag with the given id from the item

If a tag with that ID does not exists on this item, this method does nothing.

[const] string tags_str

Description: Returns a string listing all tags of this item

Returns:A comma-separated list of tags

Python specific notes:

The object exposes a readable attribute 'tags_str'. This is the getter.

void tags_str=(string tags)

Description: Sets the tags from a string

tags:A comma-separated list of tags

Python specific notes:

The object exposes a writable attribute 'tags_str'. This is the setter.