int _elm_log_dom = -1;
void
-external_signal(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *signal, const char *source)
+external_signal(void *data __UNUSED__, Evas_Object *obj, const char *signal, const char *source)
{
- printf("External Signal received: '%s' '%s'\n", signal, source);
+ char *_signal = strdup(signal);
+ char *p = _signal;
+ Evas_Object *content;
+
+ while((*p!='\0') && (*p!=']'))
+ p++;
+
+
+ if((*p=='\0') || (*(p+1)!=':'))
+ {
+ ERR("Invalid External Signal received: '%s' '%s'\n", signal, source);
+ free(_signal);
+ return ;
+ }
+
+ *p = '\0';
+ p+=2; //jump ']' and ':'
+
+ Edje_External_Type *type = evas_object_data_get(obj, "Edje_External_Type");
+ if (!type->content_get)
+ {
+ ERR("external type '%s' from module '%s' does not provide content_get()",
+ type->module_name, type->module);
+ free(_signal);
+ return ;
+ }
+
+ content = type->content_get(type->data, obj, _signal);
+ free(_signal);
+ if(content)
+ edje_object_signal_emit(content, signal + (p - _signal), source);
}
const char *
return mem;
}
+static Evas_Object *external_anchorblock_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_anchorblock_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_anchorview_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_anchorview_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_bubble_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_bubble_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_button_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_button_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_check_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_check_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_clock_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_clock_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_fileselector_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_fileselector_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_fileselector_button_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_fileselector_button_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_genlist_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_genlist_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_hoversel_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_hoversel_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_list_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_list_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_map_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_map_params_free(void *params)
{
return NULL;
}
+static Evas_Object *external_notepad_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_notepad_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_notify_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ if (!strcmp(content, "content"))
+ return elm_notify_content_get(obj);
+
+ ERR("unknown content '%s'", content);
+ return NULL;
+}
+
static void external_notify_params_free(void *params) {
Elm_Params_Notify *mem = params;
return mem;
}
+static Evas_Object *external_panes_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ if (!strcmp(content, "left"))
+ return elm_panes_content_left_get(obj);
+ else if (!strcmp(content, "right"))
+ return elm_panes_content_right_get(obj);
+
+ ERR("unknown content '%s'", content);
+
+ return NULL;
+}
+
+
static void external_panes_params_free(void *params) {
Elm_Params_Panes *mem = params;
return mem;
}
+static Evas_Object *external_photocam_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_photocam_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_progressbar_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_progressbar_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_radio_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_radio_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_scrolled_entry_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_scrolled_entry_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_slider_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_slider_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_slideshow_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_slideshow_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_spinner_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_spinner_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_thumb_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_thumb_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_toggle_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_toggle_params_free(void *params)
{
return mem;
}
+static Evas_Object *external_toolbar_content_get(void *data __UNUSED__,
+ const Evas_Object *obj, const char *content)
+{
+ ERR("so content");
+ return NULL;
+}
+
static void
external_toolbar_params_free(void *params)
{
.params_parse = external_##type_name##_params_parse,\
.params_free = external_##type_name##_params_free, \
.label_get = external_##type_name##_label_get, \
+ .content_get = external_##type_name##_content_get, \
.description_get = NULL, \
.icon_add = external_##type_name##_icon_add, \
.preview_add = NULL, \
EAPI Evas_Object *elm_notify_add(Evas_Object *parent);
EAPI void elm_notify_content_set(Evas_Object *obj, Evas_Object *content);
EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj);
+ EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj);
EAPI void elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent);
EAPI void elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient);
EAPI Elm_Notify_Orient elm_notify_orient_get(const Evas_Object *obj);
EAPI Evas_Object *elm_panes_add(Evas_Object *parent);
EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content);
EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content);
+ EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj);
+ EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj);
EAPI double elm_panes_content_left_size_get(const Evas_Object *obj);
EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size);
EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
return content;
}
+/**
+ * Return the content of the notify widget
+ *
+ * @param obj The notify object
+ * @return The content that is being used
+ *
+ * @ingroup Notify
+ */
+EAPI Evas_Object *
+elm_notify_content_get(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Evas_Object *content;
+ if (!wd) return NULL;
+ if (!wd->content) return NULL;
+ return wd->content;
+}
+
/**
* Set the notify parent
*
}
}
+
+EAPI Evas_Object
+*elm_panes_content_left_get(const Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ return wd->contents.left;
+}
+
+EAPI Evas_Object
+*elm_panes_content_right_get(const Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ return wd->contents.right;
+}
+
EAPI double elm_panes_content_left_size_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);