PIKApp/libpikabase/pikabasetypes.h

109 lines
3.5 KiB
C

/* LIBPIKA - The PIKA Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <https://www.gnu.org/licenses/>.
*/
#ifndef __PIKA_BASE_TYPES_H__
#define __PIKA_BASE_TYPES_H__
#include <libpikacolor/pikacolortypes.h>
#include <libpikamath/pikamathtypes.h>
#include <libpikabase/pikabaseenums.h>
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
/* XXX FIXME move these to a separate file */
#ifdef PIKA_DISABLE_DEPRECATION_WARNINGS
#define PIKA_DEPRECATED
#define PIKA_DEPRECATED_FOR(f)
#define PIKA_UNAVAILABLE(maj,min)
#else
#define PIKA_DEPRECATED G_DEPRECATED
#define PIKA_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f)
#define PIKA_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min)
#endif
typedef struct _PikaChoice PikaChoice;
typedef struct _PikaParasite PikaParasite;
typedef struct _PikaEnumDesc PikaEnumDesc;
typedef struct _PikaFlagsDesc PikaFlagsDesc;
typedef struct _PikaValueArray PikaValueArray;
typedef struct _PikaMetadata PikaMetadata;
/**
* PikaEnumDesc:
* @value: An enum value.
* @value_desc: The value's description.
* @value_help: The value's help text.
*
* This structure is used to register translatable descriptions and
* help texts for enum values. See pika_enum_set_value_descriptions().
**/
struct _PikaEnumDesc
{
gint value;
const gchar *value_desc;
const gchar *value_help;
};
/**
* PikaFlagsDesc:
* @value: A flag value.
* @value_desc: The value's description.
* @value_help: The value's help text.
*
* This structure is used to register translatable descriptions and
* help texts for flag values. See pika_flags_set_value_descriptions().
**/
struct _PikaFlagsDesc
{
guint value;
const gchar *value_desc;
const gchar *value_help;
};
void pika_type_set_translation_domain (GType type,
const gchar *domain);
const gchar * pika_type_get_translation_domain (GType type);
void pika_type_set_translation_context (GType type,
const gchar *context);
const gchar * pika_type_get_translation_context (GType type);
void pika_enum_set_value_descriptions (GType enum_type,
const PikaEnumDesc *descriptions);
const PikaEnumDesc * pika_enum_get_value_descriptions (GType enum_type);
void pika_flags_set_value_descriptions (GType flags_type,
const PikaFlagsDesc *descriptions);
const PikaFlagsDesc * pika_flags_get_value_descriptions (GType flags_type);
G_END_DECLS
#endif /* __PIKA_BASE_TYPES_H__ */