Enlightenment CVS committal
Author : rbdpngn
Project : e17
Module : libs/ewl
Dir : e17/libs/ewl/src
Modified Files:
ewl_widget.c
Log Message:
Use the new data fields in edje (thanks raster!) to add back in the padding and
inset fields for EWL's widgets. Buttons now look a little better, but will
probably get tweaked more later.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_widget.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -3 -r1.65 -r1.66
--- ewl_widget.c 5 Aug 2003 20:24:06 -0000 1.65
+++ ewl_widget.c 6 Aug 2003 19:37:32 -0000 1.66
@@ -40,6 +40,10 @@
void *user_data);
*/
+void __ewl_widget_get_theme_padding(Ewl_Widget *w, int *l, int *r, int *t,
+ int *b);
+void __ewl_widget_get_theme_insets(Ewl_Widget *w, int *l, int *r, int *t,
+ int *b);
static inline void __ewl_widget_theme_destroy(Ewl_Widget *w);
static inline void __ewl_widget_cleanup_fx_clip(Ewl_Widget *w);
@@ -723,9 +727,15 @@
DENTER_FUNCTION(DLEVEL_STABLE);
DCHECK_PARAM_PTR("w", w);
+ /*
+ * Get and save the current insets and padding of the widget, this
+ * will be used to calculate any added at runtime.
+ */
if (w->theme_object) {
+ __ewl_widget_get_theme_insets(w, &i_l, &i_r, &i_t, &i_b);
+ __ewl_widget_get_theme_padding(w, &p_l, &p_r, &p_t, &p_b);
+
/* FIXME: No edje equivalent yet.
- ebits_get_insets(w->theme_object, &i_l, &i_r, &i_t, &i_b);
ebits_get_padding(w->theme_object, &p_l, &p_r, &p_t, &p_b);
*/
}
@@ -797,6 +807,7 @@
/* FIXME: More edje growing pains
ebits_get_insets(w->theme_object, &l, &r, &t, &b);
*/
+ __ewl_widget_get_theme_insets(w, &l, &r, &t, &b);
ewl_object_set_insets(EWL_OBJECT(w), l + i_l, r + i_r, t + i_t,
b + i_b);
@@ -804,6 +815,7 @@
* FIXME: More edje growing pains
ebits_get_padding(w->theme_object, &l, &r, &t, &b);
*/
+ __ewl_widget_get_theme_padding(w, &l, &r, &t, &b);
ewl_object_set_padding(EWL_OBJECT(w), l + p_l, r + p_r, t + p_t,
b + p_b);
@@ -960,6 +972,72 @@
evas_object_clip_unset(w->theme_object);
evas_object_del(w->theme_object);
w->theme_object = NULL;
+ }
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+void
+__ewl_widget_get_theme_padding(Ewl_Widget *w, int *l, int *r, int *t, int *b)
+{
+ const char *key;
+
+ DENTER_FUNCTION(DLEVEL_STABLE);
+
+ /*
+ * Read in the padding values from the edje file
+ */
+ key = edje_object_data_get(w->theme_object, "pad/left");
+ if (key && l) {
+ *l = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "pad/right");
+ if (key && r) {
+ *r = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "pad/top");
+ if (key && t) {
+ *t = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "pad/bottom");
+ if (key && b) {
+ *b = atoi(key);
+ }
+
+ DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+void
+__ewl_widget_get_theme_insets(Ewl_Widget *w, int *l, int *r, int *t, int *b)
+{
+ const char *key;
+
+ DENTER_FUNCTION(DLEVEL_STABLE);
+
+ /*
+ * Read in the inset values from the edje file
+ */
+ key = edje_object_data_get(w->theme_object, "inset/left");
+ if (key && l) {
+ *l = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "inset/right");
+ if (key && r) {
+ *r = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "inset/top");
+ if (key && t) {
+ *t = atoi(key);
+ }
+
+ key = edje_object_data_get(w->theme_object, "inset/bottom");
+ if (key && b) {
+ *b = atoi(key);
}
DLEAVE_FUNCTION(DLEVEL_STABLE);
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs