/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * 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 .
 */

#ifndef SC_SC_HRC
#define SC_SC_HRC

#include <svx/svxids.hrc>

class ScTpPrintItem;
class SvxZoomSliderItem;

// areas

#ifndef SC_VIEW_START // duplicated in sfx2/sfxsids.hrc
#define SC_VIEW_START           (SID_SC_START)
#endif
//      SC_VIEW_END             (SID_SC_START + 99)
#define SC_MESSAGE_START        (SID_SC_START + 100)
//      SC_MESSAGE_END          (SID_SC_START + 199)
#ifndef SC_FUNCTION_START // duplicated in sfx2/sfxsids.hrc
#define SC_FUNCTION_START       (SID_SC_START + 200)
#endif
//      SC_FUNCTION_END         (SID_SC_START + 299)
#define SC_PARAM_START          (SID_SC_START + 300)
//      SC_PARAM_END            (SID_SC_START + 399)
#define SC_SIDEBAR_PROPERTY_BEGIN   (SID_SC_START + 400)
//      SC_SIDEBAR_PROPERTY_END (SID_SC_START + 499)

//  stay compatible to the past
#define SC_RESOURCE_START       (RID_APP_START+5000)

// help IDs -
//  calc has a range of 2000 IDs
//  the functions need 11*90 = 990 IDs

#define HID_SC_SHEET_START      (HID_SC_START + 1010)
#define HID_SC_SHELL_START      (HID_SC_START + 1030)

// help IDs for templates
#define HID_SC_SHEET_CELL_STD   (HID_SC_SHEET_START +0 )
#define HID_SC_SHEET_CELL_ERG1  (HID_SC_SHEET_START +2 )
#define HID_SC_SHEET_PAGE_STD   (HID_SC_SHEET_START +10 )
#define HID_SC_SHEET_PAGE_REP   (HID_SC_SHEET_START +11 )

// view-functions (max. 100)
#define FID_SCALESTATUS         (SC_VIEW_START + 10)
#define SID_UPDATECHART         (SC_VIEW_START + 13)

// TabPage entry - Legacy selection
#define SID_SC_INPUT_LEGACY_CELL_SELECTION TypedWhichId<SfxBoolItem>(SC_VIEW_START + 15)
#define SID_SC_OPT_SORT_REF_UPDATE         TypedWhichId<SfxBoolItem>(SC_VIEW_START + 16)

// Format options
#define SID_SCFORMULAOPTIONS    TypedWhichId<ScTpFormulaItem>(SC_VIEW_START + 20)
#define SID_SCDEFAULTSOPTIONS   TypedWhichId<ScTpDefaultsItem>(SC_VIEW_START + 21)


#define SID_DATA_PROVIDER       (SC_VIEW_START + 31)
#define SID_DATA_PROVIDER_REFRESH (SC_VIEW_START + 32)
#define SID_DATA_STREAMS_PLAY   (SC_VIEW_START + 33)
#define SID_DATA_STREAMS_STOP   (SC_VIEW_START + 34)
#define SID_DATA_STREAMS        (SC_VIEW_START + 35)

// slot-IDs for attributes
#define SID_SCATTR_PROTECTION   (SC_VIEW_START + 36)    // protection-page

// other slot-IDs:
#define SID_SCUSERLISTS         (SC_VIEW_START + 37)    // user defined lists
#define RES_TBX_DUMMY           (SC_VIEW_START + 38)    // dummy-item
#define SID_SCVIEWOPTIONS       TypedWhichId<ScTpViewItem>(SC_VIEW_START + 39)
#define SID_SCDOCOPTIONS        TypedWhichId<ScTpCalcItem>(SC_VIEW_START + 40)

// cursor movements as properties:
#define SID_CURRENTCELL         TypedWhichId<SfxStringItem>(SC_VIEW_START + 41)
#define SID_CURRENTTAB          TypedWhichId<SfxUInt16Item>(SC_VIEW_START + 42)
#define SID_CURRENTDOC          TypedWhichId<SfxStringItem>(SC_VIEW_START + 43)
#define SID_CURRENTOBJECT       TypedWhichId<SfxStringItem>(SC_VIEW_START + 44)

// slot-IDs for special toolbox functions:
#define SID_NUMBER_CURRENCY     (SC_VIEW_START + 45)
#define SID_NUMBER_PERCENT      (SC_VIEW_START + 46)

// "slot" IDs for input images:
// 47..51 are used for toolbox ids

#define SID_NUMBER_STANDARD     (SC_VIEW_START + 52)
#define SID_NUMBER_DATE         (SC_VIEW_START + 53)
#define SID_NUMBER_TWODEC       (SC_VIEW_START + 54)
#define SID_NUMBER_SCIENTIFIC   (SC_VIEW_START + 55)
#define SID_NUMBER_TIME         (SC_VIEW_START + 56)
#define SID_NUMBER_INCDEC       (SC_VIEW_START + 57)
#define SID_NUMBER_DECDEC       (SC_VIEW_START + 58)
#define SID_NUMBER_THOUSANDS    (SC_VIEW_START + 59)

