Top |
Functions
gchar * | gimp_any_to_utf8 () |
const gchar * | gimp_filename_to_utf8 () |
const gchar * | gimp_file_get_utf8_name () |
gboolean | gimp_file_has_extension () |
gboolean | gimp_file_show_in_file_manager () |
gchar * | gimp_utf8_strtrim () |
gchar * | gimp_escape_uline () |
gchar * | gimp_strip_uline () |
gchar * | gimp_canonicalize_identifier () |
GimpEnumDesc * | gimp_enum_get_desc () |
gboolean | gimp_enum_get_value () |
const gchar * | gimp_enum_value_get_desc () |
const gchar * | gimp_enum_value_get_help () |
const gchar * | gimp_enum_value_get_abbrev () |
GimpFlagsDesc * | gimp_flags_get_first_desc () |
gboolean | gimp_flags_get_first_value () |
const gchar * | gimp_flags_value_get_desc () |
const gchar * | gimp_flags_value_get_help () |
const gchar * | gimp_flags_value_get_abbrev () |
gboolean | gimp_stack_trace_available () |
gboolean | gimp_stack_trace_print () |
void | gimp_stack_trace_query () |
Functions
gimp_any_to_utf8 ()
gchar * gimp_any_to_utf8 (const gchar *str
,gssize len
,const gchar *warning_format
,...
);
This function takes any string (UTF-8 or not) and always returns a valid UTF-8 string.
If str
is valid UTF-8, a copy of the string is returned.
If UTF-8 validation fails, g_locale_to_utf8()
is tried and if it
succeeds the resulting string is returned.
Otherwise, the portion of str
that is UTF-8, concatenated
with "(invalid UTF-8 string)" is returned. If not even the start
of str
is valid UTF-8, only "(invalid UTF-8 string)" is returned.
gimp_filename_to_utf8 ()
const gchar *
gimp_filename_to_utf8 (const gchar *filename
);
Convert a filename in the filesystem's encoding to UTF-8
temporarily. The return value is a pointer to a string that is
guaranteed to be valid only during the current iteration of the
main loop or until the next call to gimp_filename_to_utf8()
.
The only purpose of this function is to provide an easy way to pass a filename in the filesystem encoding to a function that expects an UTF-8 encoded filename.
gimp_file_get_utf8_name ()
const gchar *
gimp_file_get_utf8_name (GFile *file
);
This function works like gimp_filename_to_utf8()
and returns
a UTF-8 encoded string that does not need to be freed.
It converts a GFile's path or uri to UTF-8 temporarily. The
return value is a pointer to a string that is guaranteed to be
valid only during the current iteration of the main loop or until
the next call to gimp_file_get_utf8_name()
.
The only purpose of this function is to provide an easy way to pass a GFile's name to a function that expects an UTF-8 encoded string.
Returns
A temporarily valid UTF-8 representation of file
's name.
This string must not be changed or freed.
Since: 2.10
gimp_file_has_extension ()
gboolean gimp_file_has_extension (GFile *file
,const gchar *extension
);
This function checks if file
's URI ends with extension
. It behaves
like g_str_has_suffix()
on g_file_get_uri()
, except that the string
comparison is done case-insensitively using g_ascii_strcasecmp()
.
Since: 2.10
gimp_file_show_in_file_manager ()
gboolean gimp_file_show_in_file_manager (GFile *file
,GError **error
);
Shows file
in the system file manager.
Since: 2.10
gimp_utf8_strtrim ()
gchar * gimp_utf8_strtrim (const gchar *str
,gint max_chars
);
Creates a (possibly trimmed) copy of str
. The string is cut if it
exceeds max_chars
characters or on the first newline. The fact
that the string was trimmed is indicated by appending an ellipsis.
Parameters
str |
an UTF-8 encoded string (or |
|
max_chars |
the maximum number of characters before the string get trimmed |
Returns
A (possibly trimmed) copy of str
which should be freed
using g_free()
when it is not needed any longer.
gimp_escape_uline ()
gchar *
gimp_escape_uline (const gchar *str
);
This function returns a copy of str
with all underline converted
to two adjacent underlines. This comes in handy when needing to display
strings with underlines (like filenames) in a place that would convert
them to mnemonics.
Returns
A (possibly escaped) copy of str
which should be
freed using g_free()
when it is not needed any longer.
Since: 2.2
gimp_strip_uline ()
gchar *
gimp_strip_uline (const gchar *str
);
This function returns a copy of str
stripped of underline
characters. This comes in handy when needing to strip mnemonics
from menu paths etc.
In some languages, mnemonics are handled by adding the mnemonic character in brackets (like "File (_F)"). This function recognizes this construct and removes the whole bracket construction to get rid of the mnemonic (see bug 157561).
Returns
A (possibly stripped) copy of str
which should be
freed using g_free()
when it is not needed any longer.
gimp_canonicalize_identifier ()
gchar *
gimp_canonicalize_identifier (const gchar *identifier
);
Turns any input string into a canonicalized string.
Canonical identifiers are e.g. expected by the PDB for procedure and parameter names. Every character of the input string that is not either '-', 'a-z', 'A-Z' or '0-9' will be replaced by a '-'.
Returns
The canonicalized identifier. This is a newly
allocated string that should be freed with g_free()
when no longer needed.
Since: 2.4
gimp_enum_get_desc ()
GimpEnumDesc * gimp_enum_get_desc (GEnumClass *enum_class
,gint value
);
Retrieves GimpEnumDesc associated with the given value, or NULL
.
Since: 2.2
gimp_enum_get_value ()
gboolean gimp_enum_get_value (GType enum_type
,gint value
,const gchar **value_name
,const gchar **value_nick
,const gchar **value_desc
,const gchar **value_help
);
Checks if value
is valid for the enum registered as enum_type
.
If the value exists in that enum, its name, nick and its translated
description and help are returned (if value_name
, value_nick
,
value_desc
and value_help
are not NULL
).
Parameters
enum_type |
the GType of a registered enum |
|
value |
an integer value |
|
value_name |
return location for the value's name (or |
|
value_nick |
return location for the value's nick (or |
|
value_desc |
return location for the value's translated description (or |
|
value_help |
return location for the value's translated help (or |
Since: 2.2
gimp_enum_value_get_desc ()
const gchar * gimp_enum_value_get_desc (GEnumClass *enum_class
,GEnumValue *enum_value
);
Retrieves the translated description for a given enum_value
.
Since: 2.2
gimp_enum_value_get_help ()
const gchar * gimp_enum_value_get_help (GEnumClass *enum_class
,GEnumValue *enum_value
);
Retrieves the translated help for a given enum_value
.
Since: 2.2
gimp_enum_value_get_abbrev ()
const gchar * gimp_enum_value_get_abbrev (GEnumClass *enum_class
,GEnumValue *enum_value
);
Retrieves the translated abbreviation for a given enum_value
.
Since: 2.10
gimp_flags_get_first_desc ()
GimpFlagsDesc * gimp_flags_get_first_desc (GFlagsClass *flags_class
,guint value
);
Retrieves the first GimpFlagsDesc that matches the given value, or NULL
.
Since: 2.2
gimp_flags_get_first_value ()
gboolean gimp_flags_get_first_value (GType flags_type
,guint value
,const gchar **value_name
,const gchar **value_nick
,const gchar **value_desc
,const gchar **value_help
);
Checks if value
is valid for the flags registered as flags_type
.
If the value exists in that flags, its name, nick and its
translated description and help are returned (if value_name
,
value_nick
, value_desc
and value_help
are not NULL
).
Parameters
flags_type |
the GType of registered flags |
|
value |
an integer value |
|
value_name |
return location for the value's name (or |
|
value_nick |
return location for the value's nick (or |
|
value_desc |
return location for the value's translated description (or |
|
value_help |
return location for the value's translated help (or |
Since: 2.2
gimp_flags_value_get_desc ()
const gchar * gimp_flags_value_get_desc (GFlagsClass *flags_class
,GFlagsValue *flags_value
);
Retrieves the translated description for a given flags_value
.
Since: 2.2
gimp_flags_value_get_help ()
const gchar * gimp_flags_value_get_help (GFlagsClass *flags_class
,GFlagsValue *flags_value
);
Retrieves the translated help for a given flags_value
.
Since: 2.2
gimp_flags_value_get_abbrev ()
const gchar * gimp_flags_value_get_abbrev (GFlagsClass *flags_class
,GFlagsValue *flags_value
);
Retrieves the translated abbreviation for a given flags_value
.
Since: 2.10
gimp_stack_trace_available ()
gboolean
gimp_stack_trace_available (gboolean optimal
);
Returns TRUE if we have dependencies to generate backtraces. If
optimal
is TRUE, the function will return TRUE only when we
are able to generate optimal traces (i.e. with GDB or LLDB);
otherwise we return TRUE even if only backtrace()
API is available.
On Win32, we return TRUE if Dr. Mingw is built-in, FALSE otherwise.
Note: this function is not crash-safe, i.e. you should not try to use
it in a callback when the program is already crashing. In such a
case, call gimp_stack_trace_print()
or gimp_stack_trace_query()
directly.
Since: 2.10
gimp_stack_trace_print ()
gboolean gimp_stack_trace_print (const gchar *prog_name
,gpointer stream
,gchar **trace
);
Attempts to generate a stack trace at current code position in
prog_name
. prog_name
is mostly a helper and can be set to NULL.
Nevertheless if set, it has to be the current program name (argv[0]).
This function is not meant to generate stack trace for third-party
programs, and will attach the current process id only.
Internally, this function uses gdb
or lldb
if they are available,
or the stacktrace()
API on platforms where it is available. It always
fails on Win32.
The stack trace, once generated, will either be printed to stream
or
returned as a newly allocated string in trace
, if not NULL.
In some error cases (e.g. segmentation fault), trying to allocate more memory will trigger more segmentation faults and therefore loop our error handling (which is just wrong). Therefore printing to a file description is an implementation without any memory allocation.
Parameters
prog_name |
the program to attach to. |
|
stream |
a FILE * stream. |
|
trace |
location to store a newly allocated string of the trace. |
Since: 2.10
gimp_stack_trace_query ()
void
gimp_stack_trace_query (const gchar *prog_name
);
This is mostly the same as g_on_error_query()
except that we use our
own backtrace function, much more complete.
prog_name
must be the current program name (argv[0]).
It does nothing on Win32.
Since: 2.10