In this example we add four labels to a homogeneous table that has a padding of 5px between cells.

The interesting bits from this example are:

  • Where we set the table as homogeneous and the padding:
    elm_table_padding_set(table, 5, 5);
    elm_table_homogeneous_set(table, EINA_TRUE);
    #define EINA_TRUE
    boolean value TRUE (numerical value 1)
    Definition: eina_types.h:539
  • Where we add each label to the table:
    elm_table_pack(table, label, 0, 0, 1, 1);
    elm_table_pack(table, label, 1, 0, 1, 1);
    elm_table_pack(table, label, 0, 1, 1, 1);
    elm_table_pack(table, label, 1, 1, 1, 1);
    Here you can see the full source:
    //Compile with:
    //gcc -g table_example_01.c -o table_example_01 `pkg-config --cflags --libs elementary`
    #include <Elementary.h>
    EAPI_MAIN int
    elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
    {
    Evas_Object *win, *label, *table;
    win = elm_win_util_standard_add("table", "Table");
    table = elm_table_add(win);
    elm_table_padding_set(table, 5, 5);
    elm_table_homogeneous_set(table, EINA_TRUE);
    label = elm_label_add(win);
    elm_object_text_set(label, "label 0");
    elm_table_pack(table, label, 0, 0, 1, 1);
    label = elm_label_add(win);
    elm_object_text_set(label, "label 1");
    elm_table_pack(table, label, 1, 0, 1, 1);
    label = elm_label_add(win);
    elm_object_text_set(label, "label 2");
    elm_table_pack(table, label, 0, 1, 1, 1);
    label = elm_label_add(win);
    elm_object_text_set(label, "label 3");
    elm_table_pack(table, label, 1, 1, 1, 1);
    return 0;
    }
    #define EINA_UNUSED
    Used to indicate that a function parameter is purposely unused.
    Definition: eina_types.h:339
    #define ELM_MAIN()
    macro to be used after the elm_main() function
    Definition: elm_general.h:528
    Eina_Bool elm_policy_set(unsigned int policy, int value)
    Set a new policy's value (for a given policy group/identifier).
    Definition: elm_main.c:1385
    void elm_run(void)
    Run Elementary's main loop.
    Definition: elm_main.c:1362
    @ ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
    quit when the application's last window is closed
    Definition: elm_general.h:248
    @ ELM_POLICY_QUIT
    under which circumstances the application should quit automatically.
    Definition: elm_general.h:227
    Evas_Object * elm_label_add(Evas_Object *parent)
    Add a new label to the parent.
    Definition: elm_label.c:421
    Evas_Object * elm_table_add(Evas_Object *parent)
    Add a new table to the parent.
    Definition: elm_table.c:134
    void elm_win_resize_object_add(Eo *obj, Evas_Object *subobj)
    Add subobj as a resize object of window obj.
    Definition: efl_ui_win.c:8992
    void elm_win_autodel_set(Eo *obj, Eina_Bool autodel)
    Set the window's autodel state.
    Definition: efl_ui_win.c:6188
    Evas_Object * elm_win_util_standard_add(const char *name, const char *title)
    Adds a window object with standard setup.
    Definition: efl_ui_win.c:9576
    void evas_object_show(Evas_Object *eo_obj)
    Makes the given Evas object visible.
    Definition: evas_object_main.c:1814
    Efl_Canvas_Object Evas_Object
    An Evas Object handle.
    Definition: Evas_Common.h:180

Our example will look like this: