/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


interface TableFont
[
    uuid ( "2E4AC1C0-137C-11D3-B25B-006097DA68F3" )
]
{
    SID_ATTR_CHAR_FONT          [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_PREVIEW_FONT  [ ExecMethod = ExecuteAttr; ]
    SID_ATTR_CHAR_ENDPREVIEW_FONT  [ ExecMethod = ExecuteAttr; ]
    SID_ATTR_CHAR_FONTHEIGHT    [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_COLOR         [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_WEIGHT    [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ATTR_CHAR_POSTURE   [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ATTR_CHAR_UNDERLINE [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ULINE_VAL_NONE      [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ULINE_VAL_SINGLE    [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ULINE_VAL_DOUBLE    [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ULINE_VAL_DOTTED    [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
}


interface FormatForSelection
[
    uuid ( "40F448A0-137C-11D3-B25B-006097DA68F3" )
]
{
    //Auch das Basic muss wieder laufen
    SbxObject Font SID_PROP_FONT
    [
    ]
    SbxObject Interior SID_PROP_INTERIOR // status(Final)
    [
    ]

    // Slot's die in der DrawShell disabled werden. {
    SID_STYLE_FAMILY2           [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_APPLY             [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_WATERCAN          [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_NEW_BY_EXAMPLE    [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_UPDATE_BY_EXAMPLE [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_NEW               [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_FAMILY4           [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_EDIT              [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_DELETE            [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_HIDE              [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_SHOW              [ ExecMethod = ExecuteStyle; StateMethod = GetStyleState; ]
    SID_STYLE_PREVIEW           [ ExecMethod = ExecuteStyle; ]
    SID_STYLE_END_PREVIEW           [ ExecMethod = ExecuteStyle; ]
    // } Slot's die in der DrawShell disabled werden.

    SID_ATTR_ALIGN_HOR_JUSTIFY    [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_VER_JUSTIFY    [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_INDENT [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_HYPHENATION [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_DEGREES     [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_STACKED     [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_LOCKPOS     [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]
    SID_ATTR_ALIGN_MARGIN      [ ExecMethod = ExecuteAlignment; StateMethod = GetAttrState; ]

    // pseudo slots from Format menu
    SID_ALIGN_ANY_LEFT      [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_HCENTER   [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_RIGHT     [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_JUSTIFIED [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_TOP       [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_VCENTER   [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_BOTTOM    [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_HDEFAULT  [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_ALIGN_ANY_VDEFAULT  [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]

    SID_SCATTR_PROTECTION [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_BACKGROUND_COLOR    [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_BRUSH      [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_OVERLINE  [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_STRIKEOUT [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_CONTOUR [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_SHADOWED [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_CHAR_RELIEF [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ALIGNLEFT       [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNRIGHT      [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNTOP        [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNBOTTOM     [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNCENTERVER  [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNBLOCK      [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]
    SID_ALIGNCENTERHOR  [ ExecMethod = ExecuteTextAttr; StateMethod = GetTextAttrState; ]

    SID_V_ALIGNCELL         [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]
    SID_H_ALIGNCELL         [ ExecMethod = ExecuteAlignment; StateMethod = GetAlignState; ]

    SID_TEXTDIRECTION_LEFT_TO_RIGHT [ ExecMethod = ExecuteTextDirection; StateMethod = GetTextDirectionState; ]
    SID_TEXTDIRECTION_TOP_TO_BOTTOM [ ExecMethod = ExecuteTextDirection; StateMethod = GetTextDirectionState; ]
    SID_ATTR_PARA_LEFT_TO_RIGHT     [ ExecMethod = ExecuteTextDirection; StateMethod = GetTextDirectionState; ]
    SID_ATTR_PARA_RIGHT_TO_LEFT     [ ExecMethod = ExecuteTextDirection; StateMethod = GetTextDirectionState; ]
    SID_VERTICALTEXT_STATE          [ StateMethod = GetTextDirectionState ; Export = FALSE; ]
    SID_CTLFONT_STATE               [ StateMethod = GetTextDirectionState ; Export = FALSE; ]

    SID_ATTR_NUMBERFORMAT_VALUE       [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState;]
    SID_NUMBER_FORMAT       [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState;]
    SID_NUMBER_TWODEC       [ ExecMethod = ExecuteNumFormat;]
    SID_NUMBER_SCIENTIFIC   [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState; ]
    SID_NUMBER_DATE         [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState; ]
    SID_NUMBER_CURRENCY     [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState; ]
    SID_NUMBER_PERCENT      [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState; ]
    SID_NUMBER_TIME         [ ExecMethod = ExecuteNumFormat; StateMethod = GetNumFormatState; ]
    SID_NUMBER_STANDARD     [ ExecMethod = ExecuteNumFormat;]
    SID_NUMBER_INCDEC       [ ExecMethod = ExecuteNumFormat;]
    SID_NUMBER_DECDEC       [ ExecMethod = ExecuteNumFormat;]

    SID_NUMBER_TYPE_FORMAT  [ ExecMethod = ExecuteNumFormat;StateMethod = GetNumFormatState; ]

    SID_ATTR_BORDER             [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]   //XXX
    SID_ATTR_BORDER_INNER       [                           StateMethod = GetBorderState; ] // status()
    SID_ATTR_BORDER_OUTER       [ ExecMethod = ExecuteAttr; StateMethod = GetBorderState; ]
    SID_ATTR_BORDER_SHADOW      [ ExecMethod = ExecuteAttr; StateMethod = GetBorderState; ]
    SID_ATTR_ALIGN_LINEBREAK    [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_FRAME_LINESTYLE         [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_FRAME_LINECOLOR         [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_BORDER_DIAG_TLBR   [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]
    SID_ATTR_BORDER_DIAG_BLTR   [ ExecMethod = ExecuteAttr; StateMethod = GetAttrState; ]

    SID_FORMATPAINTBRUSH    [ ExecMethod = ExecFormatPaintbrush; StateMethod = StateFormatPaintbrush; ]
}



shell ScFormatShell
{
    import FormatForSelection[Automation];
//  import Interior ".Interior";
    import TableFont ".Font";
}