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



#include "../inc/helpids.h"

hidspecial HID_SD_PRINT_OPTIONS        { HelpId = HID_SD_PRINT_OPTIONS; };
hidspecial HID_SD_OPTIONS_SNAP         { HelpId = HID_SD_OPTIONS_SNAP; };
hidspecial HID_SD_OPTIONS_VIEW         { HelpId = HID_SD_OPTIONS_VIEW; };

hidspecial HID_SD_AUTOPILOT_PAGE1      { HelpId = HID_SD_AUTOPILOT_PAGE1; };
hidspecial HID_SD_AUTOPILOT_PAGE2  { HelpId = HID_SD_AUTOPILOT_PAGE2; };
hidspecial HID_SD_AUTOPILOT_PAGE3  { HelpId = HID_SD_AUTOPILOT_PAGE3; };
hidspecial HID_SD_AUTOPILOT_PAGE4  { HelpId = HID_SD_AUTOPILOT_PAGE4; };
hidspecial HID_SD_AUTOPILOT_PAGE5  { HelpId = HID_SD_AUTOPILOT_PAGE5; };
hidspecial HID_SD_AUTOPILOT_PAGE6  { HelpId = HID_SD_AUTOPILOT_PAGE6; };

hidspecial HID_SD_CBX_ONLYSELECTED { HelpId = HID_SD_CBX_ONLYSELECTED; };
hidspecial HID_SD_BTN_FILTERDIALOG { HelpId = HID_SD_BTN_FILTERDIALOG; };

hidspecial HID_SD_BTN_PAGE         { HelpId = HID_SD_BTN_PAGE; };
hidspecial HID_SD_BTN_MASTERPAGE       { HelpId = HID_SD_BTN_MASTERPAGE; };
hidspecial HID_SD_BTN_LAYER            { HelpId = HID_SD_BTN_LAYER; };

hidspecial HID_SD_BTN_DRAW                 { HelpId = HID_SD_BTN_DRAW; };
hidspecial HID_SD_BTN_SLIDE                { HelpId = HID_SD_BTN_SLIDE; };
hidspecial HID_SD_BTN_OUTLINE          { HelpId = HID_SD_BTN_OUTLINE; };
hidspecial HID_SD_BTN_NOTES                { HelpId = HID_SD_BTN_NOTES; };
hidspecial HID_SD_BTN_HANDOUT          { HelpId = HID_SD_BTN_HANDOUT; };
hidspecial HID_SD_BTN_PRESENTATION	   { HelpId = HID_SD_BTN_PRESENTATION; };

hidspecial HID_SD_WIN_DOCUMENT         { HelpId = HID_SD_WIN_DOCUMENT; };

hidspecial HID_SD_OPTIONS_LAYOUT      { HelpId = HID_SD_OPTIONS_LAYOUT; };
hidspecial HID_SD_OPTIONS_CONTENTS    { HelpId = HID_SD_OPTIONS_CONTENTS; };
hidspecial HID_SD_OPTIONS_MISC        { HelpId = HID_SD_OPTIONS_MISC; };

hidspecial HID_SD_EFFECT_PREVIEW			{ HelpId = HID_SD_OPTIONS_MISC; };
hidspecial HID_SD_CTL_NEWFOIL					{ HelpId = HID_SD_CTL_NEWFOIL; };
hidspecial HID_SD_NAVIGATOR_TLB				{ HelpId = HID_SD_NAVIGATOR_TLB; };
hidspecial HID_SD_NAVIGATOR						{ HelpId = HID_SD_NAVIGATOR; };

hidspecial HID_SD_CTL_EFFECTS					{ HelpId = HID_SD_CTL_EFFECTS; };
hidspecial HID_SD_CTL_TEXT_EFFECTS		{ HelpId = HID_SD_CTL_TEXT_EFFECTS; };

hidspecial HID_SD_CTL_SLIDE_CHANGE		{ HelpId = HID_SD_CTL_SLIDE_CHANGE; };

hidspecial HID_SD_NAVIGATOR_TBX				{ HelpId = HID_SD_NAVIGATOR_TBX; };
hidspecial HID_SD_NAVIGATOR_LB				{ HelpId = HID_SD_NAVIGATOR_LB; };

