/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_i18n_FormatElement_idl__
#define __com_sun_star_i18n_FormatElement_idl__

//============================================================================

module com {  module sun {  module star {  module i18n {

//============================================================================

/**
    One number format code and its attributes, returned in a sequence by
    <member>XLocaleData::getAllFormats()</member>.
    
    <p> Contains raw data defined in the XML locale data files. </p>

    @see XLocaleData
        for links to DTD of XML locale data files.
 */

published struct FormatElement
{
    /** The format code, for example, "YYYY-MM-DD". */
    string  formatCode;

    /** A name or description that is displayed in the number formatter
        dialog. */
    string  formatName;

    /** A unique (within one locale) identifier. */
    string  formatKey;

    /** Type may be one of "short", "medium", "long". */
    string  formatType;

    /** Usage category, for example, "DATE" or "FIXED_NUMBER",
        corresponding with <type>KNumberFormatUsage</type> values. */
    string  formatUsage;

    /** The index used by the number formatter, predefined values
        corresponding with <type>NumberFormatIndex</type> values. */
    short   formatIndex;

    /** If a format code is the default code of a <em>formatType</em>
        group. */
    boolean isDefault;
};

//============================================================================
}; }; }; };

#endif
