00001 00012 #define GITK_RENDERER_C 00013 #define GITKR_TOOLS_C 00014 00015 #include "gitkrincludes.h" 00016 00024 gchar *gitkr_cxpath_get_string(GitkDialogPtr dialog, xmlXPathCompExprPtr xpath_expr, xmlNodePtr root_node) { 00025 gchar *str,*res,*cs; 00026 00027 #ifdef ENABLE_NLS 00028 cs=nl_langinfo(CODESET); 00029 #else 00030 cs="ISO-8859-1"; 00031 #endif 00032 str=gitk_cxpath_get_string(dialog,xpath_expr,root_node); 00033 res=g_convert(str,-1,cs,"UTF-8",NULL,NULL,NULL); 00034 g_free(str); 00035 return(res); 00036 } 00037 00045 void gitkr_widget_set_value(GitkDialogPtr const dialog,gchar * const widget_id,const gchar *name, const gchar *data) { 00046 gchar *str,*cs; 00047 00048 #ifdef ENABLE_NLS 00049 cs=nl_langinfo(CODESET); 00050 #else 00051 cs="ISO-8859-1"; 00052 #endif 00053 00054 str=g_convert(data,-1,"UTF-8",cs,NULL,NULL,NULL); 00055 gitk_widget_set_value(dialog,widget_id,name,str); 00056 g_free(str); 00057 } 00058 00067 gchar *gitkr_widget_get_value(GitkDialogPtr const dialog,gchar * const widget_id,const gchar *name) { 00068 gchar *str,*res,*cs; 00069 00070 #ifdef ENABLE_NLS 00071 cs=nl_langinfo(CODESET); 00072 #else 00073 cs="ISO-8859-1"; 00074 #endif 00075 00076 str=gitk_widget_get_value(dialog,widget_id,name); 00077 res=g_convert(str,-1,cs,"UTF-8",NULL,NULL,NULL); 00078 xmlFree(str); 00079 return(res); 00080 } 00081 00085 guint color_name_to_code(gchar *name,guint def) { 00086 if(name) { 00087 if(!strncasecmp(name,"black",5)) def=COLOR_BLACK; 00088 else if(!strncasecmp(name,"red",3)) def=COLOR_RED; 00089 else if(!strncasecmp(name,"green",5)) def=COLOR_GREEN; 00090 else if(!strncasecmp(name,"yellow",6)) def=COLOR_YELLOW; 00091 else if(!strncasecmp(name,"blue",4)) def=COLOR_BLUE; 00092 else if(!strncasecmp(name,"magenta",7)) def=COLOR_MAGENTA; 00093 else if(!strncasecmp(name,"cyan",4)) def=COLOR_CYAN; 00094 else if(!strncasecmp(name,"white",5)) def=COLOR_WHITE; 00095 else gitk_log1("unknown color=\"%s\"",name); 00096 } 00097 return(def); 00098 } 00099 00103 gboolean color_name_to_attr(gchar *name,gboolean def) { 00104 if(name) { 00105 def=(gboolean)isupper((int)name[0]); 00106 } 00107 return(def); 00108 } 00109