コード例 #1
0
ファイル: elm_container.c プロジェクト: wjhendr/enlightenment
#include <Elementary.h>
#include "elm_priv.h"
#include "elm_widget_container.h"

EAPI Eo_Op ELM_OBJ_CONTAINER_BASE_ID = EO_NOOP;

#define MY_CLASS ELM_OBJ_CONTAINER_CLASS

#define MY_CLASS_NAME "elm_container"

static const Eo_Op_Description op_desc[] = {
     EO_OP_DESCRIPTION(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_SET, "Set the content on part of a given container widget."),
     EO_OP_DESCRIPTION(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_GET, "Get the content on a part of a given container widget"),
     EO_OP_DESCRIPTION(ELM_OBJ_CONTAINER_SUB_ID_CONTENT_UNSET, "Unset the content on a part of a given container widget"),
     EO_OP_DESCRIPTION_SENTINEL
};

static const Eo_Class_Description class_desc = {
     EO_VERSION,
     MY_CLASS_NAME,
     EO_CLASS_TYPE_REGULAR,
     EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_CONTAINER_BASE_ID, op_desc, ELM_OBJ_CONTAINER_SUB_ID_LAST),
     NULL,
     0,
     NULL,
     NULL
};

EO_DEFINE_CLASS(elm_obj_container_class_get, &class_desc, ELM_OBJ_WIDGET_CLASS, NULL);

コード例 #2
0
ファイル: interface_interface.c プロジェクト: jigpu/efl
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#include "Eo.h"
#include "interface_interface.h"
#include "interface_simple.h"

EAPI Eo_Op INTERFACE_BASE_ID = 0;

#define MY_CLASS INTERFACE_CLASS

static const Eo_Op_Description op_desc[] = {
     EO_OP_DESCRIPTION(INTERFACE_SUB_ID_AB_SUM_GET, "Get the sum of a and b."),
     EO_OP_DESCRIPTION_SENTINEL
};

static const Eo_Class_Description class_desc = {
     EO_VERSION,
     "Interface",
     EO_CLASS_TYPE_INTERFACE,
     EO_CLASS_DESCRIPTION_OPS(&INTERFACE_BASE_ID, op_desc, INTERFACE_SUB_ID_LAST),
     NULL,
     0,
     NULL,
     NULL
};

EO_DEFINE_CLASS(interface_class_get, &class_desc, NULL, NULL)

コード例 #3
0
ファイル: simple_interface.c プロジェクト: tguillem/efl
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif

#include "Eo.h"
#include "simple_interface.h"

#define MY_CLASS INTERFACE_CLASS

EAPI EO_FUNC_BODY(interface_a_power_3_get, int, 0);

static Eo_Op_Description op_desc[] = {
     EO_OP_FUNC(interface_a_power_3_get, NULL),
};

static const Eo_Class_Description class_desc = {
     EO_VERSION,
     "Interface",
     EO_CLASS_TYPE_INTERFACE,
     EO_CLASS_DESCRIPTION_OPS(op_desc),
     NULL,
     0,
     NULL,
     NULL
};

EO_DEFINE_CLASS(interface_class_get, &class_desc, NULL, NULL)

コード例 #4
0
ファイル: interface.eo.c プロジェクト: lucinama/Enlightenment
EAPI EO_FUNC_BODY(interface_mxy_get, int, 0);

static Eo_Op_Description _interface_op_desc[] = {
     EO_OP_FUNC(interface_mxy_get, NULL, "Gets property MXY = X*Y"),
     EO_OP_SENTINEL
};

static const Eo_Class_Description _interface_class_desc = {
     EO_VERSION,
     "Interface",
     EO_CLASS_TYPE_INTERFACE,
     EO_CLASS_DESCRIPTION_OPS(_interface_op_desc),
     NULL,
     0,
     NULL,
     NULL
};

EO_DEFINE_CLASS(interface_class_get, &_interface_class_desc, NULL, NULL);
コード例 #5
0
ファイル: simple4.c プロジェクト: wargio/e17
#include "Eo.h"
#include "mixin.h"
#include "simple.h"
#include "simple4.h"

#define MY_CLASS SIMPLE4_CLASS

static const Eo_Class_Description class_desc = {
     "Simple4",
     EO_CLASS_TYPE_REGULAR,
     EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
     NULL,
     0,
     NULL,
     NULL,
     NULL,
     NULL
};

EO_DEFINE_CLASS(simple4_class_get, &class_desc, SIMPLE_CLASS, MIXIN_CLASS, NULL);