// misc:
#define SID_LINKS               (SC_VIEW_START + 60)
#define SID_INSERT_SMATH        (SC_VIEW_START + 63)
// Put this here since all available slots for "SC_INPUT" are taken
#define SID_SC_INPUT_ENTER_PASTE_MODE TypedWhichId<SfxBoolItem>(SC_VIEW_START + 64)
#define SID_MIRROR_VERTICAL     (SC_VIEW_START + 65)
#define SID_MIRROR_HORIZONTAL   (SC_VIEW_START + 66)
#define SID_CELL_FORMAT_RESET   (SC_VIEW_START + 67)
#define SID_SCPRINTOPTIONS      TypedWhichId<ScTpPrintItem>(SC_VIEW_START + 68)
#define SID_WINDOW_SPLIT        (SC_VIEW_START + 69)
#define SID_WINDOW_FIX          (SC_VIEW_START + 70)
#define SID_DRAW_CHART          (SC_VIEW_START + 71)
#define SID_UPDATETABLINKS      (SC_VIEW_START + 72)

// TabPage entry
#define SID_SC_INPUT_SELECTION          TypedWhichId<SfxBoolItem>(SC_VIEW_START + 73)
#define SID_SC_INPUT_SELECTIONPOS       TypedWhichId<SfxUInt16Item>(SC_VIEW_START + 74)
#define SID_SC_INPUT_EDITMODE           TypedWhichId<SfxBoolItem>(SC_VIEW_START + 75)
#define SID_SC_INPUT_FMT_EXPAND         TypedWhichId<SfxBoolItem>(SC_VIEW_START + 76)
#define SID_SC_INPUT_RANGEFINDER        TypedWhichId<SfxBoolItem>(SC_VIEW_START + 77)
#define SID_SC_INPUT_REF_EXPAND         TypedWhichId<SfxBoolItem>(SC_VIEW_START + 78)
#define SID_SC_INPUT_MARK_HEADER        TypedWhichId<SfxBoolItem>(SC_VIEW_START + 79)

#define SID_REIMPORT_AFTER_LOAD (SC_VIEW_START + 80)
#define SID_DRAW_NOTEEDIT       (SC_VIEW_START + 81)

#define SID_CHOOSE_DESIGN       (SC_VIEW_START + 82)
#define SID_EURO_CONVERTER      (SC_VIEW_START + 83)
//See include/sfx2/sfxsids.hrc for reserved usage of (SC_VIEW_START + 84)
#define SID_EXTERNAL_SOURCE     (SC_VIEW_START + 85)

#define SID_SC_INPUT_TEXTWYSIWYG        TypedWhichId<SfxBoolItem>(SC_VIEW_START + 86)

#define SID_ENABLE_HYPHENATION          (SC_VIEW_START + 87)

#define SID_RENAME_OBJECT               (SC_VIEW_START + 88)
#define SID_FOCUS_INPUTLINE             (SC_VIEW_START + 89)
#define SID_SELECT_TABLES               TypedWhichId<SfxIntegerListItem>(SC_VIEW_START + 90)

// new entry "Filter..." in DP popup menu
#define SID_DP_FILTER                   (SC_VIEW_START + 91)

// replace cell contents warning
#define SID_SC_INPUT_REPLCELLSWARN      TypedWhichId<SfxBoolItem>(SC_VIEW_START + 92)

// additional IDs for list/range validity
#define FID_VALID_LISTTYPE              TypedWhichId<SfxInt16Item>(SC_VIEW_START + 93)

// #i68101# ID for changing title & description of an object
#define SID_TITLE_DESCRIPTION_OBJECT    (SC_VIEW_START + 94)

// #i59082# assign macro to shape
#define SID_ASSIGNMACRO                 (SC_VIEW_START + 95)

// "Zoom / Synchronize sheets" in options dialog
#define SID_SC_OPT_SYNCZOOM             TypedWhichId<SfxBoolItem>(SC_VIEW_START + 98)

#define SID_SC_OPT_KEY_BINDING_COMPAT   TypedWhichId<SfxUInt16Item>(SC_VIEW_START + 99)

// NOTE: last valid ID is (SC_VIEW_START + 99)

// messages

#define FID_INPUTLINE_STATUS    (SC_MESSAGE_START)
#define FID_INPUTLINE_ENTER     (SC_MESSAGE_START + 1)
#define FID_REPAINT             (SC_MESSAGE_START + 2)
#define SID_SOLVE               (SC_MESSAGE_START + 6)
#define FID_FILTER_OK           (SC_MESSAGE_START + 8)
#define FID_INPUTLINE_MATRIX    (SC_MESSAGE_START + 11)
#define SID_DLG_RETOK           (SC_MESSAGE_START + 12)
#define SID_STATUS_DOCPOS       TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 14)
#define SID_STATUS_PAGESTYLE    TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 15)
#define SID_STATUS_SELMODE      TypedWhichId<SfxUInt16Item>(SC_MESSAGE_START + 16)
#define SID_DLG_MATRIX          (SC_MESSAGE_START + 18)

#define SID_STATUS_SELMODE_ERG  (SC_MESSAGE_START + 22)
#define SID_STATUS_SELMODE_ERW  (SC_MESSAGE_START + 23)
#define SID_STATUS_SELMODE_NORM (SC_MESSAGE_START + 24)

#define SID_CHART_SOURCE        TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 25)
#define SID_CHART_NAME          TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 26)
#define SID_CHART_ADDSOURCE     (SC_MESSAGE_START + 27)

#define SID_AUTO_STYLE          (SC_MESSAGE_START + 28)

#define FID_INPUTLINE_BLOCK     (SC_MESSAGE_START + 29)

#define SID_STATUS_SUM          TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 30)

