EekContainer

EekContainer — Base class of a keyboard container

Functions

Signals

void child-added Run First
void child-removed Run First

Types and Values

Object Hierarchy

    GObject
    ╰── EekElement
        ╰── EekContainer
            ├── EekKeyboard
            ╰── EekSection

Description

The EekContainerClass class represents a keyboard container, which shall be used to implement EekKeyboard and EekSection.

Functions

EekCallback ()

void
(*EekCallback) (EekElement *element,
                gpointer user_data);

The type of the callback function used for iterating over the children of a container, see eek_container_foreach_child().

Parameters

element

an EekElement

 

user_data

user-supplied data

 

EekCompareFunc ()

gint
(*EekCompareFunc) (EekElement *element,
                   gpointer user_data);

eek_container_add_child ()

void
eek_container_add_child (EekContainer *container,
                         EekElement *element);

eek_container_find ()

EekElement *
eek_container_find (EekContainer *container,
                    EekCompareFunc func,
                    gpointer user_data);

Find a child which matches the criteria supplied as func , in container .

Parameters

container

an EekContainer

 

func

function to be used to compare two children

 

user_data

additional data passed to func

 

Returns

an EekElement or NULL on failure


eek_container_foreach_child ()

void
eek_container_foreach_child (EekContainer *container,
                             EekCallback callback,
                             gpointer user_data);

Enumerate children of container and run callback with each child.

Parameters

container

an EekContainer

 

callback

an EekCallback.

[scope call]

user_data

additional data passed to callback

 

Types and Values

EekContainer

typedef struct _EekContainer EekContainer;

struct EekContainerClass

struct EekContainerClass {
    void        (* foreach_child)  (EekContainer      *self,
                                    EekCallback        callback,
                                    gpointer           user_data);
    EekElement *(* find)           (EekContainer      *self,
                                    EekCompareFunc     func,
                                    gpointer           data);

    /* signals */
    void        (* child_added)    (EekContainer      *self,
                                    EekElement        *element);
    void        (* child_removed)  (EekContainer      *self,
                                    EekElement        *element);
};

Members

foreach_child ()

virtual function for iterating over the container's children

 

find ()

virtual function for looking up a child

 

child_added ()

class handler for “child-added”

 

child_removed ()

class handler for “child-added”

 

Signal Details

The “child-added” signal

void
user_function (EekContainer *container,
               EekElement   *element,
               gpointer      user_data)

The ::child-added signal is emitted each time an element is added to container .

Parameters

container

an EekContainer

 

element

an EekElement

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First


The “child-removed” signal

void
user_function (EekContainer *container,
               EekElement   *element,
               gpointer      user_data)

The ::child-removed signal is emitted each time an element is removed from container .

Parameters

container

an EekContainer

 

element

an EekElement

 

user_data

user data set when the signal handler was connected.

 

Flags: Run First