hidspecial HID_SD_NAVIGATOR_TBI_PEN			{ HelpId = HID_SD_NAVIGATOR_TBI_PEN; };
hidspecial HID_SD_NAVIGATOR_TBI_FIRST  	{ HelpId = HID_SD_NAVIGATOR_TBI_FIRST; };
hidspecial HID_SD_NAVIGATOR_TBI_PREV   	{ HelpId = HID_SD_NAVIGATOR_TBI_PREV; };
hidspecial HID_SD_NAVIGATOR_TBI_NEXT   	{ HelpId = HID_SD_NAVIGATOR_TBI_NEXT; };
hidspecial HID_SD_NAVIGATOR_TBI_LAST   	{ HelpId = HID_SD_NAVIGATOR_TBI_LAST; };
hidspecial HID_SD_NAVIGATOR_TBI_DRAGTYPE{ HelpId = HID_SD_NAVIGATOR_TBI_DRAGTYPE; };

hidspecial HID_SD_HTMLEXPORT_PAGE1		{ HelpId = HID_SD_HTMLEXPORT_PAGE1; };
hidspecial HID_SD_HTMLEXPORT_PAGE2		{ HelpId = HID_SD_HTMLEXPORT_PAGE2; };
hidspecial HID_SD_HTMLEXPORT_PAGE3		{ HelpId = HID_SD_HTMLEXPORT_PAGE3; };
hidspecial HID_SD_HTMLEXPORT_PAGE4		{ HelpId = HID_SD_HTMLEXPORT_PAGE4; };
hidspecial HID_SD_HTMLEXPORT_PAGE5		{ HelpId = HID_SD_HTMLEXPORT_PAGE5; };
hidspecial HID_SD_HTMLEXPORT_PAGE6		{ HelpId = HID_SD_HTMLEXPORT_PAGE6; };
hidspecial HID_SD_HTMLEXPORT_DLG_DNAME	{ HelpId = HID_SD_HTMLEXPORT_DLG_DNAME; };

hidspecial HID_SD_CHGFOIL_LAYOUT		{ HelpId = HID_SD_CHGFOIL_LAYOUT; };
hidspecial HID_SD_CHGFOIL_BACKGROUND	{ HelpId = HID_SD_CHGFOIL_BACKGROUND; };
hidspecial HID_SD_CHGFOIL_OBJECTS		{ HelpId = HID_SD_CHGFOIL_OBJECTS; };
hidspecial HID_SD_CHGFOIL_NAME			{ HelpId = HID_SD_CHGFOIL_NAME; };

hidspecial HID_FM_CTL_SELECTION			{ HelpId = HID_FM_CTL_SELECTION; };

hidspecial HID_SD_WIN_PRESENTATION		{ HelpId = HID_SD_WIN_PRESENTATION; };

hidspecial HID_SD_TABBAR_PAGES			{ HelpId = HID_SD_TABBAR_PAGES; };
hidspecial HID_SD_TABBAR_LAYERS			{ HelpId = HID_SD_TABBAR_LAYERS; };

hidspecial HID_SD_UNDODELETEWARNING_DLG { HelpId = HID_SD_UNDODELETEWARNING_DLG; };
hidspecial HID_SD_UNDODELETEWARNING_CBX { HelpId = HID_SD_UNDODELETEWARNING_CBX; };

hidspecial HID_SD_PAGEOBJSTLB			{ HelpId = HID_SD_PAGEOBJSTLB; };

hidspecial HID_SD_NAMEDIALOG_OBJECT		{ HelpId = HID_SD_NAMEDIALOG_OBJECT; };
hidspecial HID_SD_NAMEDIALOG_PAGE		{ HelpId = HID_SD_NAMEDIALOG_PAGE; };
hidspecial HID_SD_NAMEDIALOG_LINEEND	{ HelpId = HID_SD_NAMEDIALOG_LINEEND; };

hidspecial HID_SD_TABPAGE_HEADERFOOTER_SLIDE { HelpId = HID_SD_TABPAGE_HEADERFOOTER_SLIDE; };
hidspecial HID_SD_TABPAGE_HEADERFOOTER_NOTESHANDOUT { HelpId = HID_SD_TABPAGE_HEADERFOOTER_NOTESHANDOUT; };