#define SID_ENTER_STRING        TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 37)
#define SID_ROWCOL_SELCOUNT     (SC_MESSAGE_START + 38)
#define SID_AUTO_SUM            (SC_MESSAGE_START + 39)

// messages for opening dialogs:
#define SID_OPENDLG_CONSOLIDATE             (SC_MESSAGE_START + 50)
#define SID_OPENDLG_PIVOTTABLE              (SC_MESSAGE_START + 51)
#define SID_OPENDLG_FUNCTION                (SC_MESSAGE_START + 52)
#define SID_OPENDLG_SOLVE                   (SC_MESSAGE_START + 53)
#define SID_OPENDLG_TABOP                   (SC_MESSAGE_START + 54)
#define SID_OPENDLG_CURRENTCONDFRMT         (SC_MESSAGE_START + 58)
#define SID_OPENDLG_CONDFRMT                (SC_MESSAGE_START + 59)
#define SID_OPENDLG_OPTSOLVER               (SC_MESSAGE_START + 60)
#define SID_VALIDITY_REFERENCE              (SC_MESSAGE_START + 61)
#define SID_OPENDLG_CONDFRMT_MANAGER        (SC_MESSAGE_START + 62)
#define SID_POPUP_CONDFRMT                  (SC_MESSAGE_START + 63)
#define SID_OPENDLG_CURRENTCONDFRMT_MANAGER (SC_MESSAGE_START + 64)
#define SID_OPENDLG_COLORSCALE              (SC_MESSAGE_START + 66)
#define SID_OPENDLG_DATABAR                 (SC_MESSAGE_START + 67)
#define SID_OPENDLG_ICONSET                 (SC_MESSAGE_START + 68)
#define SID_OPENDLG_CONDDATE                (SC_MESSAGE_START + 69)

#define SID_RANDOM_NUMBER_GENERATOR_DIALOG  (SC_MESSAGE_START + 70)
#define SID_SAMPLING_DIALOG                 (SC_MESSAGE_START + 71)
#define SID_DESCRIPTIVE_STATISTICS_DIALOG   (SC_MESSAGE_START + 72)
#define SID_ANALYSIS_OF_VARIANCE_DIALOG     (SC_MESSAGE_START + 73)
#define SID_CORRELATION_DIALOG              (SC_MESSAGE_START + 74)
#define SID_COVARIANCE_DIALOG               (SC_MESSAGE_START + 75)
#define SID_EXPONENTIAL_SMOOTHING_DIALOG    (SC_MESSAGE_START + 76)
#define SID_MOVING_AVERAGE_DIALOG           (SC_MESSAGE_START + 77)
#define SID_REGRESSION_DIALOG               (SC_MESSAGE_START + 78)
#define SID_TTEST_DIALOG                    (SC_MESSAGE_START + 79)
#define SID_FTEST_DIALOG                    (SC_MESSAGE_START + 80)
#define SID_ZTEST_DIALOG                    (SC_MESSAGE_START + 81)
#define SID_CHI_SQUARE_TEST_DIALOG          (SC_MESSAGE_START + 82)
#define SID_SEARCH_RESULTS_DIALOG           (SC_MESSAGE_START + 83)
#define SID_WINDOW_FIX_ROW                  TypedWhichId<SfxInt32Item>(SC_MESSAGE_START + 84)
#define SID_WINDOW_FIX_COL                  TypedWhichId<SfxInt32Item>(SC_MESSAGE_START + 85)
#define SID_COLUMN_OPERATIONS               (SC_MESSAGE_START + 86)
#define SID_ROW_OPERATIONS                  (SC_MESSAGE_START + 87)
#define SID_FOURIER_ANALYSIS_DIALOG         (SC_MESSAGE_START + 88)
#define SID_SPARKLINE_DIALOG                (SC_MESSAGE_START + 89)
#define SID_SPARKLINE_DATA_RANGE_DIALOG     (SC_MESSAGE_START + 90)
#define SID_POPUP_EASY_CONDITIONAL_FORMAT   (SC_MESSAGE_START + 91)
#define SID_EASY_CONDITIONAL_FORMAT_DIALOG  (SC_MESSAGE_START + 92)

// functions

#define SID_OPEN_CALC                   (SC_FUNCTION_START + 4)
#define SID_CONVERT_FORMULA_TO_VALUE    (SC_FUNCTION_START + 5)
#ifndef FILE_MENU_END // duplicated in sfx2/sfxsids.hrc
#define FILE_MENU_END                   (SC_FUNCTION_START + 20)
#endif

#ifndef EDIT_MENU_START // duplicated in sfx2/sfxsids.hrc
#define EDIT_MENU_START         (FILE_MENU_END)
#endif
#define FID_DELETE_CELL         TypedWhichId<SfxStringItem>(EDIT_MENU_START + 2)
#define FID_DELETE_TABLE        (EDIT_MENU_START + 3)
#define FID_FILL_TO_BOTTOM      (EDIT_MENU_START + 4)
#define FID_FILL_TO_RIGHT       (EDIT_MENU_START + 5)
#define FID_FILL_TO_TOP         (EDIT_MENU_START + 6)
#define FID_FILL_TO_LEFT        (EDIT_MENU_START + 7)
#define FID_FILL_TAB            TypedWhichId<SfxStringItem>(EDIT_MENU_START + 8)
#define FID_FILL_SERIES         TypedWhichId<SfxStringItem>(EDIT_MENU_START + 9)
#define FID_FILL_SINGLE_EDIT    (EDIT_MENU_START + 10)
#define SID_HFEDIT              (EDIT_MENU_START + 15)

