lib/ewl_view.h
Go to the documentation of this file.00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */ 00002 #ifndef EWL_VIEW_H 00003 #define EWL_VIEW_H 00004 00018 #define EWL_VIEW_WIDGET_FETCH(f) ((Ewl_View_Widget_Fetch)f) 00019 00023 typedef Ewl_Widget *(*Ewl_View_Widget_Fetch)(void *data, unsigned int row, 00024 unsigned int col); 00025 00030 #define EWL_VIEW_HEADER_GET(f) ((Ewl_View_Header_Fetch)f) 00031 00035 typedef Ewl_Widget *(*Ewl_View_Header_Fetch)(void *data, unsigned int column); 00036 00041 #define EWL_VIEW(view) ((Ewl_View *)view) 00042 00046 typedef struct Ewl_View Ewl_View; 00047 00052 #define EWL_VIEW_EXPANSION_VIEW_FETCH_GET(f) ((Ewl_View_Expansion_View_Fetch)f) 00053 00058 typedef Ewl_View *(*Ewl_View_Expansion_View_Fetch)(void *data, 00059 unsigned int row); 00060 00064 struct Ewl_View 00065 { 00066 Ewl_View_Widget_Fetch fetch; 00067 Ewl_View_Header_Fetch header_fetch; 00068 Ewl_View_Expansion_View_Fetch expansion; 00069 }; 00070 00071 Ewl_View *ewl_view_new(void); 00072 int ewl_view_init(Ewl_View *view); 00073 Ewl_View *ewl_view_clone(const Ewl_View *src); 00074 00075 void ewl_view_widget_fetch_set(Ewl_View *view, 00076 Ewl_View_Widget_Fetch construct); 00077 Ewl_View_Widget_Fetch ewl_view_widget_fetch_get(const Ewl_View *view); 00078 00079 void ewl_view_header_fetch_set(Ewl_View *v, 00080 Ewl_View_Header_Fetch f); 00081 Ewl_View_Header_Fetch ewl_view_header_fetch_get(const Ewl_View *v); 00082 00083 void ewl_view_expansion_view_fetch_set(Ewl_View *v, 00084 Ewl_View_Expansion_View_Fetch f); 00085 Ewl_View_Expansion_View_Fetch ewl_view_expansion_view_fetch_get(const Ewl_View *v); 00086 00091 #endif 00092