hidspecial HID_SD_TASK_PANE             { HelpId = HID_SD_TASK_PANE; };
hidspecial HID_SD_SLIDE_DESIGNS         { HelpId = HID_SD_SLIDE_DESIGNS; };
hidspecial HID_SD_CURRENT_MASTERS       { HelpId = HID_SD_CURRENT_MASTERS; };
hidspecial HID_SD_RECENT_MASTERS        { HelpId = HID_SD_RECENT_MASTERS; };
hidspecial HID_SD_ALL_MASTERS           { HelpId = HID_SD_ALL_MASTERS; };
hidspecial HID_SD_SLIDE_LAYOUTS         { HelpId = HID_SD_SLIDE_LAYOUTS; };
hidspecial HID_SD_CUSTOM_ANIMATIONS     { HelpId = HID_SD_CUSTOM_ANIMATIONS; };
hidspecial HID_SD_SLIDE_TRANSITIONS     { HelpId = HID_SD_SLIDE_TRANSITIONS; };
hidspecial HID_SD_ANNOTATIONS			{ HelpId = HID_SD_ANNOTATIONS; };

hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_ADD_EFFECT    { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_ADD_EFFECT; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_CHANGE_EFFECT { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_CHANGE_EFFECT; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_REMOVE_EFFECT { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_REMOVE_EFFECT; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_LB_START         { HelpId = HID_SD_CUSTOMANIMATIONPANE_LB_START; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_LB_PROPERTY      { HelpId = HID_SD_CUSTOMANIMATIONPANE_LB_PROPERTY; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_PROPERTY_MORE { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_PROPERTY_MORE; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_CB_SPEED         { HelpId = HID_SD_CUSTOMANIMATIONPANE_CB_SPEED; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_CT_CUSTOM_ANIMATION_LIST { HelpId = HID_SD_CUSTOMANIMATIONPANE_CT_CUSTOM_ANIMATION_LIST; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_UP       { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_UP; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_DOWN     { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_MOVE_DOWN; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_PLAY          { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_PLAY; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_PB_SLIDE_SHOW    { HelpId = HID_SD_CUSTOMANIMATIONPANE_PB_SLIDE_SHOW; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_CB_AUTOPREVIEW   { HelpId = HID_SD_CUSTOMANIMATIONPANE_CB_AUTOPREVIEW; };

hidspecial HID_SD_ANIMATIONSCHEMESPANE_LB_ANIMATION_SCHEMES    { HelpId = HID_SD_ANIMATIONSCHEMESPANE_LB_ANIMATION_SCHEMES; };
hidspecial HID_SD_ANIMATIONSCHEMESPANE_PB_APPLY_TO_ALL         { HelpId = HID_SD_ANIMATIONSCHEMESPANE_PB_APPLY_TO_ALL; };
hidspecial HID_SD_ANIMATIONSCHEMESPANE_PB_PLAY                 { HelpId = HID_SD_ANIMATIONSCHEMESPANE_PB_PLAY; };
hidspecial HID_SD_ANIMATIONSCHEMESPANE_PB_SLIDE_SHOW           { HelpId = HID_SD_ANIMATIONSCHEMESPANE_PB_SLIDE_SHOW; };
hidspecial HID_SD_ANIMATIONSCHEMESPANE_CB_AUTO_PREVIEW         { HelpId = HID_SD_ANIMATIONSCHEMESPANE_CB_AUTO_PREVIEW; };

hidspecial HID_SD_SLIDETRANSITIONPANE_LB_SLIDE_TRANSITIONS { HelpId = HID_SD_SLIDETRANSITIONPANE_LB_SLIDE_TRANSITIONS; };
hidspecial HID_SD_SLIDETRANSITIONPANE_LB_SPEED             { HelpId = HID_SD_SLIDETRANSITIONPANE_LB_SPEED; };
hidspecial HID_SD_SLIDETRANSITIONPANE_LB_SOUND             { HelpId = HID_SD_SLIDETRANSITIONPANE_LB_SOUND; };
hidspecial HID_SD_SLIDETRANSITIONPANE_CB_LOOP_SOUND        { HelpId = HID_SD_SLIDETRANSITIONPANE_CB_LOOP_SOUND; };
hidspecial HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_ON_MOUSE  { HelpId = HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_ON_MOUSE; };
hidspecial HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_AUTO      { HelpId = HID_SD_SLIDETRANSITIONPANE_RB_ADVANCE_AUTO; };
hidspecial HID_SD_SLIDETRANSITIONPANE_MF_ADVANCE_AUTO_AFTER { HelpId = HID_SD_SLIDETRANSITIONPANE_MF_ADVANCE_AUTO_AFTER; };
hidspecial HID_SD_SLIDETRANSITIONPANE_PB_APPLY_TO_ALL      { HelpId = HID_SD_SLIDETRANSITIONPANE_PB_APPLY_TO_ALL; };
hidspecial HID_SD_SLIDETRANSITIONPANE_PB_PLAY              { HelpId = HID_SD_SLIDETRANSITIONPANE_PB_PLAY; };
hidspecial HID_SD_SLIDETRANSITIONPANE_PB_SLIDE_SHOW        { HelpId = HID_SD_SLIDETRANSITIONPANE_PB_SLIDE_SHOW; };
hidspecial HID_SD_SLIDETRANSITIONPANE_CB_AUTO_PREVIEW      { HelpId = HID_SD_SLIDETRANSITIONPANE_CB_AUTO_PREVIEW; };

hidspecial HID_SD_TASK_PANE_VIEW_MENU       { HelpId = HID_SD_TASK_PANE_VIEW_MENU; };
hidspecial HID_SD_TASK_PANE_PREVIEW_CURRENT { HelpId = HID_SD_TASK_PANE_PREVIEW_CURRENT; };
hidspecial HID_SD_TASK_PANE_PREVIEW_RECENT  { HelpId = HID_SD_TASK_PANE_PREVIEW_RECENT; };
hidspecial HID_SD_TASK_PANE_PREVIEW_ALL		{ HelpId = HID_SD_TASK_PANE_PREVIEW_ALL; };
hidspecial HID_SD_TASK_PANE_PREVIEW_LAYOUTS { HelpId = HID_SD_TASK_PANE_PREVIEW_LAYOUTS; };

hidspecial HID_SD_CUSTOMANIMATIONDIALOG_ENTRANCE			{ HelpId = HID_SD_CUSTOMANIMATIONDIALOG_ENTRANCE; };
hidspecial HID_SD_CUSTOMANIMATIONDIALOG_EMPHASIS			{ HelpId = HID_SD_CUSTOMANIMATIONDIALOG_EMPHASIS; };
hidspecial HID_SD_CUSTOMANIMATIONDIALOG_EXIT				{ HelpId = HID_SD_CUSTOMANIMATIONDIALOG_EXIT; };
hidspecial HID_SD_CUSTOMANIMATIONDIALOG_MOTIONPATH			{ HelpId = HID_SD_CUSTOMANIMATIONDIALOG_MOTIONPATH; };

hidspecial HID_SD_CUSTOMANIMATIONPANE_PRESETPROPERTYBOX			{ HelpId = HID_SD_CUSTOMANIMATIONPANE_PRESETPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_COLORPROPERTYBOX			{ HelpId = HID_SD_CUSTOMANIMATIONPANE_COLORPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_FONTPROPERTYBOX			{ HelpId = HID_SD_CUSTOMANIMATIONPANE_FONTPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_CHARHEIGHTPROPERTYBOX		{ HelpId = HID_SD_CUSTOMANIMATIONPANE_CHARHEIGHTPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_ROTATIONPROPERTYBOX		{ HelpId = HID_SD_CUSTOMANIMATIONPANE_ROTATIONPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_TRANSPARENCYPROPERTYBOX	{ HelpId = HID_SD_CUSTOMANIMATIONPANE_TRANSPARENCYPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_SCALEPROPERTYBOX			{ HelpId = HID_SD_CUSTOMANIMATIONPANE_SCALEPROPERTYBOX; };
hidspecial HID_SD_CUSTOMANIMATIONPANE_FONTSTYLEPROPERTYBOX		{ HelpId = HID_SD_CUSTOMANIMATIONPANE_FONTSTYLEPROPERTYBOX; };

hidspecial HID_SD_SLIDESHOW_DISPLAY								{ HelpId = HID_SD_SLIDESHOW_DISPLAY; };

hidspecial HID_SD_RULER_HORIZONTAL								{ HelpId = HID_SD_RULER_HORIZONTAL; };
hidspecial HID_SD_RULER_VERTICAL								{ HelpId = HID_SD_RULER_VERTICAL; };

hidspecial HID_SD_TABLE_DESIGN									{ HelpId = HID_SD_TABLE_DESIGN; };
hidspecial HID_SD_ANNOTATIONS									{ HelpId = HID_SD_ANNOTATIONS; };

