Download

Support

lib/ewl_context_menu.h

Go to the documentation of this file.
00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */
00002 #ifndef EWL_CONTEXT_MENU_H
00003 #define EWL_CONTEXT_MENU_H
00004 
00005 #include "ewl_popup.h"
00021 #define EWL_CONTEXT_MENU_TYPE "context_menu"
00022 
00027 #define EWL_CONTEXT_MENU_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), \
00028                                                         EWL_CONTEXT_MENU_TYPE))
00029 
00033 typedef struct Ewl_Context_Menu Ewl_Context_Menu;
00034 
00039 #define EWL_CONTEXT_MENU(context_menu) ((Ewl_Context_Menu *) context_menu)
00040 
00044 struct Ewl_Context_Menu
00045 {
00046         Ewl_Popup popup; 
00047         Ewl_Widget *open_menu; 
00048         Ewl_Widget *container; 
00049         Ewl_Child_Add child_add; 
00050         Ewl_Child_Remove child_remove; 
00051 };
00052 
00053 Ewl_Widget          *ewl_context_menu_new(void);
00054 int                  ewl_context_menu_init(Ewl_Context_Menu *cm);
00055 void                 ewl_context_menu_attach(Ewl_Context_Menu *cm, Ewl_Widget *w);
00056 void                 ewl_context_menu_detach(Ewl_Context_Menu *cm, Ewl_Widget *w);
00057 
00058 void                 ewl_context_menu_container_set(Ewl_Context_Menu *cm,
00059                                                         Ewl_Container *c);
00060 
00061 /*
00062  * Internal, override at your own risk
00063  */
00064 void ewl_context_menu_cb_hide(Ewl_Widget *w, void *ev_data, void *user_data);
00065 void ewl_context_menu_cb_mouse_down(Ewl_Widget *w, void *ev_data,
00066                                                         void *user_data);
00067 void ewl_context_menu_cb_mouse_move(Ewl_Widget *w, void *ev_data,
00068                                                         void *user_data);
00069 void ewl_context_menu_cb_focus_in(Ewl_Widget *w, void *ev_data,
00070                                                         void *user_data);
00071 void ewl_context_menu_cb_attach_mouse_down(Ewl_Widget *w, void *ev_data,
00072                                                         void *user_data);
00073 void ewl_context_menu_cb_child_add(Ewl_Container *c, Ewl_Widget *w);
00074 void ewl_context_menu_cb_child_remove(Ewl_Container *c, Ewl_Widget *w, int idx);
00075 void ewl_context_menu_cb_child_mouse_in(Ewl_Widget *w, void *ev_data,
00076                                                         void *user_data);
00077 void ewl_context_menu_cb_child_clicked(Ewl_Widget *w, void *ev_data,
00078                                                         void *user_data);
00079 
00084 #endif

Copyright © Enlightenment.org

Enlightened Widget Library Documentation Generated: Sat May 17 16:49:04 2008