#define SID_DEL_ROWS            (EDIT_MENU_START + 16)//JN
#define SID_DEL_COLS            (EDIT_MENU_START + 17)//JN
// EDIT_MENU_START + 18 is defined in include/sfx2/sfxsids.hrc
#define FID_CHG_SHOW            (EDIT_MENU_START + 19)

#define EDIT_MENU_END           (EDIT_MENU_START + 20)
#define VIEW_MENU_START         (EDIT_MENU_END)

#define FID_TOGGLEINPUTLINE     TypedWhichId<SfxBoolItem>(VIEW_MENU_START + 1)
#define FID_TOGGLEHEADERS       (VIEW_MENU_START + 2)
#define FID_SCALE               TypedWhichId<SvxZoomItem>(VIEW_MENU_START + 4)
#define FID_TOGGLESYNTAX        (VIEW_MENU_START + 5)
#define FID_TOGGLECOLROWHIGHLIGHTING (VIEW_MENU_START + 6)
#define FID_PAGEBREAKMODE       (VIEW_MENU_START + 7)
#define FID_FUNCTION_BOX        (VIEW_MENU_START + 8)
#define FID_NORMALVIEWMODE      (VIEW_MENU_START + 9)
#define FID_TOGGLEFORMULA       (VIEW_MENU_START + 10)

#define FID_CHG_ACCEPT          (VIEW_MENU_START + 18)// DANGER DIRTY ID
#define FID_CHG_COMMENT         (VIEW_MENU_START + 19)// DANGER DIRTY ID
#define VIEW_MENU_END           (VIEW_MENU_START + 20)

#define INSERT_MENU_START       (VIEW_MENU_END)
#define FID_INS_ROWBRK          (INSERT_MENU_START + 1)
#define FID_INS_COLBRK          (INSERT_MENU_START + 2)
#define FID_DEL_ROWBRK          (INSERT_MENU_START + 3)
#define FID_DEL_COLBRK          (INSERT_MENU_START + 4)
#define FID_INS_CELL_CONTENTS   TypedWhichId<SfxStringItem>(INSERT_MENU_START + 5)
#define FID_INS_CELL            TypedWhichId<SfxStringItem>(INSERT_MENU_START + 6)
#define FID_INS_ROW             (INSERT_MENU_START + 7)
#define FID_INS_COLUMN          (INSERT_MENU_START + 8)
#define FID_INS_TABLE           TypedWhichId<SfxStringItem>(INSERT_MENU_START + 9)
#define SID_INS_FUNCTION        (INSERT_MENU_START + 10)
#define FID_DEFINE_NAME         (INSERT_MENU_START + 11)
#define FID_INSERT_NAME         (INSERT_MENU_START + 12)
#define FID_USE_NAME            (INSERT_MENU_START + 13)
#define FID_APPLY_NAME          (INSERT_MENU_START + 14)
#define FID_INS_TABLE_EXT       (INSERT_MENU_START + 15)
#define FID_ADD_NAME            (INSERT_MENU_START + 16)
#define FID_INS_CELLSDOWN       (INSERT_MENU_START + 18)
#define FID_INS_CELLSRIGHT      (INSERT_MENU_START + 19)
#define FID_INS_ROWS_AFTER      (INSERT_MENU_START + 20)
#define FID_INS_COLUMNS_AFTER   (INSERT_MENU_START + 21)
#define FID_INS_ROWS_BEFORE     (INSERT_MENU_START + 22)
#define FID_INS_COLUMNS_BEFORE  (INSERT_MENU_START + 23)
#define FID_DEFINE_CURRENT_NAME (INSERT_MENU_START + 24)
#define INSERT_MENU_END         (INSERT_MENU_START + 25)

#define FORMAT_MENU_START       (INSERT_MENU_END)
#define FID_CELL_FORMAT         (FORMAT_MENU_START)
#define FID_ROW_HEIGHT          TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START + 1)
#define FID_ROW_OPT_HEIGHT      TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START + 2)
#define FID_ROW_HIDE            (FORMAT_MENU_START + 3)
#define FID_ROW_SHOW            (FORMAT_MENU_START + 4)
#define FID_COL_WIDTH           TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START + 5)
#define FID_COL_OPT_WIDTH       TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START + 6)
#define FID_COL_HIDE            (FORMAT_MENU_START + 7)
#define FID_COL_SHOW            (FORMAT_MENU_START + 8)
#define FID_TABLE_HIDE          (FORMAT_MENU_START + 9)
#define FID_TABLE_SHOW          TypedWhichId<SfxStringItem>(FORMAT_MENU_START + 10)
#define FID_MERGE_ON            (FORMAT_MENU_START + 15)
#define FID_MERGE_OFF           (FORMAT_MENU_START + 16)
#define SID_FORMATPAGE          (FORMAT_MENU_START + 17)
#define SID_TEXT_STANDARD       (FORMAT_MENU_START + 18)
#define SID_DRAWTEXT_ATTR_DLG   (FORMAT_MENU_START + 19)
#define FID_TABLE_VISIBLE       (FORMAT_MENU_START + 20)
#define FID_COL_OPT_DIRECT      (FORMAT_MENU_START + 21)
#define FID_TOGGLEHIDDENCOLROW  (FORMAT_MENU_START + 22)
#define FORMAT_MENU_END         (FORMAT_MENU_START + 23)

