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

#define RID_RTS_RTSDIALOG					4001
#define RID_RTS_RTSDIALOG_INVALID_TXT		1
#define RID_RTS_RTSDIALOG_FROMDRIVER_TXT	2
#define RID_RTS_RTSDIALOG_TABCONTROL		3

#define RID_RTS_OTHERPAGE					4002
#define RID_RTS_OTHER_LEFTMARGIN_TXT 		1
#define RID_RTS_OTHER_LEFTMARGIN_BOX		2
#define RID_RTS_OTHER_TOPMARGIN_TXT		3
#define RID_RTS_OTHER_TOPMARGIN_BOX		4
#define RID_RTS_OTHER_RIGHTMARGIN_TXT		5
#define RID_RTS_OTHER_RIGHTMARGIN_BOX		6
#define RID_RTS_OTHER_BOTTOMMARGIN_TXT		7
#define RID_RTS_OTHER_BOTTOMMARGIN_BOX		8
#define RID_RTS_OTHER_COMMENT_TXT			9
#define RID_RTS_OTHER_COMMENT_EDT			10
#define RID_RTS_OTHER_DEFAULT_BTN			11

#define RID_RTS_DEVICEPAGE					4003
#define RID_RTS_DEVICE_COLOR_TXT			1
#define RID_RTS_DEVICE_GRAY_TXT			    2
#define RID_RTS_DEVICE_PPDKEY_TXT			3
#define RID_RTS_DEVICE_PPDKEY_BOX			4
#define RID_RTS_DEVICE_PPDVALUE_TXT		    5
#define RID_RTS_DEVICE_PPDVALUE_BOX		    6
#define RID_RTS_DEVICE_PRINTLANG_TXT	    7
#define RID_RTS_DEVICE_PRINTLANG_BOX        8
#define RID_RTS_DEVICE_SPACE_TXT			9
#define RID_RTS_DEVICE_SPACE_BOX			10
#define RID_RTS_DEVICE_DEPTH_TXT			11
#define RID_RTS_DEVICE_DEPTH_BOX			12
#define RID_RTS_DEVICE_COMPRESS_BOX		13

#define RID_RTS_PAPERPAGE					4004
#define RID_RTS_PAPER_PAPER_TXT			1
#define RID_RTS_PAPER_PAPER_BOX			2
#define RID_RTS_PAPER_ORIENTATION_TXT		3
#define RID_RTS_PAPER_ORIENTATION_BOX		4
#define RID_RTS_PAPER_DUPLEX_TXT			5
#define RID_RTS_PAPER_DUPLEX_BOX			6
#define RID_RTS_PAPER_SLOT_TXT				7
#define RID_RTS_PAPER_SLOT_BOX				8

#define RID_RTS_FONTSUBSTPAGE				4005
#define RID_RTS_FS_SUBST_TXT				1
#define RID_RTS_FS_SUBST_BOX				2
#define RID_RTS_FS_FROM_TXT				3
#define RID_RTS_FS_FROM_BOX				4
#define RID_RTS_FS_TO_TXT					5
#define RID_RTS_FS_TO_BOX					6
#define RID_RTS_FS_ADD_BTN					7
#define RID_RTS_FS_REMOVE_BTN				8
#define RID_RTS_FS_ENABLE_BTN				9

#define RID_RTS_COMMANDPAGE                4006
#define RID_RTS_CMD_TXT_PRTNAME			1
#define RID_RTS_CMD_TXT_CONNECT			2
#define RID_RTS_CMD_FL_DEFAULT				3
#define RID_RTS_CMD_BTN_HELP				4
#define RID_RTS_CMD_CB_COMMANDS			5
#define RID_RTS_CMD_FL_INSTALL		   		6
#define RID_RTS_CMD_TXT_CONFIGURE			7
#define RID_RTS_CMD_LB_CONFIGURE			8
#define RID_RTS_CMD_STR_CONFIGURE_PRINTER	9
#define RID_RTS_CMD_STR_CONFIGURE_FAX		10
#define RID_RTS_CMD_STR_CONFIGURE_PDF		11
#define RID_RTS_CMD_STR_PRINTERHELP		12
#define RID_RTS_CMD_STR_FAXHELP			13
#define RID_RTS_CMD_STR_PDFHELP			14
#define RID_RTS_CMD_BTN_REMOVE				15
#define RID_RTS_CMD_EDT_PDFDIR				16
#define RID_RTS_CMD_BTN_PDFDIR				17
#define RID_RTS_CMD_TXT_PDFDIR				18
#define RID_RTS_CMD_BOX_SWALLOWFAXNO		19
#define RID_RTS_CMD_CB_EXTERNAL             20
#define RID_RTS_CMD_FT_QUICKCMD             21
#define RIT_RTS_CMD_CB_QUICKCMD             22

#define RID_TXT_QUERYFAXNUMBER				4007

#define RID_RTS_PWDIALOG					4008
#define RID_RTS_PWDIALOG_TXT				1
#define RID_RTS_PWDIALOG_USER_TXT			2
#define RID_RTS_PWDIALOG_USER_EDT			3
#define RID_RTS_PWDIALOG_PASS_TXT			4
#define RID_RTS_PWDIALOG_PASS_EDT			5
#define RID_RTS_PWDIALOG_OK_BTN			6
#define RID_RTS_PWDIALOG_CANCEL_BTN		7

#endif
