|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Copyright (C) 2002-2006 Sergey V. Udaltsov <svu@gnome.org>
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is free software; you can redistribute it and/or
|
|
Packit Service |
93d855 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License as published by the Free Software Foundation; either
|
|
Packit Service |
93d855 |
* version 2 of the License, or (at your option) any later version.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* This library is distributed in the hope that it will be useful,
|
|
Packit Service |
93d855 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
93d855 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
93d855 |
* Lesser General Public License for more details.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
93d855 |
* License along with this library; if not, write to the
|
|
Packit Service |
93d855 |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit Service |
93d855 |
* Boston, MA 02111-1307, USA.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifndef __XKL_CONFIG_ITEM_H__
|
|
Packit Service |
93d855 |
#define __XKL_CONFIG_ITEM_H__
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#include <glib-object.h>
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Maximum name length, including '\'0' character
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XKL_MAX_CI_NAME_LENGTH 32
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Maximum short description length, including '\\0' character
|
|
Packit Service |
93d855 |
* (this length is in bytes, so for UTF-8 encoding in
|
|
Packit Service |
93d855 |
* XML file the actual maximum length can be smaller)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XKL_MAX_CI_SHORT_DESC_LENGTH 10
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/*
|
|
Packit Service |
93d855 |
* Maximum description length, including '\\0' character
|
|
Packit Service |
93d855 |
* (this length is in bytes, so for UTF-8 encoding in
|
|
Packit Service |
93d855 |
* XML file the actual maximum length can be smaller)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XKL_MAX_CI_DESC_LENGTH 192
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifdef __cplusplus
|
|
Packit Service |
93d855 |
extern "C" {
|
|
Packit Service |
93d855 |
#endif /* __cplusplus */
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
typedef struct _XklConfigItem XklConfigItem;
|
|
Packit Service |
93d855 |
typedef struct _XklConfigItemClass XklConfigItemClass;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#define XKL_TYPE_CONFIG_ITEM (xkl_config_item_get_type ())
|
|
Packit Service |
93d855 |
#define XKL_CONFIG_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XKL_TYPE_CONFIG_ITEM, XklConfigItem))
|
|
Packit Service |
93d855 |
#define XKL_CONFIG_ITEM_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), XKL_CONFIG_ITEM, XklConfigItemClass))
|
|
Packit Service |
93d855 |
#define XKL_IS_CONFIG_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XKL_TYPE_CONFIG_ITEM))
|
|
Packit Service |
93d855 |
#define XKL_IS_CONFIG_ITEM_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), XKL_TYPE_CONFIG_ITEM))
|
|
Packit Service |
93d855 |
#define XKL_CONFIG_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XKL_TYPE_CONFIG_ITEM, XklConfigItemClass))
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* _XklConfigItem:
|
|
Packit Service |
93d855 |
* @parent: The superclass object
|
|
Packit Service |
93d855 |
* @name: The configuration item name. Corresponds to XML element "name".
|
|
Packit Service |
93d855 |
* @short_description: The configuration item short description. Corresponds to XML element "shortDescription".
|
|
Packit Service |
93d855 |
* @description: The configuration item description. Corresponds to XML element "description".
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* The configuration item. Corresponds to XML element "configItem".
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
struct _XklConfigItem {
|
|
Packit Service |
93d855 |
GObject parent;
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gchar name[XKL_MAX_CI_NAME_LENGTH];
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gchar short_description[XKL_MAX_CI_DESC_LENGTH];
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
gchar description[XKL_MAX_CI_DESC_LENGTH];
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XCI_PROP_ALLOW_MULTIPLE_SELECTION:
|
|
Packit Service |
93d855 |
* Extra property for the XklConfigItem, defining whether the group allows multiple selection
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XCI_PROP_ALLOW_MULTIPLE_SELECTION "allowMultipleSelection"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XCI_PROP_VENDOR:
|
|
Packit Service |
93d855 |
* Extra property for the XklConfigItem, defining the vendor (used for models)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XCI_PROP_VENDOR "vendor"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XCI_PROP_COUNTRY_LIST:
|
|
Packit Service |
93d855 |
* Extra property for the XklConfigItem, defining the list of countries (used for layouts/variants)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XCI_PROP_COUNTRY_LIST "countryList"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XCI_PROP_LANGUAGE_LIST:
|
|
Packit Service |
93d855 |
* Extra property for the XklConfigItem, defining the list of languages (used for layouts/variants)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XCI_PROP_LANGUAGE_LIST "languageList"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* XCI_PROP_EXTRA_ITEM:
|
|
Packit Service |
93d855 |
* Extra property for the XklConfigItem, defining whether that item is exotic(extra)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
#define XCI_PROP_EXTRA_ITEM "extraItem"
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* _XklConfigItemClass:
|
|
Packit Service |
93d855 |
* @parent_class: The superclass
|
|
Packit Service |
93d855 |
* The XklConfigItem class, derived from GObject
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
struct _XklConfigItemClass {
|
|
Packit Service |
93d855 |
GObjectClass parent_class;
|
|
Packit Service |
93d855 |
};
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_get_type:
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Get type info for XklConfigItem
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: GType for XklConfigItem
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern GType xkl_config_item_get_type(void);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_new:
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Create new XklConfigItem
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: new instance
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern XklConfigItem *xkl_config_item_new(void);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_get_name:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: The @name field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern const gchar * xkl_config_item_get_name(XklConfigItem * item);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_set_name:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object to be changed
|
|
Packit Service |
93d855 |
* @name: (transfer none) (allow-none): Name (max. 32 characters); can be NULL.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Change the @name field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern void xkl_config_item_set_name(XklConfigItem * item,
|
|
Packit Service |
93d855 |
const gchar * name);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_get_short_description:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: The @short_description field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern const gchar * xkl_config_item_get_short_description(XklConfigItem * item);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_set_short_description:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object to be changed
|
|
Packit Service |
93d855 |
* @short_description: (transfer none) (allow-none): Short Description (max. 10
|
|
Packit Service |
93d855 |
* characters); can be NULL.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Change the @short_description field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern void xkl_config_item_set_short_description(XklConfigItem * item,
|
|
Packit Service |
93d855 |
const gchar * short_description);
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_get_description:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: The @description field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern const gchar * xkl_config_item_get_description(XklConfigItem * item);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_config_item_set_description:
|
|
Packit Service |
93d855 |
* @item: the XklConfigItem object to be changed
|
|
Packit Service |
93d855 |
* @description: (transfer none) (allow-none): Description (max. 192
|
|
Packit Service |
93d855 |
* characters); can be NULL.
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Change the @description field of a XklConfigItem. This is mostly useful for
|
|
Packit Service |
93d855 |
* language bindings, in C you can manipulate the member directly.
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern void xkl_config_item_set_description(XklConfigItem * item,
|
|
Packit Service |
93d855 |
const gchar * description);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_get_country_name:
|
|
Packit Service |
93d855 |
* @code: ISO 3166 Alpha 2 code: 2 chars, uppercase (US, RU, FR, ...)
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Get localized country name, from ISO code
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: localized country name (USA, Russia, France, ... translated)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern const gchar * xkl_get_country_name(const gchar * code);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
/**
|
|
Packit Service |
93d855 |
* xkl_get_language_name:
|
|
Packit Service |
93d855 |
* @code: ISO 639 2B or 2T code: 3 chars, lowercase (eng, rus, fra, ...)
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Get localized language name, from ISO code
|
|
Packit Service |
93d855 |
*
|
|
Packit Service |
93d855 |
* Returns: localized country name (English, Russiam, French, ... translated)
|
|
Packit Service |
93d855 |
*/
|
|
Packit Service |
93d855 |
extern const gchar * xkl_get_language_name(const gchar * code);
|
|
Packit Service |
93d855 |
|
|
Packit Service |
93d855 |
#ifdef __cplusplus
|
|
Packit Service |
93d855 |
}
|
|
Packit Service |
93d855 |
#endif /* __cplusplus */
|
|
Packit Service |
93d855 |
#endif
|