コード例 #6
0
ファイル: simple.c プロジェクト: wargio/e17
        EO_OP_FUNC_CONST(SIMPLE_ID(SIMPLE_SUB_ID_A_GET), _a_get),
        EO_OP_FUNC(SIMPLE_ID(SIMPLE_SUB_ID_B_SET), _b_set),
        EO_OP_FUNC_CONST(SIMPLE_ID(SIMPLE_SUB_ID_B_GET), _b_get),
        EO_OP_FUNC_SENTINEL
   };

   eo_class_funcs_set(klass, func_desc);
}

static const Eo_Op_Description op_desc[] = {
     EO_OP_DESCRIPTION(SIMPLE_SUB_ID_A_SET, "i", "Set property A"),
     EO_OP_DESCRIPTION_CONST(SIMPLE_SUB_ID_A_GET, "i", "Get property A"),
     EO_OP_DESCRIPTION(SIMPLE_SUB_ID_B_SET, "i", "Set property B"),
     EO_OP_DESCRIPTION_CONST(SIMPLE_SUB_ID_B_GET, "i", "Get property B"),
     EO_OP_DESCRIPTION_SENTINEL
};

static const Eo_Class_Description class_desc = {
     "Simple",
     EO_CLASS_TYPE_REGULAR,
     EO_CLASS_DESCRIPTION_OPS(&SIMPLE_BASE_ID, op_desc, SIMPLE_SUB_ID_LAST),
     NULL,
     sizeof(Private_Data),
     NULL,
     NULL,
     _class_constructor,
     NULL
};

EO_DEFINE_CLASS(simple_class_get, &class_desc, EO_BASE_CLASS, MIXIN3_CLASS, MIXIN2_CLASS, NULL);
コード例 #7
0
END_TEST

START_TEST(eo_inherit_errors)
{
    eo_init();

    const Eo_Class *klass;
    const Eo_Class *klass_mixin;
    const Eo_Class *klass_simple;

    static const Eo_Class_Description class_desc_simple = {
        "Simple",
        EO_CLASS_TYPE_REGULAR,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    static const Eo_Class_Description class_desc_mixin = {
        "Mixin",
        EO_CLASS_TYPE_MIXIN,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    static Eo_Class_Description class_desc = {
        "General",
        EO_CLASS_TYPE_MIXIN,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    klass_mixin = eo_class_new(&class_desc_mixin, NULL, NULL);
    fail_if(!klass_mixin);

    klass_simple = eo_class_new(&class_desc_simple, NULL, NULL);
    fail_if(!klass_simple);

    klass = eo_class_new(&class_desc, klass_simple, NULL);
    fail_if(klass);

    class_desc.type = EO_CLASS_TYPE_REGULAR;

    klass = eo_class_new(&class_desc, klass_mixin, NULL);
    fail_if(klass);

    (void) klass;

    eo_shutdown();
}
コード例 #8
0
END_TEST

START_TEST(eo_inconsistent_mro)
{
    eo_init();

    const Eo_Class *klass;
    const Eo_Class *klass_mixin;
    const Eo_Class *klass_mixin2;
    const Eo_Class *klass_mixin3;

    static const Eo_Class_Description class_desc_simple = {
        "Simple",
        EO_CLASS_TYPE_REGULAR,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    static const Eo_Class_Description class_desc_mixin = {
        "Mixin",
        EO_CLASS_TYPE_MIXIN,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    static const Eo_Class_Description class_desc_mixin2 = {
        "Mixin2",
        EO_CLASS_TYPE_MIXIN,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    static const Eo_Class_Description class_desc_mixin3 = {
        "Mixin3",
        EO_CLASS_TYPE_MIXIN,
        EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
        NULL,
        0,
        NULL,
        NULL,
        NULL,
        NULL
    };

    klass_mixin = eo_class_new(&class_desc_mixin, NULL, NULL);
    fail_if(!klass_mixin);

    klass_mixin2 = eo_class_new(&class_desc_mixin2, klass_mixin, NULL);
    fail_if(!klass_mixin2);

    klass_mixin3 = eo_class_new(&class_desc_mixin3, klass_mixin, NULL);
    fail_if(!klass_mixin3);

    klass = eo_class_new(&class_desc_simple, EO_BASE_CLASS, klass_mixin, klass_mixin2, NULL);
    fail_if(klass);

    klass = eo_class_new(&class_desc_simple, EO_BASE_CLASS, klass_mixin2, klass_mixin, NULL);
    fail_if(!klass);

    klass = eo_class_new(&class_desc_simple, EO_BASE_CLASS, klass_mixin2, klass_mixin3, NULL);
    fail_if(!klass);

    eo_shutdown();
}