/**************************************************************
 *
 * 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.
 *
 *************************************************************/

#define HID( helpid )  ( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( helpid ) ) )

#define HID_SDEXT_MINIMIZER_WIZ_DLG                     "sdext:Minimizer:Wizard:Dialog"
#define HID_SDEXT_MINIMIZER_WIZ_STEP1                   "sdext:Minimizer:Wizard:Step1"
#define HID_SDEXT_MINIMIZER_WIZ_STEP1_LB_SETTINGS       "sdext:Minimizer:Wizard:Step1:LBSettings"
#define HID_SDEXT_MINIMIZER_WIZ_STEP1_PB_DELSETTS       "sdext:Minimizer:Wizard:Step1:PBDelSetts"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2                   "sdext:Minimizer:Wizard:Step2"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2_CB_CUSTOMSHOW     "sdext:Minimizer:Wizard:Step2:CBCustomShow"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2_CB_HIDDENSLIDES   "sdext:Minimizer:Wizard:Step2:CBHiddenSlides"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2_CB_MASTERPAGES    "sdext:Minimizer:Wizard:Step2:CBMasterPages"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2_CB_NOTES          "sdext:Minimizer:Wizard:Step2:CBNotes"
#define HID_SDEXT_MINIMIZER_WIZ_STEP2_LB_CUSTOMSHOW     "sdext:Minimizer:Wizard:Step2:LBCustomShow"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3                   "sdext:Minimizer:Wizard:Step3"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_CB_CROP           "sdext:Minimizer:Wizard:Step3:CBCrop"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_LB_DPI            "sdext:Minimizer:Wizard:Step3:LBDPI"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_CB_LINKS          "sdext:Minimizer:Wizard:Step3:CBLinks"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_MF_QUALITY        "sdext:Minimizer:Wizard:Step3:MFQuality"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_RB_JPEG           "sdext:Minimizer:Wizard:Step3:RBJPEG"
#define HID_SDEXT_MINIMIZER_WIZ_STEP3_RB_LOSSLESS       "sdext:Minimizer:Wizard:Step3:RBLossless"
#define HID_SDEXT_MINIMIZER_WIZ_STEP4                   "sdext:Minimizer:Wizard:Step4"
#define HID_SDEXT_MINIMIZER_WIZ_STEP4_CB_OLE            "sdext:Minimizer:Wizard:Step4:CBOLE"
#define HID_SDEXT_MINIMIZER_WIZ_STEP4_RB_ALLOLE         "sdext:Minimizer:Wizard:Step4:RBAllOLE"
#define HID_SDEXT_MINIMIZER_WIZ_STEP4_RB_NOTODF         "sdext:Minimizer:Wizard:Step4:RBNotODF"
#define HID_SDEXT_MINIMIZER_WIZ_STEP5                   "sdext:Minimizer:Wizard:Step5"
#define HID_SDEXT_MINIMIZER_WIZ_STEP5_RB_CURDOC         "sdext:Minimizer:Wizard:Step5:RBCurDoc"
#define HID_SDEXT_MINIMIZER_WIZ_STEP5_RB_NEWDOC         "sdext:Minimizer:Wizard:Step5:RBNewDoc"
#define HID_SDEXT_MINIMIZER_WIZ_STEP5_CB_SAVESETTINGS   "sdext:Minimizer:Wizard:Step5:CBSaveSetts"
#define HID_SDEXT_MINIMIZER_WIZ_STEP5_LB_SETTINGSNAME   "sdext:Minimizer:Wizard:Step5:LBSettsName"
#define HID_SDEXT_MINIMIZER_WIZ_PB_HELP                 "sdext:Minimizer:Wizard:PBHelp"
#define HID_SDEXT_MINIMIZER_WIZ_PB_BACK                 "sdext:Minimizer:Wizard:PBBack"
#define HID_SDEXT_MINIMIZER_WIZ_PB_NEXT                 "sdext:Minimizer:Wizard:PBNext"
#define HID_SDEXT_MINIMIZER_WIZ_PB_FINISH               "sdext:Minimizer:Wizard:PBFinish"
#define HID_SDEXT_MINIMIZER_WIZ_PB_CANCEL               "sdext:Minimizer:Wizard:PBCancel"
#define HID_SDEXT_MINIMIZER_INFOBOX_DLG                 "sdext:Minimizer:InfoBox:Dialog"
#define HID_SDEXT_MINIMIZER_INFOBOX_CB_OPENNEW          "sdext:Minimizer:InfoBox:CBOpenNew"

