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