Enlightenment CVS committal
Author : codewarrior
Project : e17
Module : apps/e_modules
Dir : e17/apps/e_modules/src/modules/notes
Modified Files:
e_mod_main.c e_mod_main.h
Log Message:
moved menus to note face, added functionality and started face conf. trans
setting doesnt work yet
===================================================================
RCS file:
/cvsroot/enlightenment/e17/apps/e_modules/src/modules/notes/e_mod_main.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_mod_main.c 31 Mar 2005 09:31:56 -0000 1.12
+++ e_mod_main.c 1 Apr 2005 12:26:47 -0000 1.13
@@ -21,14 +21,17 @@
static void _note_menu_bgcolor_yellow (void *data, E_Menu *m, E_Menu_Item *mi);
static void _note_menu_bgcolor_green (void *data, E_Menu *m, E_Menu_Item *mi);
static void _note_menu_face_add (void *data, E_Menu *m, E_Menu_Item *mi);
-
+static void _note_face_trans_set(void *data, E_Menu *m, E_Menu_Item *mi);
static int _note_face_init (Note_Face *nf);
static void _note_face_free (Note_Face *nf);
+static void _note_face_menu_del (void *data, E_Menu *m, E_Menu_Item *mi);
static int _note_face_add (Note *n);
static void _note_face_focus (void *data, Evas *e, Evas_Object *obj,
void *event_info);
static void _note_face_unfocus (void *data, Evas *e, Evas_Object *obj,
void *event_info);
-
+static void _note_face_menu_new (Note_Face *nf);
+static void _note_face_cb_mouse_down (void *data, Evas *e, Evas_Object *obj,
void *event_info);
+
char *_note_module_dir;
static int _note_count;
@@ -55,7 +58,6 @@
/* actually init ibar */
n = _note_init (m);
m->config_menu = _note_config_menu_new (n);
-
return n;
}
@@ -200,86 +202,6 @@
/* FIXME: hook callbacks to each menu item */
mn = e_menu_new (); // main configuration menu
- mnbg = e_menu_new (); // options submenu
- mnt = e_menu_new (); // trans submenu
-
-
- n->config_menu_bg = mnbg;
- n->config_menu = mn;
- n->config_menu_trans = mnt;
-
-
- mi = e_menu_item_new (mnbg);
- e_menu_item_label_set (mi, "White Bg");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new (mnbg);
- e_menu_item_label_set (mi, "Yellow Bg");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (n->conf->bgcolor == BGCOLOR_YELLOW) e_menu_item_toggle_set (mi, 1);
- e_menu_item_callback_set (mi, _note_menu_bgcolor_yellow, n);
-
- mi = e_menu_item_new (mnbg);
- e_menu_item_label_set (mi, "Blue Bg");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (n->conf->bgcolor == BGCOLOR_BLUE) e_menu_item_toggle_set (mi, 1);
- e_menu_item_callback_set (mi, _note_menu_bgcolor_blue, n);
-
- mi = e_menu_item_new(mnbg);
- e_menu_item_label_set(mi, "Green Bg");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- if (n->conf->bgcolor == BGCOLOR_GREEN) e_menu_item_toggle_set (mi, 1);
- e_menu_item_callback_set (mi, _note_menu_bgcolor_blue, n);
-
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, "Backgrounds");
- e_menu_item_submenu_set(mi, n->config_menu_bg);
-
- mi = e_menu_item_new (mnt);
- e_menu_item_label_set (mi, "0%");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- //if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- //e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new (mnt);
- e_menu_item_label_set (mi, "25%");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- //if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- //e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new (mnt);
- e_menu_item_label_set (mi, "50%");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- //if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- //e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new (mnt);
- e_menu_item_label_set (mi, "75%");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- //if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- //e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new (mnt);
- e_menu_item_label_set (mi, "100%");
- e_menu_item_radio_set(mi, 1);
- e_menu_item_radio_group_set(mi, 2);
- //if (n->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
- //e_menu_item_callback_set (mi, _note_menu_bgcolor_white, n);
-
- mi = e_menu_item_new(mn);
- e_menu_item_label_set(mi, "Transparency");
- e_menu_item_submenu_set(mi, n->config_menu_trans);
-
mi = e_menu_item_new(mn);
e_menu_item_label_set(mi, "Add Note");
e_menu_item_callback_set (mi, _note_menu_face_add, n);
@@ -290,49 +212,82 @@
static void
_note_menu_bgcolor_green (void *data, E_Menu *m, E_Menu_Item *mi)
{
- Note *n;
+ Note_Face *face;
Evas_Object *bg;
- n = (Note *)data;
-// bg = evas_object_rectangle_add(n->face->evas);
-// evas_object_color_set(bg, 187, 243, 168, 100);
-// esmart_textarea_bg_set(n->face->note_object, bg);
+ face = data;
+ bg = evas_object_rectangle_add(face->evas);
+ evas_object_color_set(bg, 187, 243, 168, 100);
+ esmart_textarea_bg_set(face->note_object, bg);
}
static void
_note_menu_bgcolor_yellow (void *data, E_Menu *m, E_Menu_Item *mi)
{
- Note *n;
+ Note_Face *face;
Evas_Object *bg;
- n = (Note *)data;
-// bg = evas_object_rectangle_add(n->face->evas);
-// evas_object_color_set(bg, 245, 248, 27, 100);
-// esmart_textarea_bg_set(n->face->note_object, bg);
+ face = data;
+ bg = evas_object_rectangle_add(face->evas);
+ evas_object_color_set(bg, 245, 248, 27, 100);
+ esmart_textarea_bg_set(face->note_object, bg);
}
static void
_note_menu_bgcolor_white (void *data, E_Menu *m, E_Menu_Item *mi)
{
- Note *n;
+ Note_Face *face;
Evas_Object *bg;
- n = (Note *)data;
-// bg = evas_object_rectangle_add(n->face->evas);
-// evas_object_color_set(bg, 255, 255, 255, 100);
-// esmart_textarea_bg_set(n->face->note_object, bg);
+ face = data;
+ bg = evas_object_rectangle_add(face->evas);
+ evas_object_color_set(bg, 255, 255, 255, 100);
+ esmart_textarea_bg_set(face->note_object, bg);
}
static void
_note_menu_bgcolor_blue (void *data, E_Menu *m, E_Menu_Item *mi)
{
- Note *n;
+ Note_Face *face;
Evas_Object *bg;
- n = (Note *)data;
-// bg = evas_object_rectangle_add(n->face->evas);
-// evas_object_color_set(bg, 149, 207, 226, 100);
-// esmart_textarea_bg_set(n->face->note_object, bg);
+ face = data;
+ bg = evas_object_rectangle_add(face->evas);
+ evas_object_color_set(bg, 149, 207, 226, 100);
+ esmart_textarea_bg_set(face->note_object, bg);
+}
+
+static void
+_note_face_trans_set(void *data, E_Menu *m, E_Menu_Item *mi)
+{
+
+ Note_Face *face = data;
+ Evas_Object *bg;
+ int r,g,b,a;
+
+ return; /* not working */
+
+ bg = esmart_textarea_bg_get(face->note_object);
+ evas_object_color_get(bg, &r,&g,&b,&a);
+ switch(face->conf->trans)
+ {
+ case TRANS_0:
+ a = 255;
+ break;
+ case TRANS_25:
+ a = 191;
+ break;
+ case TRANS_50:
+ a = 127;
+ break;
+ case TRANS_75:
+ a = 64;
+ break;
+ case TRANS_100:
+ a = 0;
+ break;
+ }
+ evas_object_color_set(bg,r,g,b,a);
}
static void
@@ -350,24 +305,21 @@
e_object_del (E_OBJECT(m));
}
-//static void
-//_flame_config_palette_set (Flame *f, Flame_Palette_Type type)
-//{
-// switch (type)
-// {
-// case GOLD_PALETTE:
-// _flame_palette_gold_set (f->face);
-// break;
-// case FIRE_PALETTE:
-// _flame_palette_fire_set (f->face);
-// break;
-// case PLASMA_PALETTE:
-// _flame_palette_plasma_set (f->face);
-// break;
-// default:
-// break;
-// }
-//}
+static void
+_note_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj,
+ void *event_info)
+{
+ Evas_Event_Mouse_Down *ev = event_info;
+ Note_Face *nf = data;
+
+ if (ev->button == 3)
+ {
+ e_menu_activate_mouse(nf->menu, e_zone_current_get(nf->con),
+ ev->output.x, ev->output.y, 1, 1,
+ E_MENU_POP_DIRECTION_DOWN);
+ e_util_container_fake_mouse_up_all_later(nf->con);
+ }
+}
static void
_note_face_focus(void *data, Evas *e, Evas_Object *obj,
@@ -387,8 +339,103 @@
esmart_textarea_focus_set(nf->note_object, 0);
}
+
+static void
+_note_face_menu_new(Note_Face *face)
+{
+ E_Menu *mn, *mnbg, *mnt;
+ E_Menu_Item *mi;
+
+ mn = e_menu_new();
+ mnbg = e_menu_new (); // options submenu
+ mnt = e_menu_new (); // trans submenu
+ face->menu = mn;
+ face->menu_bg = mnbg;
+ face->menu_trans = mnt;
+
+ mi = e_menu_item_new (mnbg);
+ e_menu_item_label_set (mi, "White Bg");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == BGCOLOR_WHITE) e_menu_item_toggle_set (mi, 1);
+ e_menu_item_callback_set (mi, _note_menu_bgcolor_white, face);
+
+ mi = e_menu_item_new (mnbg);
+ e_menu_item_label_set (mi, "Yellow Bg");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == BGCOLOR_YELLOW) e_menu_item_toggle_set (mi, 1);
+ e_menu_item_callback_set (mi, _note_menu_bgcolor_yellow, face);
+
+ mi = e_menu_item_new (mnbg);
+ e_menu_item_label_set (mi, "Blue Bg");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == BGCOLOR_BLUE) e_menu_item_toggle_set (mi, 1);
+ e_menu_item_callback_set (mi, _note_menu_bgcolor_blue, face);
+
+ mi = e_menu_item_new(mnbg);
+ e_menu_item_label_set(mi, "Green Bg");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == BGCOLOR_GREEN) e_menu_item_toggle_set (mi, 1);
+ e_menu_item_callback_set (mi, _note_menu_bgcolor_blue, face);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, "Backgrounds");
+ e_menu_item_submenu_set(mi, face->menu_bg);
+
+ mi = e_menu_item_new (mnt);
+ e_menu_item_label_set (mi, "0%");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->trans == TRANS_0) e_menu_item_toggle_set (mi, 1);
+ face->conf->trans = TRANS_0;
+ e_menu_item_callback_set (mi, _note_face_trans_set, face);
+
+ mi = e_menu_item_new (mnt);
+ e_menu_item_label_set (mi, "25%");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == TRANS_25) e_menu_item_toggle_set (mi, 1);
+ face->conf->trans = TRANS_25;
+ e_menu_item_callback_set (mi, _note_face_trans_set, face);
+
+ mi = e_menu_item_new (mnt);
+ e_menu_item_label_set (mi, "50%");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == TRANS_50) e_menu_item_toggle_set (mi, 1);
+ face->conf->trans = TRANS_50;
+ e_menu_item_callback_set (mi, _note_face_trans_set, face);
+
+ mi = e_menu_item_new (mnt);
+ e_menu_item_label_set (mi, "75%");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == TRANS_75) e_menu_item_toggle_set (mi, 1);
+ face->conf->trans = TRANS_75;
+ e_menu_item_callback_set (mi, _note_face_trans_set, face);
+
+ mi = e_menu_item_new (mnt);
+ e_menu_item_label_set (mi, "100%");
+ e_menu_item_radio_set(mi, 1);
+ e_menu_item_radio_group_set(mi, 2);
+ if (face->conf->bgcolor == TRANS_100) e_menu_item_toggle_set (mi, 1);
+ face->conf->trans = TRANS_100;
+ e_menu_item_callback_set (mi, _note_face_trans_set, face);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, "Transparency (doesnt work)");
+ e_menu_item_submenu_set(mi, face->menu_trans);
+
+ mi = e_menu_item_new(mn);
+ e_menu_item_label_set(mi, "Delete Note");
+ e_menu_item_callback_set(mi, _note_face_menu_del, face);
+}
+
static int
-_note_face_init (Note_Face *nf)
+_note_face_init (Note_Face *face)
{
Evas_Object *o;
Evas_Coord ww, hh;
@@ -396,66 +443,82 @@
int note_width, note_height;
/* set up the note object */
- o = esmart_textarea_add (nf->evas);
- nf->note_object = o;
- evas_output_viewport_get(nf->evas, NULL, NULL, &ww, &hh);
- nf->ww = ww;
- evas_object_move (o, 0, hh - nf->note->conf->height + 3);
- //evas_object_resize (o, nf->ww, nf->note->conf->height);
- evas_object_resize(o, nf->note->conf->width, nf->note->conf->height);
+ o = esmart_textarea_add (face->evas);
+ face->note_object = o;
+ evas_output_viewport_get(face->evas, NULL, NULL, &ww, &hh);
+ face->ww = ww;
+ evas_object_move (o, 0, hh - face->note->conf->height + 3);
+ //evas_object_resize (o, face->ww, face->note->conf->height);
+ evas_object_resize(o, face->note->conf->width, face->note->conf->height);
evas_object_pass_events_set(o, 1);
evas_object_layer_set (o, 1);
esmart_textarea_focus_set(o, 0);
evas_object_show (o);
- o = evas_object_rectangle_add(nf->evas);
+ o = evas_object_rectangle_add(face->evas);
evas_object_color_set(o, 245, 248, 27, 100);
- esmart_textarea_bg_set(nf->note_object, o);
+ esmart_textarea_bg_set(face->note_object, o);
- o = evas_object_rectangle_add(nf->evas);
- nf->event_object = o;
+ o = evas_object_rectangle_add(face->evas);
+ face->event_object = o;
evas_object_layer_set(o, 2);
evas_object_repeat_events_set(o, 1);
evas_object_color_set(o, 0, 0, 0, 0);
+ evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
+ _note_face_cb_mouse_down, face);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN,
- _note_face_focus, nf);
+ _note_face_focus, face);
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT,
- _note_face_unfocus, nf);
- evas_object_show(o);
-
-
- evas_event_freeze(nf->con->bg_evas);
-
- /*
- o = edje_object_add(nf->evas);
- nf->note_edje = o;
- edje_object_file_set(o,
- e_path_find(path_themes, "default.edj"),
- "modules/ibar/main");
+ _note_face_unfocus, face);
evas_object_show(o);
- */
+
+ evas_event_freeze(face->con->bg_evas);
- nf->gmc = e_gadman_client_new(nf->con->gadman);
- e_gadman_client_domain_set(nf->gmc, "module.note", _note_count++);
- e_gadman_client_policy_set(nf->gmc,
+ face->gmc = e_gadman_client_new(face->con->gadman);
+ e_gadman_client_domain_set(face->gmc, "module.note", _note_count++);
+ e_gadman_client_policy_set(face->gmc,
E_GADMAN_POLICY_ANYWHERE |
E_GADMAN_POLICY_HMOVE |
E_GADMAN_POLICY_VMOVE |
E_GADMAN_POLICY_HSIZE |
E_GADMAN_POLICY_VSIZE);
- e_gadman_client_min_size_set(nf->gmc, 4, 4);
- e_gadman_client_max_size_set(nf->gmc, 512, 512);
- e_gadman_client_auto_size_set(nf->gmc, 320, 240);
- e_gadman_client_align_set(nf->gmc, 0.0, 1.0);
- e_gadman_client_resize(nf->gmc, 40, 40);
- e_gadman_client_change_func_set(nf->gmc, _note_face_cb_gmc_change, nf);
- e_gadman_client_load(nf->gmc);
+ e_gadman_client_min_size_set(face->gmc, 4, 4);
+ e_gadman_client_max_size_set(face->gmc, 512, 512);
+ e_gadman_client_auto_size_set(face->gmc, 320, 240);
+ e_gadman_client_align_set(face->gmc, 0.0, 1.0);
+ e_gadman_client_resize(face->gmc, 40, 40);
+ e_gadman_client_change_func_set(face->gmc, _note_face_cb_gmc_change, face);
+ e_gadman_client_load(face->gmc);
- evas_event_thaw(nf->con->bg_evas);
+ evas_event_thaw(face->con->bg_evas);
+ face->conf_edd = E_CONFIG_DD_NEW("Note_Face_Config", Config);
+
- //_flame_config_palette_set (ff->flame, ff->flame->conf->palette_type);
+#undef T
+#undef D
+#define T Config
+#define D face->conf_edd
+ E_CONFIG_VAL(D, T, height, INT);
+ E_CONFIG_VAL(D, T, width, INT);
+ E_CONFIG_VAL(D, T, bgcolor, INT);
+ E_CONFIG_VAL(D, T, trans, INT);
+
+ if (!face->conf)
+ {
+ face->conf = E_NEW (Config, 1);
+ face->conf->height = 320;
+ face->conf->width = 200;
+ face->conf->bgcolor = BGCOLOR_YELLOW;
+ face->conf->trans = TRANS_50;
+ }
+ E_CONFIG_LIMIT(face->conf->height, 48, 800);
+ E_CONFIG_LIMIT(face->conf->width, 48, 800);
+ E_CONFIG_LIMIT(face->conf->bgcolor, 0, 10);
+ E_CONFIG_LIMIT(face->conf->trans, 0, 5);
+
+ _note_face_menu_new(face);
return 1;
}
@@ -490,13 +553,20 @@
break;
}
}
-
+
static void
-_note_face_free(Note_Face *nf)
+_note_face_menu_del(void *data, E_Menu *m, E_Menu_Item *mi)
{
- e_gadman_client_save(nf->gmc);
- e_object_del(E_OBJECT(nf->gmc));
+ Note_Face *face = data;
+ _note_face_free(face);
+}
+static void
+_note_face_free(Note_Face *nf)
+{
+ e_gadman_client_save(nf->gmc);
+ e_object_del(E_OBJECT(nf->gmc));
+
evas_object_del (nf->note_object);
evas_object_del (nf->event_object);
_note_count--;
===================================================================
RCS file:
/cvsroot/enlightenment/e17/apps/e_modules/src/modules/notes/e_mod_main.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_mod_main.h 30 Mar 2005 22:46:03 -0000 1.4
+++ e_mod_main.h 1 Apr 2005 12:26:47 -0000 1.5
@@ -6,6 +6,12 @@
#define BGCOLOR_GREEN 3
#define BGCOLOR_YELLOW 4
+#define TRANS_0 1
+#define TRANS_25 2
+#define TRANS_50 3
+#define TRANS_75 4
+#define TRANS_100 5
+
typedef struct _Note Note;
typedef struct _Note_Face Note_Face;
typedef struct _Config Config;
@@ -15,6 +21,7 @@
Evas_Coord height;
Evas_Coord width;
int bgcolor;
+ int trans;
};
@@ -22,8 +29,6 @@
struct _Note
{
E_Menu *config_menu;
- E_Menu *config_menu_bg;
- E_Menu *config_menu_trans;
Evas_List *faces;
E_Config_DD *conf_edd;
@@ -40,7 +45,11 @@
Evas_Object *event_object;
Evas_Coord xx, yy, ww;
E_Gadman_Client *gmc;
- E_Menu *menu;
+ E_Menu *menu;
+ E_Menu *menu_bg;
+ E_Menu *menu_trans;
+ E_Config_DD *conf_edd;
+ Config *conf;
};
EAPI void *init (E_Module *m);
-------------------------------------------------------
This SF.net email is sponsored by Demarc:
A global provider of Threat Management Solutions.
Download our HomeAdmin security software for free today!
http://www.demarc.com/info/Sentarus/hamr30
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs