00001
00013 #ifndef GITK_TOOLS_H
00014 #define GITK_TOOLS_H
00015
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019
00020 #ifdef GITK_TOOLS_C
00021 void gitk_dialog_dump(xmlDocPtr const doc);
00022
00023 xmlXPathObjectPtr gitk_xpath_type_filter(xmlXPathObjectPtr xpath_optr,const xmlXPathObjectType type);
00024
00025 xmlXPathObjectPtr gitk__cxpath_get_object(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_comp_expression, xmlNodePtr const root_node);
00026 xmlXPathObjectPtr gitk__xpath_get_object(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00027 gchar *gitk__cxpath_get_string(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_comp_expression, xmlNodePtr const root_node);
00028 gchar *gitk__xpath_get_string(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00029 xmlNodePtr gitk__cxpath_get_node(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_comp_expression, xmlNodePtr const root_node);
00030 xmlNodePtr gitk__xpath_get_node(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00031
00032 gchar *gitk_get_widget_xpath_expression(const gchar * const widget_id);
00033 gchar *gitk_get_widget_child_xpath_expression(const gchar * const widget_id,const gchar * const widget_value);
00034
00035 void gitk_dialog_safe_new_child(xmlNsPtr const ns,xmlNodePtr const parent,gchar * const name,gchar * const content);
00036
00037 char *parse_commandline_arg(guint * const argc, gchar *** const argv, guint * const i, gchar * const argn);
00038 void cleanup_commandline_args(guint * const argc, gchar *** const argv);
00039
00040 int gitk_puts(const char *utf8);
00041 int gitk_printf(const char *utf8,...);
00042 #else
00043 extern void gitk_dialog_dump(xmlDocPtr const doc);
00044
00045 extern xmlXPathObjectPtr gitk_xpath_type_filter(xmlXPathObjectPtr xpath_optr,const xmlXPathObjectType type);
00046
00047 extern xmlXPathObjectPtr gitk__cxpath_get_object(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_expression, xmlNodePtr const root_node);
00048 extern xmlXPathObjectPtr gitk__xpath_get_object(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00049 extern gchar *gitk__cxpath_get_string(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_comp_expression, xmlNodePtr const root_node);
00050 extern gchar *gitk__xpath_get_string(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00051 extern xmlNodePtr gitk__cxpath_get_node(GitkDialogPtr const dialog,GitkDialogAccessType access_type,xmlXPathCompExprPtr const xpath_comp_expression, xmlNodePtr const root_node);
00052 extern xmlNodePtr gitk__xpath_get_node(GitkDialogPtr const dialog,GitkDialogAccessType access_type,gchar * const xpath_expression, xmlNodePtr const root_node);
00053
00054 #ifdef GITK_LIB_C
00055 extern gchar *gitk_get_widget_xpath_expression(const gchar * const widget_id);
00056 extern gchar *gitk_get_widget_child_xpath_expression(const gchar * const widget_id,const gchar * const widget_value);
00057 #endif
00058
00059 extern void gitk_dialog_safe_new_child(xmlNsPtr const ns,xmlNodePtr const parent,gchar * const name,gchar * const content);
00060
00061 extern char *parse_commandline_arg(guint * const argc, gchar *** const argv, guint * const i, gchar * const argn);
00062 extern void cleanup_commandline_args(guint * const argc, gchar *** const argv);
00063
00064 extern int gitk_puts(const char *utf8);
00065 extern int gitk_printf(const char *utf8,...);
00066 #endif
00067
00068
00069 #if defined(GITK_LIB_C) || defined(GITK_RENDERER_C)
00070 #define gitk_cxpath_get_object(dialog,xpath_comp_expression,root_node) gitk__cxpath_get_object(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_comp_expression,root_node)
00071 #define gitk_xpath_get_object(dialog,xpath_expression,root_node) gitk__xpath_get_object(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_expression,root_node)
00072 #define gitk_cxpath_get_string(dialog,xpath_comp_expression,root_node) gitk__cxpath_get_string(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_comp_expression,root_node)
00073 #define gitk_xpath_get_string(dialog,xpath_expression,root_node) gitk__xpath_get_string(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_expression,root_node)
00074 #define gitk_cxpath_get_node(dialog,xpath_comp_expression,root_node) gitk__xpath_get_node(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_comp_expression,root_node)
00075 #define gitk_xpath_get_node(dialog,xpath_expression,root_node) gitk__xpath_get_node(dialog,GITK_DIALOG_ACCESS_RENDERER,xpath_expression,root_node)
00076 #else
00077 #define gitk_cxpath_get_object(dialog,xpath_comp_expression,root_node) gitk__cxpath_get_object(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_comp_expression,root_node)
00078 #define gitk_xpath_get_object(dialog,xpath_expression,root_node) gitk__xpath_get_object(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_expression,root_node)
00079 #define gitk_cxpath_get_string(dialog,xpath_comp_expression,root_node) gitk__cxpath_get_string(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_comp_expression,root_node)
00080 #define gitk_xpath_get_string(dialog,xpath_expression,root_node) gitk__xpath_get_string(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_expression,root_node)
00081 #define gitk_cxpath_get_node(dialog,xpath_comp_expression,root_node) gitk__xpath_get_node(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_comp_expression,root_node)
00082 #define gitk_xpath_get_node(dialog,xpath_expression,root_node) gitk__xpath_get_node(dialog,GITK_DIALOG_ACCESS_CLIENT,xpath_expression,root_node)
00083 #endif
00084
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088
00089 #endif