/**************************************************************
 * 
 * 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 _BASIDESH_HRC
#define _BASIDESH_HRC

#ifndef _SVTOOLS_IMAGEMGR_HRC
#include <svtools/imagemgr.hrc>
#endif

#ifndef _SVX_SVXIDS_HRC
#include <svx/svxids.hrc>
#endif


// Resource-ID's...
#ifndef _SVX_NOIDERESIDS

#define RID_BASICIDE_OBJECTBAR			( RID_BASICIDE_START +  0 )
#define RID_BASICMENU					( RID_BASICIDE_START +  1 )
#define RID_BASICPLUGINMENU             ( RID_BASICIDE_START +  2 )
#define RID_EDT_WATCHEDIT				( RID_BASICIDE_START +  4 )
#define RID_ICO_MDIWINDOW				( RID_BASICIDE_START +  5 )
#define RID_POPUP_BRKDLG				( RID_BASICIDE_START + 10 )
#define RID_POPUP_BRKPROPS				( RID_BASICIDE_START + 11 )
#define RID_POPUP_TABBAR				( RID_BASICIDE_START + 12 )
#define RID_TD_ORGANIZE					( RID_BASICIDE_START + 36 )
#define RID_TP_MODULS					( RID_BASICIDE_START + 37 )
#define RID_TP_LIBS						( RID_BASICIDE_START + 38 )
#define RID_TP_DLGS						( RID_BASICIDE_START + 39 )
#define RID_DLG_LIBS					( RID_BASICIDE_START + 40 )
#define RID_DLG_NEWLIB					( RID_BASICIDE_START + 42 )
#define RID_DLG_EXPORT					( RID_BASICIDE_START + 43 )
#define RID_POPUP_DLGED					( RID_BASICIDE_START + 62 )
#define RID_PRINTDLG_STRLIST            ( RID_BASICIDE_START + 78 )

#define RID_IMG_LOCKED_HC				( RID_BASICIDE_START +  6 )
#define RID_IMGBTN_REMOVEWATCH          ( RID_BASICIDE_START +  8 )
#define RID_IMGBTN_GOTOCALL				( RID_BASICIDE_START +  9 )
#define RID_IMGLST_LAYOUT_HC			( RID_BASICIDE_START + 14 )
#define RID_IMG_REMOVEWATCH_HC			( RID_BASICIDE_START + 15 )
#define RID_IMG_INSTALLATION			( RID_BASICIDE_START + 20 )
#define RID_IMG_INSTALLATION_HC			( RID_BASICIDE_START + 21 )
#define RID_IMG_DOCUMENT				( RID_BASICIDE_START + 22 )
#define RID_IMG_DOCUMENT_HC				( RID_BASICIDE_START + 23 )
#define RID_IMG_MODLIB					( RID_BASICIDE_START + 24 )
#define RID_IMG_MODLIB_HC				( RID_BASICIDE_START + 25 )
#define RID_IMG_MODLIBNOTLOADED			( RID_BASICIDE_START + 26 )
#define RID_IMG_MODLIBNOTLOADED_HC		( RID_BASICIDE_START + 27 )
#define RID_IMG_MODULE					( RID_BASICIDE_START + 28 )
#define RID_IMG_MODULE_HC				( RID_BASICIDE_START + 29 )
#define RID_IMG_MACRO					( RID_BASICIDE_START + 30 )
#define RID_IMG_MACRO_HC				( RID_BASICIDE_START + 31 )
#define RID_IMG_DLGLIB					( RID_BASICIDE_START + 32 )
#define RID_IMG_DLGLIB_HC				( RID_BASICIDE_START + 33 )
#define RID_IMG_DLGLIBNOTLOADED			( RID_BASICIDE_START + 34 )
#define RID_IMG_DLGLIBNOTLOADED_HC		( RID_BASICIDE_START + 35 )
#define RID_IMG_DIALOG					( RID_BASICIDE_START + 36 )
#define RID_IMG_DIALOG_HC				( RID_BASICIDE_START + 37 )
#define RID_IMG_LOCKED					( RID_BASICIDE_START + 41 )
#define RID_IMGLST_LAYOUT				( RID_BASICIDE_START + 49 )

#define RID_STR_SEARCHALLMODULES		( RID_BASICIDE_START +  1 )
#define RID_STR_SEARCHFROMSTART			( RID_BASICIDE_START +  2 )
#define RID_STR_NOMODULE				( RID_BASICIDE_START +  3 )
#define RID_STR_FILTER_ALLFILES			( RID_BASICIDE_START +  4 )
// free
#define RID_STR_CANNOTCLOSE				( RID_BASICIDE_START + 13 )
#define RID_STR_IDENAME               	( RID_BASICIDE_START + 14 )
#define RID_STR_INITIDE					( RID_BASICIDE_START + 15 )
#define RID_STR_STACKNAME				( RID_BASICIDE_START + 16 )
#define RID_STR_WATCHNAME				( RID_BASICIDE_START + 17 )
#define RID_STR_REMOVEWATCH          	( RID_BASICIDE_START + 18 )
#define RID_STR_CANNOTRUNMACRO         	( RID_BASICIDE_START + 19 )
#define RID_STR_OPEN					( RID_BASICIDE_START + 20 )
#define RID_STR_SAVE					( RID_BASICIDE_START + 21 )
#define RID_STR_RUNTIMEERROR			( RID_BASICIDE_START + 22 )
#define RID_STR_COMPILEERROR			( RID_BASICIDE_START + 23 )
#define RID_STR_STDDIALOGNAME   		( RID_BASICIDE_START + 24 )
#define RID_STR_STDMACRONAME			( RID_BASICIDE_START + 25 )
#define RID_STR_STDJAVAFUNCTIONNAME		( RID_BASICIDE_START + 26 )
#define RID_STR_STDMODULENAME   		( RID_BASICIDE_START + 27 )
#define RID_STR_ALL						( RID_BASICIDE_START + 28 )
#define RID_STR_CLOSE					( RID_BASICIDE_START + 29 )
#define RID_STR_PAGE					( RID_BASICIDE_START + 30 )
#define RID_STR_BADSBXNAME				( RID_BASICIDE_START + 31 )
#define RID_STR_STDLIBNAME   			( RID_BASICIDE_START + 32 )
#define RID_STR_ERROROPENSTORAGE		( RID_BASICIDE_START + 33 )
#define RID_STR_NOLIBINSTORAGE			( RID_BASICIDE_START + 34 )
#define RID_STR_SBXNAMEALLREADYUSED 	( RID_BASICIDE_START + 35 )
#define RID_STR_SIGNED                  ( RID_BASICIDE_START + 36 )
#define RID_STR_WATCHVARIABLE			( RID_BASICIDE_START + 37 )
#define RID_STR_WATCHVALUE				( RID_BASICIDE_START + 38 )
#define RID_STR_WATCHTYPE				( RID_BASICIDE_START + 39 )
// free
#define RID_STR_REPLACESTDLIB			( RID_BASICIDE_START + 41 )
#define RID_STR_SBXNAMEALLREADYUSED2 	( RID_BASICIDE_START + 42 )
#define RID_STR_SEARCHNOTFOUND			( RID_BASICIDE_START + 43 )
#define RID_STR_SEARCHREPLACES			( RID_BASICIDE_START + 44 )
#define RID_STR_CANNOTCHANGENAMESTDLIB	( RID_BASICIDE_START + 45 )
#define RID_STR_CANNOTCHANGENAMEREFLIB	( RID_BASICIDE_START + 46 )
#define RID_STR_CANNOTUNLOADSTDLIB		( RID_BASICIDE_START + 47 )
#define RID_STR_GENERATESOURCE			( RID_BASICIDE_START + 48 )
#define RID_STR_REFNOTPOSSIBLE			( RID_BASICIDE_START + 49 )
#define RID_STR_FILEEXISTS				( RID_BASICIDE_START + 50 )
// free
#define RID_STR_ERROROPENLIB			( RID_BASICIDE_START + 55 )
#define RID_STR_STDJAVAMODULENAME   	( RID_BASICIDE_START + 56 )
#define RID_STR_NEWLIB					( RID_BASICIDE_START + 57 )
#define RID_STR_NEWMOD					( RID_BASICIDE_START + 58 )
#define RID_STR_NEWDLG					( RID_BASICIDE_START + 59 )
#define RID_STR_LIBNAMETOLONG			( RID_BASICIDE_START + 60 )
#define RID_STR_ERRORCHOOSEMACRO		( RID_BASICIDE_START + 61 )
// free
#define RID_STR_LIBISREADONLY			( RID_BASICIDE_START + 63 )
#define RID_STR_REPLACELIB				( RID_BASICIDE_START + 64 )
// free
#define RID_STR_IMPORTNOTPOSSIBLE		( RID_BASICIDE_START + 67 )
#define RID_STR_NOIMPORT				( RID_BASICIDE_START + 68 )
#define RID_STR_ENTERPASSWORD			( RID_BASICIDE_START + 69 )
// free
#define RID_STR_NEWMETH					( RID_BASICIDE_START + 71 )
#define RID_STR_USERMACROS				( RID_BASICIDE_START + 72 )
#define RID_STR_USERDIALOGS				( RID_BASICIDE_START + 73 )
#define RID_STR_USERMACROSDIALOGS		( RID_BASICIDE_START + 74 )
#define RID_STR_SHAREMACROS				( RID_BASICIDE_START + 75 )
#define RID_STR_SHAREDIALOGS			( RID_BASICIDE_START + 76 )
#define RID_STR_SHAREMACROSDIALOGS		( RID_BASICIDE_START + 77 )
// free
#define RID_STR_QUERYREPLACEMACRO		( RID_BASICIDE_START + 80 )
#define RID_STR_FILENAME				( RID_BASICIDE_START + 81 )
#define RID_STR_APPENDLIBS				( RID_BASICIDE_START + 82 )
#define RID_STR_QUERYDELMACRO			( RID_BASICIDE_START + 83 )
#define RID_STR_QUERYDELDIALOG			( RID_BASICIDE_START + 84 )
#define RID_STR_QUERYDELLIB				( RID_BASICIDE_START + 85 )
#define RID_STR_QUERYDELLIBREF			( RID_BASICIDE_START + 86 )
#define RID_STR_QUERYDELMODULE			( RID_BASICIDE_START + 87 )
#define RID_STR_BASIC					( RID_BASICIDE_START + 88 )
#define RID_STR_DOC						( RID_BASICIDE_START + 89 )
#define RID_STR_MACRONAMEREQ			( RID_BASICIDE_START + 90 )
#define RID_STR_WILLSTOPPRG				( RID_BASICIDE_START + 91 )
#define RID_STR_STACK					( RID_BASICIDE_START + 92 )
#define RID_STR_OBJNOTFOUND				( RID_BASICIDE_START + 93 )
#define RID_STR_COULDNTREAD				( RID_BASICIDE_START + 94 )
#define RID_STR_COULDNTWRITE			( RID_BASICIDE_START + 95 )
#define RID_STR_WRONGPASSWORD			( RID_BASICIDE_START + 96 )
#define RID_STR_LINE					( RID_BASICIDE_START + 97 )
#define RID_STR_COLUMN					( RID_BASICIDE_START + 98 )
#define RID_STR_SOURCETOBIG				( RID_BASICIDE_START + 99 )
#define RID_STR_EXPORTPACKAGE			( RID_BASICIDE_START + 100 )
#define RID_STR_EXPORTBASIC				( RID_BASICIDE_START + 101 )
#define RID_STR_PACKAGE_BUNDLE			( RID_BASICIDE_START + 102 )

#define RID_STR_DLGIMP_CLASH_RENAME		( RID_BASICIDE_START + 110 )
#define RID_STR_DLGIMP_CLASH_REPLACE	( RID_BASICIDE_START + 111 )
#define	RID_STR_DLGIMP_CLASH_TITLE		( RID_BASICIDE_START + 112 )
#define	RID_STR_DLGIMP_CLASH_TEXT		( RID_BASICIDE_START + 113 )
#define	RID_STR_DLGIMP_MISMATCH_ADD		( RID_BASICIDE_START + 114 )
#define	RID_STR_DLGIMP_MISMATCH_OMIT	( RID_BASICIDE_START + 115 )
#define	RID_STR_DLGIMP_MISMATCH_TITLE	( RID_BASICIDE_START + 116 )
#define	RID_STR_DLGIMP_MISMATCH_TEXT	( RID_BASICIDE_START + 117 )
#define RID_STR_DOCUMENT_OBJECTS        ( RID_BASICIDE_START + 118 )
#define RID_STR_USERFORMS               ( RID_BASICIDE_START + 119 )
#define RID_STR_NORMAL_MODULES          ( RID_BASICIDE_START + 120 )
#define RID_STR_CLASS_MODULES           ( RID_BASICIDE_START + 121 )

#endif	// _SVX_NOIDERESIDS

#endif	// _BASIDESH_HRC
