Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/etox

Dir     : e17/libs/etox/test


Modified Files:
        Etox_test.h etox_test.c panel.c selections.c 


Log Message:
Fixed up the segv's in etox_test that I am experiencing, which was in
etox_append_text. Also simplified the test program by removing the buggy
slide-in code, it was too slow when testing over the network anyways. Let me
know if you experience segfaults.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/etox/test/Etox_test.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- Etox_test.h 22 Jul 2003 15:01:27 -0000      1.8
+++ Etox_test.h 26 Jul 2003 06:35:22 -0000      1.9
@@ -30,7 +30,6 @@
 typedef struct _panel_button Panel_Button;
 
 struct _panel_button {
-       Evas *evas;
        Evas_Object *box;
        Evas_Object *label;
 };
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/etox/test/etox_test.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- etox_test.c 22 Jul 2003 15:01:27 -0000      1.24
+++ etox_test.c 26 Jul 2003 06:35:22 -0000      1.25
@@ -242,14 +242,14 @@
        Evas_Object *o_bg;
        Evas_Object *o_bg_etox;
        char msg[] =
-           "            The Etox Test utility consists in a series\n"
-           "            of test suites designed to exercise all of\n"
-           "            the etox functions.\n"
-           "            Informational messages will be displayed here,\n"
-           "            the test text will be presented in the colored\n"
-           "            rectangle below.\n"
-           "            To start a test suite, select it from the\n"
-           "            navigation panel on the left.\n";
+           "The Etox Test utility consists in a series\n"
+           "of test suites designed to exercise all of\n"
+           "the etox functions.\n"
+           "Informational messages will be displayed here,\n"
+           "the test text will be presented in the colored\n"
+           "rectangle below.\n"
+           "To start a test suite, select it from the\n"
+           "navigation panel on the left.\n";
 
        /* setup callbacks for events */
        ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DAMAGE, e_window_expose,
@@ -335,11 +335,11 @@
        clip_msg = evas_object_rectangle_add(evas);
        evas_object_show(clip_msg);
        evas_object_color_set(clip_msg, 255, 0, 255, 255);
-       evas_object_move(clip_msg, 40, 40);
-       evas_object_resize(clip_msg, 520, 140);
+       evas_object_move(clip_msg, 120, 10);
+       evas_object_resize(clip_msg, 520, 160);
 
        /* Create message etox */
-       e_msg = etox_new_all(evas, 40, 40, 520, 140, 255, ETOX_ALIGN_LEFT);
+       e_msg = etox_new_all(evas, 120, 20, 520, 140, 255, ETOX_ALIGN_LEFT);
        etox_context_set_align(e_msg, ETOX_ALIGN_LEFT);
        etox_context_set_font(e_msg, "sinon", 14);
        etox_context_set_style(e_msg, "plain");
@@ -368,7 +368,7 @@
 
        /* Create test etox */
        e_test =
-           etox_new_all(evas, 40, 200, 520, 260, 255, ETOX_ALIGN_CENTER);
+           etox_new_all(evas, 50, 200, 520, 260, 255, ETOX_ALIGN_CENTER);
        etox_context_set_align(e_test, ETOX_ALIGN_CENTER);
        etox_context_set_font(e_test, "sinon", 14);
        etox_context_set_style(e_test, "plain");
@@ -439,14 +439,10 @@
        evas_object_hide(o_txt_prev_box);
        evas_object_event_callback_add(o_txt_prev_box, EVAS_CALLBACK_MOUSE_DOWN,
                          prev_test, NULL);
