/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: ViewShellBase.sdi,v $
 *
 *  $Revision: 1.12 $
 *
 *  last change: $Author: obo $ $Date: 2005-11-16 09:19:58 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    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
 *    Lesser 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, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/

/** This item holds the requested type of view shell when calling the
    SID_SWITCH_SHELL slot.
*/
SfxInt32Item SwitchViewShell SID_SWITCH_SHELL
[
    /* flags: */
    AutoUpdate = FALSE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = FALSE,
    ReadOnlyDoc = TRUE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = FALSE,
    MenuConfig = FALSE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = FALSE,
    GroupId = GID_VIEW;
]


/** This item holds the requested pane of the multi pane GUI in which a
    change of the view shell is requested by a call to the SID_SWITCH_SHELL
    slot.
*/
SfxInt32Item SwitchViewShellPane SID_SWITCH_SHELL_PANE
[
    // flags:
    AutoUpdate = FALSE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = FALSE,
    ReadOnlyDoc = TRUE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    // config:
    AccelConfig = FALSE,
    MenuConfig = FALSE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = FALSE,
    GroupId = GID_VIEW;
]

SfxBoolItem LeftPaneImpress SID_LEFT_PANE_IMPRESS

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = TRUE,
    ReadOnlyDoc = TRUE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = TRUE,
    MenuConfig = TRUE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = TRUE,
    GroupId = GID_MODIFY;
]

SfxBoolItem LeftPaneDraw SID_LEFT_PANE_DRAW

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = TRUE,
    ReadOnlyDoc = TRUE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = TRUE,
    MenuConfig = TRUE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = TRUE,
    GroupId = GID_MODIFY;
]

SfxBoolItem RightPane SID_RIGHT_PANE

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = TRUE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = TRUE,
    MenuConfig = TRUE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = TRUE,
    GroupId = GID_MODIFY;
]

SfxVoidItem NotesChildWindow SID_NOTES_WINDOW

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = FALSE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = TRUE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = FALSE,
    MenuConfig = FALSE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = FALSE,
    GroupId = GID_VIEW;
]

SfxBoolItem NormalMultiPaneGUI SID_NORMAL_MULTI_PANE_GUI

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = TRUE,
    ReadOnlyDoc = TRUE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = TRUE,
    MenuConfig = TRUE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = TRUE,
    GroupId = GID_MODIFY;
]

SfxBoolItem SlideSorterMultiPaneGUI SID_SLIDE_SORTER_MULTI_PANE_GUI

[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = TRUE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Asynchron;

    Readonly = FALSE,

    /* config: */
    AccelConfig = TRUE,
    MenuConfig = TRUE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = TRUE,
    GroupId = GID_MODIFY;
]

SfxVoidItem TaskPaneShowPanel SID_TASK_PANE (
    SfxBoolItem IsPanelVisible ID_VAL_ISVISIBLE,
    SfxUInt32Item PanelId ID_VAL_PANEL_INDEX)
[
    /* flags: */
    AutoUpdate = TRUE,
    Cachable = Cachable,
    FastCall = FALSE,
    HasCoreId = FALSE,
    HasDialog = FALSE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = TRUE,
    RecordAbsolute = FALSE,
    RecordPerSet;
    Synchron;

    /* config: */
    AccelConfig = FALSE,
    MenuConfig = FALSE,
    StatusBarConfig = FALSE,
    ToolBoxConfig = FALSE,
    GroupId = GID_VIEW;
]

interface ViewShellBaseView : View
{
    SID_SWITCH_SHELL
    [
        ExecMethod = Execute;
    ]
    SID_LEFT_PANE_IMPRESS
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_LEFT_PANE_DRAW
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_RIGHT_PANE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_NOTES_WINDOW
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_NORMAL_MULTI_PANE_GUI
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_SLIDE_SORTER_MULTI_PANE_GUI
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_DRAWINGMODE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_DIAMODE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_OUTLINEMODE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_NOTESMODE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_HANDOUTMODE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_TASK_PANE
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    SID_WIN_FULLSCREEN
    [
        ExecMethod = Execute;
        StateMethod = GetState;
    ]
    FN_INSERT_SOFT_HYPHEN // status(final|play)
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    FN_INSERT_HARDHYPHEN // status()
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    FN_INSERT_HARD_SPACE // status(final|play)
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    SID_INSERT_RLM
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    SID_INSERT_LRM
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    SID_INSERT_ZWSP
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    SID_INSERT_ZWNBSP
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
    SID_RESTORE_EDITING_VIEW
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
    ]
}

shell ViewShellBase : SfxViewShell
{
    import ViewShellBaseView[Automation];
}