/**************************************************************
 * 
 * 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
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/



#ifndef SC_SHELLIDS_HXX
#define SC_SHELLIDS_HXX

// Sfx Interface-IDs
#define SCID_APP				(SFX_INTERFACE_SC_START+0)
#define SCID_DOC_SHELL			(SFX_INTERFACE_SC_START+1)
#define SCID_TABVIEW_SHELL		(SFX_INTERFACE_SC_START+2)
#define SCID_TABPOP_SHELL		(SFX_INTERFACE_SC_START+3)
#define SCID_EDIT_SHELL			(SFX_INTERFACE_SC_START+4)
#define SCID_DRAW_SHELL			(SFX_INTERFACE_SC_START+5)
#define SCID_DRAW_TEXT_SHELL	(SFX_INTERFACE_SC_START+6)
#define SCID_PREVIEW_SHELL      (SFX_INTERFACE_SC_START+7)
#define SCID_PIVOT_SHELL        (SFX_INTERFACE_SC_START+8)
#define SCID_AUDITING_SHELL     (SFX_INTERFACE_SC_START+9)
#define SCID_FORM_SHELL			(SFX_INTERFACE_SC_START+10)

#define SCID_FORMAT_SHELL		(SFX_INTERFACE_SC_START+11)
#define SCID_CELL_SHELL			(SFX_INTERFACE_SC_START+12)
#define SCID_OLEOBJECT_SHELL	(SFX_INTERFACE_SC_START+13)
#define SCID_CHART_SHELL		(SFX_INTERFACE_SC_START+14)
#define SCID_GRAPHIC_SHELL		(SFX_INTERFACE_SC_START+15)
#define SCID_PAGEBREAK_SHELL	(SFX_INTERFACE_SC_START+16)
#define SCID_MEDIA_SHELL		(SFX_INTERFACE_SC_START+17)


#endif