-
-       e_slide_panel_in(NULL);
 }
 
 int main(int argc, char **argv)
 {
-       Evas_List *l;
-
        ecore_init();
 
        /* init X */
@@ -470,10 +466,11 @@
        etox_free(e_msg);
        etox_free(e_test);
 
-       for (l = pbuttons; l; l = l->next)
+       while (pbuttons) {
                panel_button_free(pbuttons->data);
+               pbuttons = evas_list_remove(pbuttons, pbuttons->data);
+       }
 
-       evas_list_free(pbuttons);
        evas_free(evas);
 
        return 0;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/etox/test/panel.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- panel.c     22 Jul 2003 15:01:27 -0000      1.7
+++ panel.c     26 Jul 2003 06:35:22 -0000      1.8
@@ -2,134 +2,9 @@
 
 /* globals */
 Evas_Object *o_panel;
-Evas_Object *o_showpanel;
-Evas_Object *o_hidepanel;
 Evas_Object *o_txt_paneltitle;
 Panel_Button *pbutton;
 
-int panel_active = 0;
-
-int e_slide_panel_in(void *data)
-{
-       static double start = 0.0;
-       static int v = 0;
-       double duration = 0.5;
-       double val;
-       double px;
-       int w;
-       int y_offset = 40;
-       double ascent, descent;
-       Evas_List *l;
-
-       panel_active = 1;
-
-       if (v == 0) {
-               evas_object_layer_set(o_showpanel, 180);
-               start = get_time();
-               v = 1;
-       }
-
-       val = (get_time() - start) / duration;
-
-       evas_object_image_size_get(o_panel, &w, NULL);
-       px = (w * sin(val * 0.5 * 3.141592654)) - w;
-       evas_object_move(o_panel, px, 0);
-       evas_object_move(o_txt_paneltitle, px + 4, 5);
-       /* Pack the buttons in the panel in reverse */
-       for (l = pbuttons->last; l; l = l->prev) {
-               if (!(pbutton = l->data))
-                       return 0;
-               evas_object_move(pbutton->box, px + 5, win_h - y_offset);
-               evas_object_move(pbutton->label, px + 8,
-                         win_h - y_offset + 2);
-               y_offset += 40;
-               ascent = evas_object_text_max_ascent_get(pbutton->label);
-               descent = evas_object_text_max_descent_get(pbutton->label);
-               evas_object_resize(pbutton->box, 108, ascent - descent + 4);
-               evas_object_image_fill_set(pbutton->box, 0, 0, 108,
-                                   ascent - descent + 4);
-       }
-       if (val >= 1.0) {
-               panel_active = 0;
-               return 0;
-       }
-
-       return 1;
-       data = NULL;
-}
-
-int e_slide_panel_out(void *data)
-{
-       static double start = 0.0;
-       static int v = 0;
-       double duration = 0.5;
-       double val;
-       double px;
-       int w;
-       int y_offset = 40;
-       double ascent, descent;
-       Evas_List *l;
-
-       if (v == 0) {
-               evas_object_layer_set(o_showpanel, 1000);
-               start = get_time();
-               v = 1;
-       }
-
-       val = (get_time() - start) / duration;
-
-       evas_object_image_size_get(o_panel, &w, NULL);
-       px = (w * sin((1.0 - val) * 0.5 * 3.141592654)) - w;
-       evas_object_move(o_panel, px, 0);
-       evas_object_move(o_txt_paneltitle, px + 4, 5);
-       /* Pack the buttons in the panel in reverse */
-       for (l = pbuttons->last; l; l = l->prev) {
-               if (!(pbutton = l->data))
-                       return 0;
-               evas_object_move(pbutton->box, px + 5, win_h - y_offset);
-               evas_object_move(pbutton->label, px + 8, win_h - y_offset + 2);
-               y_offset += 40;
-               ascent = evas_object_text_max_ascent_get(pbutton->label);
-               descent = evas_object_text_max_descent_get(pbutton->label);
-               evas_object_resize(pbutton->box, 108, ascent - descent + 4);
-               evas_object_image_fill_set(pbutton->box, 0, 0, 108,
-                                   ascent - descent + 4);
-       }
-       if (val >= 1.0) {
-               panel_active = 0;
-               return 0;
-       }
-
-       return 1;
-       data = NULL;
-}
-
-void
-show_panel(void *_data, Evas *_e, Evas_Object *_o, void *event_info)
-{
-       if (!panel_active)
-               e_slide_panel_in(NULL);
-
-       return;
-       _data = NULL;
-       _e = NULL;
-       _o = NULL;
-       event_info = NULL;
-}
-
-void
-hide_panel(void *_data, Evas *_e, Evas_Object *_o, void *event_info)
-{
-       if (panel_active)
-               e_slide_panel_out(NULL);
-
-       return;
-       _data = NULL;
-       _e = NULL;
-       _o = NULL;
-       event_info = NULL;
-}
-
 void setup_panel(Evas *_e)
 {
        int w;
@@ -138,28 +13,14 @@
        o_panel = evas_object_image_add(_e);
        evas_object_image_file_set(o_panel, IM "panel.png",
                        IM "panel.png");
-       o_showpanel = evas_object_rectangle_add(_e);
-       o_hidepanel = evas_object_rectangle_add(_e);
-       evas_object_color_set(o_showpanel, 0, 0, 0, 0);
-       evas_object_color_set(o_hidepanel, 0, 0, 0, 0);
+
        evas_object_image_size_get(o_panel, &w, NULL);
-       if (!panel_active)
-               evas_object_move(o_panel, -w, 0);
+       evas_object_move(o_panel, 0, 0);
        evas_object_resize(o_panel, w, win_h);
        evas_object_image_fill_set(o_panel, 0, 0, w, win_h);
        evas_object_layer_set(o_panel, 200);
-       evas_object_resize(o_showpanel, 64, win_h);
-       if (panel_active)
-               evas_object_layer_set(o_showpanel, 180);
-       else
-               evas_object_layer_set(o_showpanel, 1000);
-       evas_object_move(o_hidepanel, 128, 0);
-       evas_object_resize(o_hidepanel, win_w - 128, win_h);
-       evas_object_layer_set(o_hidepanel, 1000);
-       evas_object_move(o_showpanel, 0, 0);
+
        evas_object_show(o_panel);
-       evas_object_show(o_showpanel);
-       evas_object_show(o_hidepanel);
 
        /* Panel title */
        o_txt_paneltitle = evas_object_text_add(_e);
@@ -179,25 +40,17 @@
        pbutton3 = panel_button(evas, "Callbacks", callback_tests());
        pbuttons = evas_list_append(pbuttons, pbutton3);
 
-       e_slide_panel_out(NULL);
-
-       /* Callbacks */
-       evas_object_event_callback_add(o_showpanel, EVAS_CALLBACK_MOUSE_IN, show_panel,
-                         NULL);
-       evas_object_event_callback_add(o_hidepanel, EVAS_CALLBACK_MOUSE_IN, hide_panel,
-                         NULL);
-
 }
 
 Panel_Button *panel_button(Evas *_e, char *_label, Evas_List *tests)
 {
        Evas_Object *o;
+       static int y = 200;
 
        /*
         * Create the new panel button's information
         */
        pbutton = malloc(sizeof(Panel_Button));
-       pbutton->evas = _e;
        pbutton->box = NULL;
        pbutton->label = NULL;
 
@@ -209,6 +62,9 @@
        evas_object_image_file_set(o, IM "panel_button1.png",
                        IM "panel_button1.png");
        evas_object_image_border_set(o, 3, 3, 3, 3);
+       evas_object_resize(o, 85, 30);
+       evas_object_image_fill_set(o, 0, 0, 85, 30);
+       evas_object_move(o, 10, y);
        evas_object_layer_set(o, 250);
        evas_object_show(o);
        pbutton->box = o;
@@ -218,6 +74,7 @@
        evas_object_text_text_set(o, _label);
        evas_object_color_set(o, 0, 0, 0, 160);
        evas_object_layer_set(o, 250);
+       evas_object_move(o, 15, y + 5);
        evas_object_show(o);
        pbutton->label = o;
 
@@ -231,6 +88,8 @@
 
        evas_object_event_callback_add(pbutton->label, EVAS_CALLBACK_MOUSE_DOWN,
                          button_mouse_down, tests);
+
+       y += 60;
 
        return pbutton;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/etox/test/selections.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- selections.c        23 Jul 2003 21:57:07 -0000      1.3
+++ selections.c        26 Jul 2003 06:35:22 -0000      1.4
@@ -100,6 +100,8 @@
                etox_selection_set_color(selected2, 0, 0, 255, 255);
        }
 
+       etox_append_text(etox, "Well slap my ass and call me Sally!");
+
        ecore_main_loop_begin();
 
        ecore_evas_shutdown();




-------------------------------------------------------
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

Reply via email to