adding stuff :)

SVN revision: 4053
This commit is contained in:
Carsten Haitzler 2000-12-29 20:49:17 +00:00
parent d1c8cc48a4
commit a83333dda1
5 changed files with 209 additions and 3 deletions

View File

@ -14,6 +14,7 @@ desktops.c \
exec.c \
icccm.c \
main.c \
menu.c \
resist.c \
util.c \
view.c \

View File

@ -866,7 +866,7 @@ e_cb_border_mouse_out(E_Border *b, Eevent *e)
if (border_mouse_buttons) return;
/* pointer focus stuff */
e_focus_to_window(0);
/* e_focus_to_window(0);*/
x = mouse_x;
y = mouse_y;

View File

@ -6,6 +6,8 @@ static int screen_w, screen_h;
static int current_desk = 0;
static void e_idle(void *data);
static void e_key_down(Eevent * ev);
static void e_key_up(Eevent * ev);
static void e_mouse_down(Eevent * ev);
static void e_mouse_up(Eevent * ev);
static void e_mouse_in(Eevent * ev);
@ -29,6 +31,78 @@ e_idle(void *data)
UN(data);
}
/* handling key down events */
static void
e_key_down(Eevent * ev)
{
Ev_Key_Down *e;
e = ev->event;
{
Evas_List l;
for (l = desktops; l; l = l->next)
{
E_Desktop *desk;
desk = l->data;
if (desk->win.desk == e->win)
{
if (!strcmp(e->key, "Up"))
{
}
else if (!strcmp(e->key, "Down"))
{
}
else if (!strcmp(e->key, "Left"))
{
}
else if (!strcmp(e->key, "Right"))
{
}
else if (!strcmp(e->key, "Escape"))
{
}
else
{
/* infact we should pass this onto the view handling */
/* this desktop here */
char *type;
type = e_key_press_translate_into_typeable(e);
if (type)
{
}
}
}
}
}
}
/* handling key up events */
static void
e_key_up(Eevent * ev)
{
Ev_Key_Up *e;
e = ev->event;
{
Evas_List l;
for (l = desktops; l; l = l->next)
{
E_Desktop *desk;
desk = l->data;
if (desk->win.desk == e->win)
{
}
}
}
}
/* handling mouse down events */
static void
e_mouse_down(Eevent * ev)
@ -151,6 +225,8 @@ e_mouse_in(Eevent * ev)
Evas evas;
int x, y;
/* focus handling for desktop */
e_focus_to_window(e->win);
evas = desk->evas.desk;
e_window_get_root_relative_location(evas_get_window(evas),
&x, &y);
@ -238,6 +314,8 @@ e_desktops_init(void)
e_event_filter_handler_add(EV_MOUSE_IN, e_mouse_in);
e_event_filter_handler_add(EV_MOUSE_OUT, e_mouse_out);
e_event_filter_handler_add(EV_WINDOW_EXPOSE, e_window_expose);
e_event_filter_handler_add(EV_KEY_DOWN, e_key_down);
e_event_filter_handler_add(EV_KEY_UP, e_key_up);
e_event_filter_idle_handler_add(e_idle, NULL);
e_icccm_advertise_e_compat();
@ -396,7 +474,7 @@ e_desktops_init_file_display(E_Desktop *desk)
evas_get_visual(desk->evas.desk), evas_get_colormap(desk->evas.desk));
e_window_set_background_pixmap(desk->win.desk, desk->evas.pmap);
/* normal stuff */
e_window_set_events(desk->win.desk, XEV_EXPOSE | XEV_MOUSE_MOVE | XEV_BUTTON | XEV_IN_OUT);
e_window_set_events(desk->win.desk, XEV_EXPOSE | XEV_MOUSE_MOVE | XEV_BUTTON | XEV_IN_OUT | XEV_KEY);
e_window_show(desk->win.desk);
{
Evas_Object o;

14
src/e.h
View File

@ -130,6 +130,8 @@ typedef struct _E_Desktop E_Desktop;
typedef struct _E_Rect E_Rect;
typedef struct _E_Active_Action_Timer E_Active_Action_Timer;
typedef struct _E_View E_View;
typedef struct _E_Menu E_Menu;
typedef struct _E_Menu_Item E_Menu_Item;
struct _E_Object
{
@ -289,6 +291,18 @@ struct _E_View
OBJ_PROPERTIES;
};
struct _E_Menu
{
OBJ_PROPERTIES;
Window win;
};
struct _E_Menu_Item
{
OBJ_PROPERTIES;
};
void e_action_add_proto(char *action,
void (*func_start) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry),
void (*func_stop) (void *o, E_Action *a, void *data, int x, int y, int rx, int ry),

113
src/menu.c Normal file
View File

@ -0,0 +1,113 @@
#include "e.h"
static Evas_List open_menus = NULL;
static Evas_list menus = NULL;
static void e_idle(void *data);
static void e_key_down(Eevent * ev);
static void e_key_up(Eevent * ev);
static void e_mouse_down(Eevent * ev);
static void e_mouse_up(Eevent * ev);
static void e_mouse_in(Eevent * ev);
static void e_mouse_out(Eevent * ev);
static void e_window_expose(Eevent * ev);
static void
e_idle(void *data)
{
Evas_List l;
for (l = menus; l; l = l->next)
{
E_Menu *m;
m = l->data;
e_menu_update(m);
}
e_db_runtime_flush();
return;
UN(data);
}
static void
e_key_down(Eevent * ev)
{
Ev_Key_Down *e;
e = ev->event;
{
if (!strcmp(e->key, "Up"))
{
}
else if (!strcmp(e->key, "Down"))
{
}
else if (!strcmp(e->key, "Left"))
{
}
else if (!strcmp(e->key, "Right"))
{
}
else if (!strcmp(e->key, "Escape"))
{
}
else
{
}
}
}
static void
e_key_up(Eevent * ev)
{
Ev_Key_Up *e;
e = ev->event;
{
}
}
E_Menu *
e_menu_new(void)
{
}
void
e_menu_free(E_Menu *m)
{
}
void
e_menu_hide(E_Menu *m)
{
}
void
e_menu_show(E_Menu *m)
{
}
void
e_menu_move_to(E_Menu *m, int x, int y)
{
}
void
e_menu_show_at_mouse(E_Menu *m, int x, int y)
{
}
void
e_menu_add_item(E_Menu *m, E_Menu_Item *mi)
{
}
void
e_menu_del_item(E_Menu *m, E_Menu_Item *mi)
{
}
void
e_menu_update(E_Menu *m)
{
}