#define EXTRA_MENU_START        (FORMAT_MENU_END)
#define FID_AUTO_CALC           (EXTRA_MENU_START + 3)
#define FID_RECALC              (EXTRA_MENU_START + 4)
#define FID_PROTECT_TABLE       (EXTRA_MENU_START + 6)
#define FID_PROTECT_DOC         (EXTRA_MENU_START + 7)
#define SID_SHARE_DOC           (EXTRA_MENU_START + 11)
#define SID_SCENARIOS           TypedWhichId<SfxStringItem>(EXTRA_MENU_START + 12)
#define SID_PIVOT_RECALC        (EXTRA_MENU_START + 14)
#define SID_PIVOT_KILL          (EXTRA_MENU_START + 15)

#define FID_HARD_RECALC         (EXTRA_MENU_START + 18)
#define FID_AUTOCOMPLETE        (EXTRA_MENU_START + 19)

#define EXTRA_MENU_END          (EXTRA_MENU_START + 20)

#define DATA_MENU_START         (EXTRA_MENU_END)
#define SID_DEFINE_DBNAME       (DATA_MENU_START)
#define SID_SELECT_DB           TypedWhichId<SfxStringItem>(DATA_MENU_START + 1)
#define SID_SORT                (DATA_MENU_START + 2)
#define SID_FILTER              (DATA_MENU_START + 3)
#define SID_SPECIAL_FILTER      (DATA_MENU_START + 4)
#define SID_AUTO_FILTER         (DATA_MENU_START + 5)
#define SID_UNFILTER            (DATA_MENU_START + 6)
#define SID_QUERY               (DATA_MENU_START + 7)
#define SID_MANAGE_XML_SOURCE   (DATA_MENU_START + 8)
#define SID_SUBTOTALS           (DATA_MENU_START + 13)
#define SID_AUTO_OUTLINE        (DATA_MENU_START + 14)
#define SID_REIMPORT_DATA       (DATA_MENU_START + 16)
#define SID_PIVOT_TABLE         (DATA_MENU_START + 17)
#define SID_TABOP               (DATA_MENU_START + 18)
#define SID_TEXT_TO_COLUMNS     (DATA_MENU_START + 19)
#define SID_CONSOLIDATE         (DATA_MENU_START + 20)
#define SID_AUTOFILTER_HIDE     (DATA_MENU_START + 21)
#define SID_SBA_IMPORT          (DATA_MENU_START + 22)
#define SID_SORT_DESCENDING     (DATA_MENU_START + 23)
#define SID_SORT_ASCENDING      (DATA_MENU_START + 24)
#define SID_OUTLINE_HIDE        (DATA_MENU_START + 25)
#define SID_OUTLINE_SHOW        (DATA_MENU_START + 26)
#define SID_OUTLINE_MAKE        TypedWhichId<SfxStringItem>(DATA_MENU_START + 27)
#define SID_OUTLINE_REMOVE      TypedWhichId<SfxStringItem>(DATA_MENU_START + 28)

#define DATA_MENU_END           (DATA_MENU_START + 29)

#define TAB_POPUP_START         (DATA_MENU_END)
#define FID_TAB_MENU_RENAME     (TAB_POPUP_START)
#define FID_TAB_RENAME          TypedWhichId<SfxStringItem>(TAB_POPUP_START+1)
#define FID_TAB_MOVE            TypedWhichId<SfxStringItem>(TAB_POPUP_START+2)
#define FID_TAB_SELECTALL       (TAB_POPUP_START+3)
#define FID_TAB_APPEND          (TAB_POPUP_START+4)
#define FID_TAB_INDEX           (TAB_POPUP_START+5)
#define FID_TAB_RTL             (TAB_POPUP_START+6)
#define FID_TAB_DESELECTALL     (TAB_POPUP_START+7)
#define FID_TAB_MENU_SET_TAB_BG_COLOR (TAB_POPUP_START + 8)
#define FID_TAB_SET_TAB_BG_COLOR      (TAB_POPUP_START + 9)
#define FID_TAB_EVENTS          (TAB_POPUP_START+10)
#define FID_TAB_DUPLICATE       (TAB_POPUP_START+11)

#define TAB_POPUP_END           (TAB_POPUP_START + 20)

#define OBJBAR_FORMAT_START     (TAB_POPUP_END)
#define SID_ALIGNLEFT           (OBJBAR_FORMAT_START+6)
#define SID_ALIGNRIGHT          (OBJBAR_FORMAT_START+7)
#define SID_ALIGNCENTERHOR      (OBJBAR_FORMAT_START+8)
#define SID_ALIGNBLOCK          (OBJBAR_FORMAT_START+9)
#define SID_ALIGNTOP            (OBJBAR_FORMAT_START+10)
#define SID_ALIGNBOTTOM         (OBJBAR_FORMAT_START+11)
#define SID_ALIGNCENTERVER      (OBJBAR_FORMAT_START+12)
#define SID_SELECT_SCENARIO     TypedWhichId<SfxStringItem>(OBJBAR_FORMAT_START+13)

#define SID_V_ALIGNCELL         (OBJBAR_FORMAT_START+14)
#define SID_H_ALIGNCELL         (OBJBAR_FORMAT_START+15)

