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

Reply via email to