lib/ewl_text_trigger.h
Go to the documentation of this file.00001
00002 #ifndef EWL_TEXT_TRIGGER_H
00003 #define EWL_TEXT_TRIGGER_H
00004
00005 #include "ewl_base.h"
00006 #include "ewl_text.h"
00007 #include "ewl_text_context.h"
00008
00022 #define EWL_TEXT_TRIGGER_TYPE "trigger"
00023
00028 #define EWL_TEXT_TRIGGER_IS(w) (ewl_widget_type_is(EWL_WIDGET(w), EWL_TEXT_TRIGGER_TYPE))
00029
00033 typedef struct Ewl_Text_Trigger Ewl_Text_Trigger;
00034
00039 struct Ewl_Text_Trigger
00040 {
00041 Ewl_Widget widget;
00042 Ewl_Text_Trigger_Type type;
00044 unsigned int char_pos;
00045 unsigned int char_len;
00046 unsigned int char_base;
00048 Ewl_Text *text_parent;
00049 Ecore_List *areas;
00050 };
00051
00056 #define EWL_TEXT_TRIGGER(trigger) ((Ewl_Text_Trigger *) trigger)
00057
00058 Ewl_Widget *ewl_text_trigger_new(Ewl_Text_Trigger_Type type);
00059 int ewl_text_trigger_init(Ewl_Text_Trigger *trigger,
00060 Ewl_Text_Trigger_Type type);
00061
00062 Ewl_Text_Trigger_Type ewl_text_trigger_type_get(Ewl_Text_Trigger *t);
00063
00064 void ewl_text_trigger_start_pos_set(Ewl_Text_Trigger *t,
00065 unsigned int char_pos);
00066 unsigned int ewl_text_trigger_start_pos_get(Ewl_Text_Trigger *t);
00067
00068 void ewl_text_trigger_base_set(Ewl_Text_Trigger *t,
00069 unsigned int char_pos);
00070 unsigned int ewl_text_trigger_base_get(Ewl_Text_Trigger *t);
00071
00072 void ewl_text_trigger_length_set(Ewl_Text_Trigger *t,
00073 unsigned int char_len);
00074 unsigned int ewl_text_trigger_length_get(Ewl_Text_Trigger *t);
00075
00076 void ewl_text_trigger_area_add(Ewl_Text *t, Ewl_Text_Trigger *cur,
00077 int x, int y, int w, int h);
00078 void ewl_text_trigger_areas_cleanup(Ewl_Text_Trigger *trig);
00079
00080
00081
00082
00083 void ewl_text_trigger_cb_show(Ewl_Widget *w, void *ev, void *data);
00084 void ewl_text_trigger_cb_hide(Ewl_Widget *w, void *ev, void *data);
00085 void ewl_text_trigger_cb_configure(Ewl_Widget *w, void *ev, void *data);
00086 void ewl_text_trigger_cb_unrealize(Ewl_Widget *w, void *ev, void *data);
00087
00092 #endif
00093