#define OBJBAR_FORMAT_END       (OBJBAR_FORMAT_START+20)

#define RID_INPUTBAR_START      (OBJBAR_FORMAT_END)
#define RID_INPUTBAR_END        (RID_INPUTBAR_START+1)

#define DRAW_BAR_START          (RID_INPUTBAR_END)
#define SID_ANCHOR_PAGE         (DRAW_BAR_START+24)
#define SID_ANCHOR_CELL         (DRAW_BAR_START+25)
#define SID_ANCHOR_CELL_RESIZE  (DRAW_BAR_START+26)
#define SID_ANCHOR_TOGGLE       (DRAW_BAR_START+27)
#define SID_ORIGINALSIZE        (DRAW_BAR_START+28)
#define SID_FITCELLSIZE         (DRAW_BAR_START+29)

#define DRAW_BAR_END            (DRAW_BAR_START+50)

#define DRAWTEXTBAR_START       (DRAW_BAR_END)
#define DRAWTEXTBAR_END         (DRAWTEXTBAR_START+20)

#define DETECTIVE_START         (DRAWTEXTBAR_END)
#define SID_DETECTIVE_ADD_PRED  (DETECTIVE_START)
#define SID_DETECTIVE_DEL_PRED  (DETECTIVE_START+1)
#define SID_DETECTIVE_ADD_SUCC  (DETECTIVE_START+2)
#define SID_DETECTIVE_DEL_SUCC  (DETECTIVE_START+3)
#define SID_DETECTIVE_ADD_ERR   (DETECTIVE_START+4)
#define SID_DETECTIVE_DEL_ALL   (DETECTIVE_START+5)

#define SID_DETECTIVE_FILLMODE  (DETECTIVE_START+6)
#define SID_FILL_ADD_PRED       (DETECTIVE_START+7)
#define SID_FILL_DEL_PRED       (DETECTIVE_START+8)
#define SID_FILL_ADD_SUCC       (DETECTIVE_START+9)
#define SID_FILL_DEL_SUCC       (DETECTIVE_START+10)
#define SID_FILL_NONE           (DETECTIVE_START+11)
#define SID_FILL_SELECT         (DETECTIVE_START+12)

#define SID_DETECTIVE_INVALID   (DETECTIVE_START+13)

#define SID_DETECTIVE_REFRESH   (DETECTIVE_START+14)
#define SID_DETECTIVE_AUTO      (DETECTIVE_START+15)

#define SID_DETECTIVE_MARK_PRED (DETECTIVE_START+16)
#define SID_DETECTIVE_MARK_SUCC (DETECTIVE_START+17)

#define DETECTIVE_END           (DETECTIVE_START+20)

#define SID_API_SLOTS           (DETECTIVE_END)
#define SID_INSERT_MATRIX       (SID_API_SLOTS+1)

#define SID_DELETE_NOTE         (SID_API_SLOTS+2)

#define SID_PREVIEW_START       (SID_API_SLOTS+20)
#define SID_PREVIEW_NEXT        (SID_PREVIEW_START)
#define SID_PREVIEW_PREVIOUS    (SID_PREVIEW_START+1)
#define SID_PREVIEW_FIRST       (SID_PREVIEW_START+2)
#define SID_PREVIEW_LAST        (SID_PREVIEW_START+3)
#define SID_PREVIEW_CLOSE       (SID_PREVIEW_START+7)
#define SID_PREVIEW_MARGIN      (SID_PREVIEW_START+8)
#define SID_PREVIEW_SCALINGFACTOR   TypedWhichId<SvxZoomSliderItem>(SID_PREVIEW_START+9)
#define SID_PREVIEW_END         (SID_PREVIEW_START+10)

// with SID_KEYFUNC_START defined in include/sfx2/sfxsids.hrc there is a risk of
// adding entries that cause an overlap here
static_assert(SID_PREVIEW_END < SID_KEYFUNC_START, "calc slots ids trampling info keyfunc slot range");

//from sfx: #define SID_KEYFUNC_START       (SID_PREVIEW_END+5)
// from SID_KEYFUNC_START + 0 to SID_KEYFUNC_START + 13 are defined in include/sfx2/sfxsids.hrc
#define SID_CURSORPAGELEFT_     (SID_KEYFUNC_START + 6)
#define SID_CURSORPAGERIGHT_    (SID_KEYFUNC_START + 8)
#define SID_CURSORBLKUP         (SID_KEYFUNC_START + 14)
#define SID_CURSORBLKDOWN       (SID_KEYFUNC_START + 15)
#define SID_CURSORBLKLEFT       (SID_KEYFUNC_START + 16)
#define SID_CURSORBLKRIGHT      (SID_KEYFUNC_START + 17)
#define SID_CURSORBLKUP_SEL     (SID_KEYFUNC_START + 18)
#define SID_CURSORBLKDOWN_SEL   (SID_KEYFUNC_START + 19)
#define SID_CURSORBLKLEFT_SEL   (SID_KEYFUNC_START + 20)
#define SID_CURSORBLKRIGHT_SEL  (SID_KEYFUNC_START + 21)

#define SID_NEXT_TABLE          (SID_KEYFUNC_START + 22)
#define SID_PREV_TABLE          (SID_KEYFUNC_START + 23)

#define SID_NEXT_UNPROTECT      (SID_KEYFUNC_START + 24)
#define SID_PREV_UNPROTECT      (SID_KEYFUNC_START + 25)

#define SID_SELECT_COL          (SID_KEYFUNC_START + 26)
#define SID_SELECT_ROW          (SID_KEYFUNC_START + 27)
#define SID_SELECT_NONE         (SID_KEYFUNC_START + 28)
#define SID_ALIGNCURSOR         (SID_KEYFUNC_START + 29)
#define SID_MARKDATAAREA        (SID_KEYFUNC_START + 30)
#define SID_SETINPUTMODE        (SID_KEYFUNC_START + 31)
#define SID_DELETE_CONTENTS     (SID_KEYFUNC_START + 32)

#define SID_MARKAREA            (SID_KEYFUNC_START + 33)

#define FID_FILL_AUTO           TypedWhichId<SfxStringItem>(SID_KEYFUNC_START + 35)
#define SID_CANCEL              (SID_KEYFUNC_START + 36)

#define SID_CURSORENTERUP       (SID_KEYFUNC_START + 37)
#define SID_CURSORENTERDOWN     (SID_KEYFUNC_START + 38)

#define SID_MARKARRAYFORMULA    (SID_KEYFUNC_START + 39)

#define SID_NEXT_TABLE_SEL      (SID_KEYFUNC_START + 40)
#define SID_PREV_TABLE_SEL      (SID_KEYFUNC_START + 41)

#define SID_ACCEPT_FORMULA      (SID_KEYFUNC_START + 42)
#define SID_START_FORMULA       (SID_KEYFUNC_START + 43)

#define SID_KEYFUNC_END         (SID_KEYFUNC_START + 50)

#define SID_NEW_SLOTS           (SID_KEYFUNC_END)

#define SID_NEW_TABLENAME       TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+1)
#define SID_EXPORT_AS_GRAPHIC   (SID_NEW_SLOTS+2)

#define FID_MERGE_TOGGLE        (SID_NEW_SLOTS+10)

#define SID_RANGE_ROW           TypedWhichId<SfxInt32Item>(SID_NEW_SLOTS+20)
#define SID_RANGE_COL           TypedWhichId<SfxInt16Item>(SID_NEW_SLOTS+21)
#define SID_RANGE_TABLE         TypedWhichId<SfxInt16Item>(SID_NEW_SLOTS+22)
// empty, was SID_RANGE_VALUE
#define SID_RANGE_FORMULA       TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+24)
#define SID_RANGE_TEXTVALUE     TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+26)
#define SID_TABLE_ACTIVATE      (SID_NEW_SLOTS+27)

#define SID_DEFINE_PRINTAREA        (SID_NEW_SLOTS+31)
#define SID_DELETE_PRINTAREA        (SID_NEW_SLOTS+32)
#define SID_CHANGE_PRINTAREA        TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+33)
#define SID_OPENDLG_EDIT_PRINTAREA  (SID_NEW_SLOTS+34)

#define SID_OLE_ACTIVATE        (SID_NEW_SLOTS+36)
#define SID_OLE_DEACTIVATE      (SID_NEW_SLOTS+37)

#define SID_TOGGLE_REL          (SID_NEW_SLOTS+38)
#define SID_DATA_SELECT         (SID_NEW_SLOTS+39)

//  search & replace
#define FID_SEARCH              (SID_NEW_SLOTS+40)
#define FID_REPEAT_SEARCH       (SID_NEW_SLOTS+41)
#define FID_REPLACE             (SID_NEW_SLOTS+42)
#define FID_SEARCH_ALL          (SID_NEW_SLOTS+43)
#define FID_REPLACE_ALL         (SID_NEW_SLOTS+44)
#define FID_SEARCH_COUNT        (SID_NEW_SLOTS+45)

#define SID_SC_SETTEXT          (SID_NEW_SLOTS+46)
#define SID_RANGE_ADDRESS       TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+47)
#define SID_NUMBER_FORMAT       TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+49)

#define SID_OLE_SELECT          (SID_NEW_SLOTS+50)

#define FID_CURRENTVALIDATION   (SID_NEW_SLOTS+51)
#define SID_RANGE_NOTETEXT      TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+52)
#define FID_INSERT_FILE         (SID_NEW_SLOTS+53)

#define FID_VALIDATION          (SID_NEW_SLOTS+54)

//  slots for toolbox controller in toolbar
#define SID_TBXCTL_INSERT       (SID_NEW_SLOTS+55)
#define SID_TBXCTL_INSCELLS     (SID_NEW_SLOTS+56)

#define SID_DEFINE_COLROWNAMERANGES (SID_NEW_SLOTS+58)

#define FID_NOTE_VISIBLE        (SID_NEW_SLOTS+59)

//  items for validation
#define FID_VALID_MODE          TypedWhichId<SfxUInt16Item>(SID_NEW_SLOTS+60)
#define FID_VALID_CONDMODE      TypedWhichId<SfxUInt16Item>(SID_NEW_SLOTS+61)
#define FID_VALID_VALUE1        TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+62)
#define FID_VALID_VALUE2        TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+63)
#define FID_VALID_BLANK         TypedWhichId<SfxBoolItem>(SID_NEW_SLOTS+64)
#define FID_VALID_SHOWHELP      TypedWhichId<SfxBoolItem>(SID_NEW_SLOTS+65)
#define FID_VALID_HELPTITLE     TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+66)
#define FID_VALID_HELPTEXT      TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+67)
#define FID_VALID_SHOWERR       TypedWhichId<SfxBoolItem>(SID_NEW_SLOTS+68)
#define FID_VALID_ERRSTYLE      TypedWhichId<SfxUInt16Item>(SID_NEW_SLOTS+69)
#define FID_VALID_ERRTITLE      TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+70)
#define FID_VALID_ERRTEXT       TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+71)

#define SID_REFRESH_DBAREA      (SID_NEW_SLOTS+72)

#define FID_FOCUS_POSWND        (SID_NEW_SLOTS+74)

#define FID_DEL_MANUALBREAKS    (SID_NEW_SLOTS+79)
#define SID_ADD_PRINTAREA       (SID_NEW_SLOTS+80)
#define FID_ADJUST_PRINTZOOM    (SID_NEW_SLOTS+81)
#define FID_RESET_PRINTZOOM     (SID_NEW_SLOTS+82)

#define SID_TABLES_COUNT        (SID_NEW_SLOTS+83)
#define SID_ACTIVE_OBJ_NAME     TypedWhichId<SfxStringItem>(SID_NEW_SLOTS+84)
#define SID_OBJECT_LEFT         (SID_NEW_SLOTS+85)
#define SID_OBJECT_TOP          (SID_NEW_SLOTS+86)
#define SID_OBJECT_WIDTH        (SID_NEW_SLOTS+87)
#define SID_OBJECT_HEIGHT       (SID_NEW_SLOTS+88)

#define SID_DELETE_SCENARIO     (SID_NEW_SLOTS+95)
#define SID_EDIT_SCENARIO       (SID_NEW_SLOTS+96)
#define SID_INSERT_FIELD_SHEET  (SID_NEW_SLOTS+97)
#define SID_INSERT_FIELD_TITLE  (SID_NEW_SLOTS+98)
#define SID_INSERT_FIELD_DATE_VAR (SID_NEW_SLOTS+99)

#define FID_SHOW_NOTE           (SID_NEW_SLOTS+100)
#define FID_HIDE_NOTE           (SID_NEW_SLOTS+101)
#define FID_SHOW_ALL_NOTES      (SID_NEW_SLOTS+102)
#define FID_HIDE_ALL_NOTES      (SID_NEW_SLOTS+103)
#define FID_DELETE_ALL_NOTES    (SID_NEW_SLOTS+104)
#define SID_SCATTR_CELLPROTECTION    (SID_NEW_SLOTS+105)
#define SID_SELECT_UNPROTECTED_CELLS (SID_NEW_SLOTS+106)
#define SID_SELECT_VISIBLE_ROWS      (SID_NEW_SLOTS+107)
#define SID_SELECT_VISIBLE_COLUMNS   (SID_NEW_SLOTS+108)
#define SID_CURRENT_FORMULA_RANGE    (SID_NEW_SLOTS+109)

#define SID_INSERT_SPARKLINE        (SID_NEW_SLOTS+110)
#define SID_DELETE_SPARKLINE        (SID_NEW_SLOTS+111)
#define SID_EDIT_SPARKLINE_GROUP    (SID_NEW_SLOTS+112)
#define SID_DELETE_SPARKLINE_GROUP  (SID_NEW_SLOTS+113)
#define SID_GROUP_SPARKLINES        (SID_NEW_SLOTS+114)
#define SID_UNGROUP_SPARKLINES      (SID_NEW_SLOTS+115)
#define SID_EDIT_SPARKLINE          (SID_NEW_SLOTS+116)
#define SID_SC_OPT_LINKS            TypedWhichId<SfxBoolItem>(SID_NEW_SLOTS + 117)

// idl parameter

#define SID_SORT_BYROW          TypedWhichId<SfxBoolItem>(SC_PARAM_START)
#define SID_SORT_HASHEADER      TypedWhichId<SfxBoolItem>(SC_PARAM_START+1)
#define SID_SORT_CASESENS       TypedWhichId<SfxBoolItem>(SC_PARAM_START+2)
#define SID_SORT_ATTRIBS        TypedWhichId<SfxBoolItem>(SC_PARAM_START+3)
#define SID_SORT_USERDEF        TypedWhichId<SfxUInt16Item>(SC_PARAM_START+4)
#define SID_SORT_NATURALSORT    TypedWhichId<SfxBoolItem>(SC_PARAM_START+5)
#define SID_SORT_INCCOMMENTS    TypedWhichId<SfxBoolItem>(SC_PARAM_START+6)
#define SID_SORT_INCIMAGES      TypedWhichId<SfxBoolItem>(SC_PARAM_START+7)

// Sidebar -------------------------------------------------------------

#define SID_PROPERTY_PANEL_CELLTEXT_DLG (SC_SIDEBAR_PROPERTY_BEGIN+0)
#define SID_NUMBER_TYPE_FORMAT          TypedWhichId<SfxUInt16Item>(SC_SIDEBAR_PROPERTY_BEGIN+1)

// resources

#define SID_DATA_FORM           (SC_RESOURCE_START+15) // menu (in Data menu)
#define SID_INSERT_CURRENT_DATE (SC_RESOURCE_START+16)
#define SID_INSERT_CURRENT_TIME (SC_RESOURCE_START+17)
#define FID_TAB_TOGGLE_GRID     (SC_RESOURCE_START+18) // toggle sheet grid
#define WID_SIMPLE_REF          (SC_RESOURCE_START+20)

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */