/*------------------------------------------------------------------------------*
 * File Name: OC_Const.h														*
 * Creation: CPY 6/5/2001														*
 * Purpose: Origin C enum and define constants shared with internal codes		*
 * Copyright (c) OriginLab Corp.	2001										*
 * All Rights Reserved															*
 * 																				*
 * Modification Log:															*
 * TD 10-05-01	INTEGRAL_TYPE_IDS_FOR_ALL_TYPES_OF_PAGE_OBJECTS					*
 *	YuI 09/27/01 v6.9091 t9456 IMPLEMENTATION_OF_CATEGORICAL_PLOT				*
 *	ML 10/16/2001 t9482 RECORDSET_INTO_WORKSHEET								*
 *	ML 10/31/2001 t9481 CREATING_WORKSHEETS_FROM_ORIGINC						*
 *	AW 11/06/01 PADDING_WAY_FOR_WINDOW											*
 *  JJ 12/17/2001 t9578 SMITH_CHART_IMPROVMENTS									*
 *	ML 12/21/2001 tQA70-105 TYPE_WKS_FROM_ORIGINC								*
 *	YuI 3/13/2 QA70-1043 v7.0233 GET_ROI_DATA									*
 *	AW 04/26/02 v7.0292 QA70-1610 MORE_WORK_ON_IS_PAGE_IN_FOLDER				*
 *	ML 5/20/2002 QA70-1847 GETTING_WORKSHEET_SELECTION_ORIGIN_C					*
 *	ML 5/23/2002 QA70-1847 DISCONTIGUOUS_BIT									*
 *	RVD 6/12/2002 QA70-2043 v7.0318 PAGE_NO_WINDOW_BIT							*
 *	ML 7/11/2002 QA70-1939 AXIS_SCALE_TYPE										*
 *	AW 07/31/02 v7.0357	QA70-2540 SUPPORT_SHOW_HIDE_PE_WINDOW_IN_ORIGINC		*
 *	TCZ 08/3/02 QA70-2390	v7.0361 HISTOGRAM_FUNCTION_IN_ORIGIN_C				*
 *  TCZ 08/08/02 QA70-2624 v7.0363  GET_INTERPOLATED_VALUE_AT_X_Y				*
 *	CPY  8/23/02 QA70-2802 v7.0383 CENTRALIZATION_OF_CONST_TO_OC_CONST			*
 *	YuI 8/26/02 v7.0385 QA70-2683 FREQUENCY_COUNT_FOR_CATEGORICAL_DATA			*
 *	LY 11/4/02 QA70-3256 v7.0428 BINARY_IMPORT									*
 *	LY 11/13/02 QA70-2135 v7.0434 RETRIEVE_PAGE_WINDOW_STATUS					*
 *	ML 11/20/2002 VIEW_MODES													*
 *	ML 11/25/2002 MORE_TREE_SAVING_OPTIONS										*
 *	RVD 1/22/2003 QA70-3748 v7.0493 IMPLEMENT_FORMAT_FILTER						*
 *  EJP 01-27-2003 QA70-3753 GET_DATE_STR_FOR_OC								*
 *  JCG 02/13/03 tQA-3073 v7.0513 ADD_BSPLN_OFF_OPTION_FOR_CURVE_DERIVATIVE		*
 *	RVD 2/18/2003 QA70-3094 v7.0517 ADD_ARRAYS									*
 *  SY 02-21-2003 QA70-3941 v7.0520 ADD_PROJECT_GetDatasetInfo_METHOD			*
 *	LY  3/13/2003 v7.0535 QA70-4059 OC_UTILITY_FUNCTION_EXPORT_IMG				*
 *	RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME								*
 *	YuI 3/11/03 qa70-4044 v7.0533 WORK_ON_INCREMENTOR							*
 *	ML 3/23/2003 QA70-4113 INITIALIZING_VECTOR_FROM_COLUMN_FOR_WRITEBACK		*
 *	RVD 10/4/2002 QA70-4155 v7.0547 OPERATION_TREE_METHODS						*
 *	RVD 3/31/2003 QA70-4164 v7.0549 CACHE_BRANCH_PROPERTY_BITS					*
 *	RVD 4/14/2003 QA70-4259 v7.0561 IGNORE_SYSTEM_THEME_FLAG					*
 *	CPY 4/20/03 QA70-4278 v7.0565 WKS_HEADER_REGION_CHANGE_PARAM_BUTTON			*
 *	ML 4/23/2003 QA70-4318 MASKED_EDIT_PROPERTY_FOR_DATA_RANGE					*
 *	JCG 04/30/03 v7.0574 QA70-4355 ADD_NOTIFICATION_MSG_ON_TYPE_DESI_CHANGE		*
 *	RVD 5/8/2003 QA70-4410 v7.0580 STORAGE_PRINT_SETTINGS						*
 *	YuI 5/08/03 v7.0580 QA70-4371 OPERATION_GUI_EXPANSION						*
 *	CPY 5/15/03 QA70-1390 SORT_STRING_DEFAULT_CASE_SENSITIVE_IS_WRONG			*
 *	ML 5/17/2003 QA70-4493 TEMPORARY_CURVE_CONSTRUCTOR_WITH_MISSING_VALUES_REMOVAL
 *	ML 5/21/2003 QA70-4431 HEADER_TABLE_TREE_MODIFICATION_NOTIFICATION			*
 *	RVD 5/20/2003 QA70-4230 v7.0588 REPORT_TREE_EDIT							*
 *	ML 5/24/2003 QA70-4517 TYPE_WKS_MULTIPLE_REPEAT_COLUMNS						*
 *	DVT 5/27/03 QA70-4433 v7.0580 DELETE_OPERATION_WITH_WKS_OPTION				*
 *	TD 6-10-03 QA70-4631 MODAL_TO_BE_NOMODAL_ON_ROLLUP							*
 *	ML 6/10/2003 OUTPUTLOG_ANALYSIS_HEADER										*
 *	RVD 6/11/2003 QA70-4627 v7.0601 LAST_DEPENDENT_COLUMN_OFFSET				*
 *	CPY 6/15/03 QA70-4488 v7.0603 SEL_COLS_PLOTTING_DLG							*
 *  SY 06-16-2003 QA70-4469 v7.0603 ADD_TITLESHOW_PROPERTY_FOR_PAGE				*
 *	ML 6/17/2003 QA70-4678 MULTI_COLUMN_EDIT_PAGE								*
 *	RVD 6/13/2003 QA70-4650 v7.0601 OBJECT_PROPERTY_ACCESS						*
 *	DSC 6/26/03 QA70-1527 CLIENT_ORIGIN_WITH_EXE_ON_CLIENT_SIDE					*
 *	RVD 6/30/2003 QA70-4739 v7.0613 THEME_SUPPORT_TEXT_POSITION					*
 *	YuI 7/14/03 v7.0624 QA70-4700 GENERIC_OGS_BASED_EVENT_HANDLING				*
 *  SY 07-23-2003 v7.0631 QA70-4858 ASCII_EXPORT_FROM_OC						*
 *	ML 7/25/2003 STYLES_HOLDERS_IN_SCP_LC										*
 *	RVD 7/25/2003 v7.0633 PAGE_VIEWMODE_FROM_OC									*
 *	YuI 8/4/03 v7.0644 QA70-4963 SAVE_AS_PROJECT_METHOD_TO_FOLDER_CLASS			*
 *	RVD 8/7/2003 QA70-4971 v7.0649 MULTI_LEGEND_AUTOUPDATE						*
 *	RVD 9/11/2003 QA70-4650 v7.0691 OBJECT_PROPERTY_ACCESS_MORE_WORK			*
 *	ML 9/15/2003 DP_DELETE_ROWS_NOTIFICATION									*
 *	RVD 9/15/2003 QA70-5179 v7.0695 NOCLICK_KEEP_SELECTION						*
 *	RVD 9/15/2003 QA70-5179 v7.0695 THEME_SPECIAL_CONTEXT_MENU					*
 * EJP 10-09-2003 v7.5715 QA70-5317 ADD_DATE_FORMAT_TO_ASCIMP_STRUCT			*
 *	YuI 10/22/03 v7.5728 QA70-5409 SET_RANGE_SHOULD_SUPPORT_AUTORANGE			*
 *	ML 11/6/2003 QA70-5489 OPTIONALLY_SETTING_COLUMN_LABELS_TO_FIELD_NAMES		*
 *	YuI 12/18/03 v7.5785 QA70-5737 OC_GRAPH_OBJECT_DERIVATION					*
 *	AW 01/07/04 QA70-5811 v7.0794 ADD_REPEATEDGE_PADDING						*
 *	YuI 1/8/04 v7.5796 QA70-5797 INTERACTIVE_TEXT_PROPERTY_IMPLEMENTATION		*
 *	YuI 01/14/04 v7.5801 QA70-5799 SLIDER_CONTROL_TO_GETNBOX					*
 *	ML 1/21/2004 QA70-5871 OLECONTROL_DLGINIT_RESOURCE_LANGUAGE					*
 *  SY 01-22-2004 QA70-5350 v7.5806 OC_MOVE_SWAP_COLUMNS_METHODS				*
 *  SY 01-22-2004 QA70-4696 v7.5806 CONTROL_DATA_DISPLAY_WINDOW_FROM_OC			*
 *	YuI 02/03/04 v7.5814 QA70-5927 POLY_POLYLINE_GRAPH_OBJECT					*
 *	EJP 02-06-2004 v7.5817 QA70-5894 ALLOW_VIEWING_ALL_IMPORTED_IMAGES			*
 *	RVD 10/16/2003 QA70-5367 v7.5721 NEW_WORKBOOK								*
 *	CPY 2/12/04 QA70-5982 v7.5821 CHECK_OC_FROM_LT								*
 *	CPY 2/13/04 v7.5822 QA70-5988 ADD_LAYER_TO_PAGE_FOR_WKS_AND_GRAPH			*
 *	YuI 3/15/04 v7.5837 QA70-6114 GETN_VECTOR_IMPLEMENTATION					*
 *	YuI 3/16/04 v7.5838 GETN_DATA_RANGE_CONTROL									*
 *	YuI 3/24/04 v7.5846 QA70-6118 NEW_DATA_SELECTOR_TOOL						*
 *	DSC 04/02/2004 QA70-5552 SEPERATE_OC_DLL									*
 *	YuI 3/24/04 v7.5846 QA70-6118 NEW_DATA_SELECTOR_TOOL						*
 *	EJP 04-13-2004 v7.5857 QA70-6137 COMPLEX_DATA_IMAGE_VIEWS					*
 *	EJP 04-13-2004 v5.7857 QA70-6250 SUPPORT_LARGE_OBJ_IN_CELL					*
 *	RVD 4/21/2004 QA70-6301 v7.5861 NEW_WORKBOOK_CNTRLS							*
 *	ML 4/27/2004 QA70-6330 OPERATION_LINKS_REPLACEMENT_NOTATION					*
 *  Danice 5/11/04 QA70-6222 GETNTREE_AUTO_LOAD_DEFAULT							*
 *	EJP 05-19-2004 v7.5875 QA70-6426 GET_LICENSE_INFO_FROM_OC					*
 *	TD 5-24-04 QA70-6400 SUUPPORT_LABELS_FROM_GET_SELECTION						*
 *	ML 5/28/2004 QA70-6376 PROPER_COLUMN_LABEL_ACCESS							*
 *  Frank 6/14/04 QA70-6222 GETNTREE_CONTEXT_MENU_MORE_SETTING					*
 *  Danice v8.0890 6/16/04 QA70-6222 COMBINE_TREEEDIT_SAVE_AND_COPY_SETTING		*
 *	ML 6/17/2004 QA70-6376 NEW_COLUMN_ROW_LABEL_ARRANGEMENTS					*
 *	TD 6-30-04 QA70-6400 CONTEXT_MENU_FOR_LABEL_CATEGORY_NAME_SHOW_HIDE			*
 *	YuI 7/23/04 v7.5103 QA70-6582 GETN_MULTILINE_TEXT_IMPLEMENTATION			*
 *	YuI 7/22/04 v7.5102 QA70-6404 NEW_FUNCTION_MANAGER							*
 *  Danice 8/11/04 QA70-6638 v8.0114 MARK_SYSTEM_THEME_WITH_NAME_AND_PATH		*
 *	ML 8/11/2004 QA70-6774 SEARCHING_ORIGIN										*
 *	ML 8/13/2004 QA70-6774 SEARCH_FILTER_PROPERTY_OBJECT_BITS_FURTHER_WORK		*
 *	CPY ML 8/18/2004 QA70-6825 RLOG_QUERY										*
 *	RVD 8/31/2004 QA70-5371 v8.0127 GRID_ORIGIN_TEXT_EDIT						*
 *	ML 10/6/2004 QA70-6990 GET_DATA_COMBINED									*
 *	ML 10/14/2004 QA70-7039 COMBINED_MORE_OPTIONS								*
 *	YuI 11/11/04 ADDITIONAL_ARGUMENT_TO_Operation::Execute						*
 *	ML 11/11/2004 QA70-6845 CELL_VALUE_LINKING									*
 *	ML 11/17/2004 QA70-6845 GETTNG_CELL_VALUE_WITH_OPTIONS						*
 *	ML 11/18/2004 QA70-6845 LINKING_TO_LABELS									*
 *	ML 11/23/2004 QA70-6845 LINKS_CLIPBOARD_WORK								*
 *	ML 12/3/2004 QA70-6904 WEIGHTS_RULES_MORE_OPTIONS							*
 *	CPY 1/4/05 QA70-7226 ADD_PLOT_MULTIPLE_PLOTS_OF_SAME_SERIES					*
 *	YuI 01/03/2005 v7.5183 QA70-7253 VECTORIAL_NUMERIC_FUNCTIONS				*
 *	ML 1/21/2005 ILLEGAL_USE_OF__L_MACRO_IN_VC_CODE								*
 *	RVD 1/19/2005 QA70-7289 v8.0185 WKS_THEME_SUPPORT							*
 *	DSC 1/26/05 QA70-7301 v8.0187 ADD_GROUP_FOLDER_TO_SEARCH					*
 *	DSC 2/15/05 QA70-7301 v8.0193 ADD_OC_FUNCTION_GET_ORIGIN_PATH				*
 *	TD 2-16-04 QA70-7368 CODE_EDITOR_IN_DIALOG									*
 *	ML 2/28/2005 QA70-7450 MATRICES_IN_DATARANGE								*
 *	ML 3/8/2005 DATARANGE_Z														*
 *	ML 3/16/2005 QA70-7511 GETTING_CORRESPONDING_WKS_COLUMNS					*
 *	RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS							*
 *	ML 3/23/2005 WHOLE_COLUMN_OPTIONALLY_IGNORE_I1								*
 *	ML 3/24/2005 CONTEXT_MENU_X_FUNCS											*
 *	RVD 3/29/2005 QA70-7551 v8.0204 POLYLINE_SPAN_LAYER							*
 *	YuI 03/29/05 QA70-7552 v7.5213 DATAPLOT_XINDEX_IMPLEMENTATION				*
 *	RVD 3/15/2005 QA70-7591 v8.0218 CREATE_SET_GROBJ_FROM_OC					*
 *	ML 4/8/2005 QA70-7606 TREE_NODE_AS_THEME_PROPERTY_TYPE						*
 *	ML 4/12/2005 QA70-7316 FULL_TABLE_AND_ROW_OR_COL_LABELS_PLUS_DATA_LINKS		*
 *	RVD 4/15/2005 QA70-7597 v8.0223 MARKER_GROBJ								*
 *	EJP 2005-04-20 v8.0225 QA70-7634 OC_SETNAME_RENAME_CLEANUP					*
 *	ML 4/18/2005 XFUNCTION_TREE_MANIPULATION_IN_VC								*
 *	ML 4/28/2005 XFT_GETTING_IO													*
 *	RVD 5/6/2005 v8.0231 WKS_MERGE_FLOAT_CELLS_THEME_ACCESS						*
 *  DG 5/31/05 QA70-7581 v8.0243 ERROR_CODE_FOR_DATA_INIT						*
 *	ML 6/1/2005 GETTING_RAW_ERROR_OR_WEIGHT										*
 *	YuI 06/01/05 QA70-7755 CURSOR_OBJECT_IMPLEMENTATION							*
 * EJP 2005-06-24 v8.0256 QA70-5705 ADD_NUM_SEPARATOR_TO_IMPORT_OPTIONS			*
 *	DSC 7/6/05 QA70-7869 MENU_THEME												*
 *	CPY QA70-7860 7/6/05 LOOSE_DATASET_EDITOR									*
 *	TD 7-18-05 COPY_LINKED_LAYERS_FROM_ADDLAYER									*
 * EJP 2005-07-19 v8.0271 QA70-7886 ADD_CUSTOM_FORMAT_TO_OBJECT_LEVEL			*
 * EJP 2005-07-28 v8.0277 QA70-7218 CLEAN_INTERNAL_DATA_TYPE_METHOD				*
 *	RVD 7/28/2005 QA70-7939 v8.0277 COLUMN_THEME_ACCESS							*
 *	TD 8-8-05 QA70-7977 CODE_EDIT_CONTROL_COLOR_OPTIONS							*
 *	YuI 09/08/05 QA70-8061 PROJECT_PAGE_LAYER_PASSWORD_PROTECTION				*
 *	YuI 09/13/05 QA70-8093 UNDO_CREATE_IMPLEMENTATION							*
 *	ML 9/8/2005 QA70-8077 REPEATED_MEASUREMENTS_ANOVA_DATA_EXTRACTION			*
 *	TD 9-21-05 QA70-8124 DIALOG_IN_SPLITTER_PANE								*
 *	RVD 9/21/2005 QA70-8105 v8.0310 REPLACE_REPORT_COMPLETELY					*
 *	DSC 10/11/2005 QA70-8167 FIND_FILES_FROM_SPECIFIED_LOCATION					*
 *	ML 10/20/2005 ANOVA_INPUT_DATA_TO_DATARANGE									*
 *	DSC 10/28/2005 SUPPORT_ORIGIN_PATH_UNDEF									*
 *	TD 10-31-05 QA70-8061 EXTEND_PASSWORD_PROTECTION_TO_CONTROL_DATA_READ_ACCESS*
 *	TD 11-17-05 QA70-7835 ORIGIN_PATH_PROJECT_INSERTED							*
 *	TD 12-14-05 QA70-8061 PROTECTION_SETTINGS_TO_SHOW_GRAPH_HIDE_DATA			*
 *	ML 1/13/2006 XVARIABLEBASE_TO_VC											*
 *  SY 02/03/2006 QA70-8498 v8.0364 TEMPLATE_INFO_INTERNAL_ACCESS				*
 *	ML 2/7/2006 NEW_TREE_DLG_CONTROL											*
 *	CPY 2/9/2006 QA70-8121 SETTING_COLUMN_AS_TEXT_ETC_IN_SET_REPORT_TREE		*
 *	CPY 2/10/2006 QA70-8324 GLOBAL_NO_RESULTS_CONTROL							*
 *	RVD 2/15/2006 FIX_TABLE_CONTEXT_MENU										*
 *	TD 2-16-06 QA70-8490 PARENT_RESIZE_ON_EXPCOL								*
 *	RVD 2/17/2006 QA70-8359 TABLE_FOOTNOTE										*
 *	YuI 02/21/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL							*
 *	RVD 2/24/2006 v8.0369 QA70-7754 ANNOTATIONS									*
 *	TD 2-27-06 QA70-8491 SPLITTER_PANE_CONTROL_RGN								*
 *	TD 3-1-06 QA70-8490 BRANCH_CHECK_BOX_ON_RIGHT								*
 *	ML 3/1/2006 XFUNCTION_IN_VC_AUTOUPDATE_INTERNAL_WORK						*
 *	TD 3-3-06 QA70-8490 UPDATE_COMBO_AND_RADIO_CHOICES							*
 *	DSC 3/6/06 MAKE_TREE_FROM_MAP												*
 *	TD 3-9-06 QA70-8490 SPINOR_AND_STATIC_TEXT_CONTROLS							*
 *	ML 3/13/2006 SETTING_DESIGS_ON_SET_DATA										*
 *	ML 3/14/2006 POLYRANGE_COMPLEX_DATA_RETRIEVAL								*
 *	YuI 03/20/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL							*
 *	CPY 4/5/06 DATA_RANGE_TYPE_COL_DESIGN_CONSISTENT							*
 *	RVD 3/30/2006 v8.0382 POLYRANGE_THEME										*
 *	RVD 4/7/2006 QA70-8609 v8.0387 TABLE_GRID_BORDERS							*
 *	AW 04/18/06 ADD_OK_GET_WKS_DATABASE_STATUS									*
 *	ML 4/21/2006 QA70-8634 USING_TAGNAMES_INSTEAD_OF_DATAIDS_IN_SOME_CASES		*
 *	ML 4/25/2006 EDIT_PROPERTY_PASSWORD											*
 *	YuI 04/26/06 FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL						*
 *	RVD 4/27/2006 v8.0382 HIERARCHY_CHECK_ACCESS								*
 *	Hong 09/05/06  STR_GUI_THEME_FILE_ATTRIB									*
 *	RVD 5/10/2006 CREATE_TABLE_OBJECT											*
 *	TD 5-10-06 QA70-8664 DATASET_OBJECT_CLASS_IN_OC								*
 *	YuI 05/18/06 COMPLEX_VECTOR_GUI												*
 *	TD 5-26-06 QA70-8428 EDITBOX_WITH_BUTTON									*
 *	TD 6-5-06 QA70-8701 DDK_DIALOG_MSG_ON_HIDE_BAR								*
 *	RVD 6/13/2006 QA70-8615 TABLE_HEADER										*
 *	EJP 2006-06-30 v8.0436 ALWAYS_ASSIGN_ARGS_FROM_CMDLINE						*
 *	TD 7-5-06 QA70-8792 DYNACONTROL_MIN_MAX_CTRL								*
 *	RVD 7/5/2006 EXPAND_SERIES_FILL												*
 *	RVD 7/10/2006 GRID_CNTRL_THEME												*
 *	TD 7-13-06 QA70-8795 SEPERATORS_IN_DYNACONTROL								*
 *	ML 7/10/2006 QA70-8768 KEEPING_TRACK_OF_GRAPHS_CREATED_FROM_OPERATION		*
 *	CPY 7/20/06 QA70-8844 LAYER_RESCALE_OPTIONS									*
 *	ML 8/7/2006 INTERMEDIATE_BOOK_BETTER_CREATION								*
 *	ML 8/10/2006 QA70-8901 SAMPLE_RATE_LABEL_TYPE								*
 *	ML 8/15/2006 EXTRACTING_DATA_FOR_NLFIT										*
 *	DSC 8/18/06 QA70-8925 LT_COMPILE_ALL_XF										*
 *	TD 8-8-06 QA70-8882 ATTACH_GRAPH_TO_WKS_CELLS								*
 *	RVD 8/24/2006 QA80-8922 v8.0470 CLIENT_RESIZE_ROWCOL						*
 *	ML 8/28/2006 OPTIONALLY_ALLOWING_ROW_LABELS_IN_FLAT_REPORT					*
 *	RVD 8/30/2006 TOO_MANY_PARAMS												*
 *	ML 9/7/2006 SPARKLINE_COLUMN_LABEL_TYPE										*
 *	CPY 9/10/06 QA70-2167 WKS_SCRIPT_CHANGES_FOR_80								*
 *	RVD 9/11/2006 QA80-8781 v8.0479 PLOT_STACK_WITH_OFFSET						*
 *	ML 9/18/2006 DATARANGE_EXTRACTION_APPARENT_FIT								*
 *	YuI 09/28/06 OWN_PROPERTY_CLASS_FOR_IMAGE_CONTROL							*
 *  SY 2006-09-28 v8.0490 QA70-8739 TREE_SIBLINGS_GRP_AS_CTRL_BRANCH			*
 *	TD 9-2-06 QA70-9012 DYNACONTROL_MULTILINEEDIT_BUTTON						*
 *	RVD 10/4/2006 QA70-9021 v8.0493 INCREMENT_LIST_STRETCH						*
 *	RVD 10/9/2006 QA80-9020 v8.0494 GLOBAL_RANGE_THEME							*
 *  SY 2006-10-20 QA70-9062 v8.0498 NEW_SCALER_GROBJ							*
 *	YuI 11/25/06 QA70-9091 BIN_WKS_AUTOUPDATE									*
 *	SY 2006-10-19 QA70-9062 v8.0498 NEW_SCALER_GROBJ							*
 *	RVD 10/30/2006 QA70-9062 v8.0498 NEW_SCALER_GROBJ_THEME						*
 *	RVD 11/1/2006 QA70-9092 v8.0504 SPECIAL_POINT_THEME							*
 *	TD 11-02-06 ENABLE_2_BLUE_TEXT_MORE_WORK									*
 *	ML 11/3/2006 OPTIONALLY_ALLOW_WEIGHT_AS_ERROR								*
 *	RVD 11/6/2006 SCALER_UNITS													*
 *	TD 11-06-06 COLOR_CHOICE_FOR_READONLY										*
 *	TD 11-07-06 CHECK_UNCHECK_ALL												*
 *	CPY 11/13/2006 QA70-9123 TEMPLATE_TO_REMEMBER_LAYER_NAMES_WHEN_LOADING		*
 *	RVD 11/14/2005 QA70-9124 v8.0511 GROBJ_AUTOHIDE_STATE						*
 *	TD 11-15-06 QA70-9127 DYNACONTROL_USE_CHECK									*
 *	YuI 11/27/06 QA70-9156 MORE_OPTIONS_TO_CONNECTING_OBJECTS					*
 *	ML 12/7/2006 COLUMN_LABELS_STRINGS											*
 *	RVD 12/8/2006 v8.0515 USER_DEFINED_LABELS									*
 *  SY 2006-12-18 QA70-9217 v8.0528 EDITABLE_PART_ON_NEXT_LINE_FROM_LABEL		*
 *	ML 12/27/2006 QA70-9208 LINKS_PRODUCED_VIA_SETREPORTTREE					*
 *	ML 12/29/2006 GETTING_SELCTION_PROPERLY_ROW_COL_LABELS_FOR_LINK_TO_LABELS_DISPLAY
 *	Cheney 2006-12-28 QA80-9231 SUPPORT_READ_UNICODE_FILE						*
 *	ML 1/5/2007 TRANSLATING_ESCAPED_INPUT_DATA_STRINGS_XF_FOR_RESULTS_LOG		*
 *	YuI 01/11/07 XVARIABLE_THEME_APPLICABILITY_REDESIGN							*
 *	ML 1/16/2007 QA70-9272 CLEARING_OPERATION_OUTPUTS_ON_CLEARING_INPUT_WORKSHEET
 *	TD 1-16-07 QA70-9274  LT_ACCESS_READONLY_ENFORCEMENT						*
 *	TD 1-18-07 QA70-9274  ALLOW_SPECIFIC_STORAGE_TYPES_NAME_ACCESSS				*
 *	TD 1-19-06 QA70-9100 CHECK_UNCHECK_ALL_NONRECURSIVE_MODE					*
 *  SY 2007-01-29 QA70-9263 v8.0550 WORKSHEET_DELETE_UNDO						*
 *	TD 1-30-07 QA70-9327 DDK_SAVING_OF_OCDDK_DIALOG_PLACEMENTS					*
 *	YuI 1/25/07 SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR				*
 *	ML 1/30/2007 QA70-9318 P2 PREPARING_RANGE_XF_ARG_WITH_FACTOR				*
 *	Cheney 2007-2-6 ADD_OPTION_TO_SUPPORT_SPECIAL_NUM_FORMAT_FOR_ASCIMP			*
 *	TD 2-7-07 QA70-9353 MULTILINE_EDITCONTROL_SHRINK_BUTTON						*
 *	ML 2/8/2007 QA70-9350 RANGE_SETCOLUMNDATA_MUST_SET_DESTINATION_SIZE			*
 *	AW 02/12/07 QA80-9362 v8.0560 GET_ALL_INPUT_OUTPUT_OPERATIONS_IN_OBJ		*
 *	RVD 2/19/2007 QA70-9371 v8.0566 WKS_SELECTION_FILL							*
 *	ML 2/26/2007 LAYER_CONTENTS_SETTING_ACTIVE_LAYER_NODE_EXPANDED_OTHER_COLLAPSED_ON_SETTREE
 *	ML 3/2/2007 OPTIONALLY_TRY_USE_TEMPLATE_FROM_PAGE							*
 *	YuI 03/05/07 QA70-9420 OPTION_STRING_TO_GET_WHOLE_WKS_STRING				*
 *	RVD 3/2/2007 SPEEDUP_EXCEL_IMPORT											*
 *  SY 2007-03-06 QA70-9440 v8.0577 OC_METHOD_REDUCE_SIZE						*
 *  SY 2007-03-07 QA70-9388 v8.0577 MRU_FOR_TEMPLATE_OGW						*
 *	Jasmine 03/06/07 QA70-9433 CONVERT_LAYER_UNITS								*
 *	TD 3-8-07 QA80-9435 RANGE_IN_TREE_NODES										*
 *	ML 3/13/2007 QA70-9484 CRASH_75_PROJECT_ON_SAVING							*
 *  SY 2007-03-14 QA70-9465 v8.0583 PAGE_ADD_LAYER_UNDO							*
 *	TD 3-13-07 QA70-9473 OC_CALLBACK_FOM_NLFIT									*
 *	CPY 3/19/2007 QA70-9481 CMD_GR_OBJ_NEED_TO_ALLOW_DEL_WHILE_NORMAL_OBJ_NEED_NO_DEL
 *  SY 2007-03-19 QA70-9471 v8.0585 LOCALIZE_XF_DESCRIPTION						*
 *	Hong 03/26/07 v8/0589b ALLLOW_COMSTOMIZE_OK_BTN_LABEL						*
 *	Jasmine 03/26/07 MOVE_MAKE_FORMAT_STR_TO_LABUTILS							*
 *	YuI 04/02/07 DATA_MODE_MUST_BE_DISABLED_IN_CHANGE_PARAM						*
 *	TD 4-2-07 QA80-9531 EDITORS_HAVE_NEW_READONLY_STATE							*
 *	RVD 4/4/2007 QA70-9574 GRID_PRINT_SETTINGS									*
 *	ML 4/11/2007 QA70-9152 WRONG_VECTOR_TYPE_VARIABLE_CREATED					*
 *  Folger 04/12/07 MODIFY_MARGIN_MM_FACTOR										*
 *	ML 4/19/2007 QA70-9643 XOUTPUT_AS_XINPUT_CHECKING							*
 *	Sim 04-20-2007 QA70-9659 OPTION_TO_CLEAR_ERR_MSG_ON_EVENT					*
 *	YuI 05/02/07 QA80-9715 DEFAULT_NAMES_FOR_XFUNCTION_OUTPUTS					*
 *	ML 5/21/2007 QA70-9805 EXTRACTING_DATA_BY_ROWS_BETTER						*
 *  SY 2007-05-22 QA70-9575 v8.0624 PRINT_OPTIONS_FOR_WKS_PRINT					*
 *	TD 5-23-07 QA80-9643 ADD_OPTIONS_TO_PREVENT_PRESET_TYPES_IN_MENU			*
 *	AW 05/23/07 QA80-9821 v8.0622 SUPPORT_GETN_OC_EVENT							*
 *	ML 5/24/2007 QA70-8342 RECALCULATING_WHISKERS_ETC_ON_PD_DLG_CHANGE			*
 *	YuI 05/24/07 QA70-9829 OPTIONAL_ACTIVE_RESOLUTION_IN_GET_TRANSLATED_TREE	*
 *	TD 5-30-07 QA80-9845 COLORWELL_OPTIONS_ATTRIBUTE							*
 *	TD 6-1-07 QA80-9854  SOME_PAGES_TO_BE_EXCLUDED_FROM_MANAGER					*
 *	EJP 2007-06-05 v8.0634 XF_ARG_SUPPORT_MULTISEL_FILE_DLG						*
 *	YuI 06/06/07 QA70-9836 DEFAULT_TO_SINGLE_DATA_SELECTION						*
 *	EJP 2007-06-11 v8.0639 QA70-9389 MOVE_AUTOCOMPLETE_TO_VC					*
 *	YuI 06/18/07 QA70-9936 OPTION_TO_RESTRICT_INTERACTIVE_CONTROL_TO_Y_COLUMNS	*
 *	TD 6-18-07 QA80-9933 EDITABLE_COMBO_WITH_BROWSE_BUTTON						*
 *	Hong 06/29/07 v8.0644 XF_ARG_SUPPORT_SHEET_BROWSE							*
 *	TD 6-21-07 QA80-9947 COLUMN_BROWSER_AT_XYSUBRANGES							*
 *	Sim 06-22-2007 OPTION_TO_KEEP_BUTTON_STATUS_ON_EVENT						*
 *	Arvin 06/28/07 QA70-9982 SET_COL_VALUE_FUNCTION_LIST_SUPPORT_FOR_OC_FUNCTIONS
 *	ML 6/28/2007 QA70-9994 ALWAYS_MIXED_COLUMN_IN_REPORT_SHEETS_TO_ALLOW_LINKS	*
 *	Sim 06-29-2007 SUPPORT_SENT_MESSAGE_FROM_EXTERNAL_WINDOW 					*
 *	Folger 07/04/07 ADD_SOME_MOVE_CURSOR_IS_NEEDED								*
 *	Sim 07-09-2007 AUTO_PREVIEW_MECHANISM										*
 *	ML 7/12/2007 OPTIONALLY_NOT_TO_SET_COLUMN_NAMES_FROM_TAGNAMES				*
 *	TD 7-13-07 QA80-10054  COLUMN_BROWSER_AT_XYRANGES							*
 *	YuI 07/17/07 QA70-10074 FITTER_DATA_COMMON_EIGHT_APPLICATION				*
 *	YuI 07/18/07 QA70-10083 RANGE_NOTATION_FOR_PLOT_REFER_TO_COLUMN				*
 *	Hong 07/20/07 QA80-9828-P7 v8.0664 FIX_REIMPORT_BINARY_DIADEM_DUPLICATE_STORAGE_INFO
 *	TD 7-20-07 QA80-10087  ABILITY_TO_TAB_DYNACONTROL_ROWS						*
 *	TD 7-24-07 QA80-10087  ABILITY_TO_TAB_DYNACONTROL_ROWS						*
 *	YuI 07/20/07 QA70-10083 EXTENSION_TO_NLSF_INPUT_DATA_CONTROL				*
 *	CPY 7/27/2007 QA70-10121 INTERACTIVE_CNTRL_READ_ONLY_FOR_IMPORT_XF			*
 *	Sim 07-30-2007 SUPPORT_APPLY_AND_UNDO_FOR_DYNA_BOX							*
 *	RVD 7/30/2007 QA70-10131 v8.0671 AddPlot_SHOULD_ADD_ERRORBAR				*
 *	YuI 08/06/07 QA70-10107 RANGE_STRING_FROM_RANGE_IS_NEEDED					*
 *	TD 08-13-2007 SOME_DIALOGS_NEED_OPTION_TO_NOT_RESOLVE_ACTIVE_TO_CURRENT_SELECTION*
 *	ML 8/14/2007 QA70-7183 QA70-6454 FLEXIBLE_INTERMEDIARY_BITMAP_COLOR_DEPTH_FOR_RASTER_EXPORTS
 *	ML 8/17/2007 QA70-10244 READING_AND_WRITING__MULTIBYTE_STRINGS_IN_XML_TREES_PROPERLY
 *	DSC 8/17/07 QA70-10217 CENTRALIZE_ATTACH_PATH_CODES							*
 *	ML 8/28/2007 QA70-10261 CURVE_TO_XYRANGE_OUTPUT_MUST_MATCH_ROWS_IN_DEST		*
 *	YuI 08/28/07 QA70-10285 REPORT_DATA_FAILS_IF_CREATED_AFTER_CHANGE_PARAM		*
 *	TD 09-04-2007 QA80-10342 EN_CHANGE_POST_UPDATE_MESSAGE						*
 *	TD 09-06-2007 QA80-10266 CLEAR_WORKSHEET_TO_CLEAR_EMBEDDINGS				*
 *	ML 9/7/2007 QA70-10313 ALLOW_ADDING_DATAPLOT_VIA_DATPLOT_EVEN_IF_PRESENT	*
 *	TD 09-13-2007 QA80-10375 SUPPORT_USER_FONTS_IN_MULTILINE_DDK_RICHEDITS		*
 *	TD 9-20-2007 QA80-10392  PROJECT_FOLDER_UPDATE_PATH_GUI_IMPROVEMENT			*
 *	ML 9/20/2007 QA70-10391 DISABLE_ROW_RANGE_FOR_COMPOSITE_RANGE_OUTPUTS_FROM_INTERACTIVE_CONTROL
 *	YuI 09/20/07 QA70-10397 SHOULD_ALLOW_SETREPORTTREE_TO_MOVE_EMBEDDED_GRAPH_TO_DIFFERENT_LOCATION*
 *	TD 09-24-2007 QA80-9824 USE_LABUTIL_CENTRALIZED_INTERFACE_FOR_FONTS			*
 *	ML 10/1/2007 QA70-10452 NO_COLUMN_SET_AS_CATEG_OPTIONALLY_OC				*
 *	RVD 10/2/2007 v8.0713 qa7-10446 FIX_DESC_STATS_SHEET_TO_COLS				*
 *	TD 10-03-2007 QA80-10447  CONFUSING_BIT_NAMES_CLEANUP						*
 *	RVD 10/10/2007 v8.0722 qa7-10507 FIX_WKS_INSERT_ARROW_DESTROY_DATA			*
 *	YuI 10/12/07 QA70-10529 DATA_MARKERS_REVAMP									*
 *	ML 10/23/2007 QA70-10457 DO_NOT_SET_BACK_LABEL_COUNTS_AFTER_SETREPORT_TREE	*
 *	CPY 10/23/2007 QA70-10577 COMBO_STR_STAY_AS_E_INTERNALLY_IN_DYNA_CNTRL		*
 *	TD 10-29-2007 QA80-10415  NEW_BIT_TO_INDICATE_VECTOR						*
 *	YuI 11/02/07 QA70-10603 OPTION_TO_ALLOW_REORDER_OF_OUTPUT_DATA				*
 *	Folger 11/07/07 LOCALIZE_DELETE_SYSTEM_FILE_BRANCH							*
 *	Sim 11-12-2007 SUPPORT_AUTO_MECHANISM_AFTER_GUI_CHANGE_VALUE				*
 *	Folger 11/14/07 ADD_HELP_ID_ATTRIBUTE										*
 *	ML 11/14/2007 QA70-10619 P1 DELETING_COLUMNS_WITHOUT_DESTROYING_OPERATION	*
 *	CPY 11/19/2007 QA70-10708 OPERATION_NEED_VERSIONING_TO_FIX_BUGS_IN_OUR_CODE	*
 *	Folger 12/03/07 ADD_AUTO_APPLY_CHECKBOX_TO_ENABLE_AUTO_ALLPY_IN_XF_DYNA_DIALOG
 *	RVD 12/3/2007 QA70-10771 v8.0760 FIX_THEME_LIMIT_REACHED_ERROR				*
 *	ML 11/26/2007 QA70-10624 INTERNALLY_SWAPPED_SERIESPTRS_IN_OBJECTSTRUCT_FOR_POLAR
 *	TD 12-17-2007 QA80-10805 BUTTON_DROP_DOWN_MENU_LANGUAGE_IMPROPER			*
 *	Sim 12-18-2007 SPECIFY_ACTIVE_PAGE_AFTER_XF_WIZ_FINISH						*
 *	RVD 1/1/2008 qa70-10872 v8.0778 IMPORT_EXCEL_GRID_STYLE_FORMAT				*
 *	Folger 01/02/08 QA70-10890 SAVING_REPORT_SHEET_NAME_AFTER_FITTING			*
 *	TD 1-17-2008 QA80-8916 DROP_SHEET_IN_MDIC_UNDO								*
 *	Folger 01/22/08 INDICATE_WHETHER_XF_EVENT_HANDLE_NEEDED						*
 *	RVD 2/21/2008 qa70-8609 NEW_DEFAULT_GRID_LINES								*
 *	EJP 2008-02-21 v8.0810 QA80-4808 STOP_IMPORT_IF_ANY_COLS_ARE_LOCKED			*
 *	Folger 02/25/08 QA80-11148 SUPPORT_NOT_TO_SHOW_1_TO_END_IN_INTERACTIVE_DROP_DOWN_MENU
 *	RVD 2/22/2008 QA70-11158 v8.0811 DRAW_GRID_PAGE_BOUNDS						*
 *	YuI 02/22/08 QA80-11156 DEFAULT_XF_APPLY_BUTTON_IMPLEMENTATION				*
 *	RVD 2/26/2008 qa70-11177 THEME_ACCESS_COVER_CELLS							*
 *	Hong 03/10/08 QA80-11223 SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
 *	TD 02-29-2008 QA80-11069 BLOCK_DIRTY_DOC_MORE_WORK							*
 *	Sim 03-14-2008 ALLOW_DESTROY_ATTACHED_PAGE									*
 *	ML 3/18/2008 QA70-10598 FORCE_REPORT_TO_ENGLISH								*
 *	Folger 03/19/08 QA80-10598 NEW_GETN_LOCALIZAED_CHECK_MACRO					*
 *	CPY 3/26/08 QA70-11296 PAGE_CREATE_NACTIVE_FROM_OC							*
 *	RVD 4/1/2008 QA70-11338 v8.0836 DELETE_POLYLINE_SELECTED_POINT				*
 *	YuI 04/08/08 QA70-11389 DOUBLE_XVAR_NAME_ASSIGNMENT_BROKEN					*
 *	YuI 04/09/08 QA70-11394 GETN_CONTROL_FOR_SYMBOL_WELL						*
 *	TD 04-15-2008 QA80-11420 OOBJ_METHOD_TO_SETXML								*
 *	Folger 04/17/08 CLEAN_UP_ORIGIN_INI_FILE_NAME								*
 *	Folger 05/21/08 ADD_GLOBAL_STRING_VARIABLE_FOR_PEAK_CHARACTERISTIC_REPORT	*
 *	Folger 05/22/08 QA80-11574 SUPPORT_GET_ALL_OPERATION_OUTPUT_SHEET_NAME_WITH_GLOBAL_STRING_VARIABLES
 *	TD 06-13-2008 QA80-11576 DOUBLE_CLICK_TO_DISABLE_BLINK						*
 *	YuI 06/16/08 QA70-11627 ACTIVE_SHOULD_RESOLVE_TO_ACTIVE_PLOT				*
 *	YuI 06/24/08 NEED_TO_OPTIONALLY_SUPRESS_BEFORE_EXECUTE						*
 *	Folger 07/08/08 IMPROVE_OKUTIL_GET_TOKENS_BY_SUPPORTING_IGNORE_QUOTES		*
 *	Hong 07/10/08 QA80-11785 v8.0899 SPEED_UP_CSV_IMPORT_USING_IMPORTASCII		*
 *	Hong 07/23/08 v8.0907 IMPROVE_IMPORT_EXCEL_ERROR_MESSAGE					*
 *	EJP 2008-07-23 v8.0908 QA80-11837 ADD_PREF_FOR_IMPORT_SEPARATORS			*
 *	YuI 07/28/08 QA70-11853 OPTION_TO_PUT_OUTPUT_X_INTO_SAMPLING_INTERVAL		*
 *	YuI 07/31/08 QA70-11930 REPLACE_POUND_WITH_AUTOX							*
 *	TD 08-26-2008 QA80-12076 SIMPLE_DATARANGE_DEFINED_USE_PLOT_FROM_WKS			*
 *	YuI 09/16/08 QA70-12204 POSITION_CONTROL_FOR_CONNECT_TO						*
 *	Sophy 9/13/2008 GRAPH_OBJ_TOOL_BASE_CLASS									*
 *	TD 09-17-2008 QA80-12206 SIMPLE_MATH_TOOL_MESSUP_INPUT_DATA					*
 *	YuI 09/22/08 QA70-12243 EXTENSION_TO_DOC_E_LABTALK_COMMAND					*
 *	YuI 09/24/08 QA70-12264 OPTION_TO_SELECT_GR_OBJECT_BEFORE_DATA				*
 *	Kyle 10/13/08 COMPARE_TO_TREE_AND_CREATE_A_TREE_FROM_THE_DIRRERENCE			*
 *	Fisher 10/17/2008 QA80-2935 NEW_DESIGNATION_ZI_FOR_TERNARY_CONTOUR			*
 *	RVD 10/16/2008 qa70-12335 v8.0957 FIX_XF_WCOPY_LABELS						*
 *	Kyle 10/20/08 ADD_OPTION_TO_SELECT_MATCH_BY_NODE_INDEX_OR_BY_TAGNAME		*
 *	ML 10/20/2008 QA70-10736 P3 DONT_RECALC_INC_WHEN_TICKLBLS_TEXT				*
 *	ML 10/24/2008 QA70-12327 CROSSTABBING										*
 *	RVD 10/23/2008 QA70-12444 v8.0961 UIM_DIALOG_FONTS_NO_RESIZE				*
 *	YuI 11/05/08 QA70-12530 WORKSHEET_COPYTO_EXPANSION							*
 *	Kyle 11/19/2008 ADD_COPY_LABELS_OPTION_TO_WORKSHEET_COPYTO					*
 *	Kyle 11/21/2008 ADD_COPY_SHORT_NAMES_OPTION_TO_WORKSHEET_COPYTO				*
 *	Sim 11-26-2008 QA80-12318 CLEAN_TREE_CREATE_DIFF_HEADER						*
 *	CPY 12/02/2008 QA70-12691 RESCALE_Y_FROM_AXIS_SCROLL_BAR_TO_SHOW_CURRENT_DATA
 *	Folger 12/04/08 QA80-12716 v8.0982b SUPPORT_NOT_SHOWING_EXISTING_COLUMNS_OR_PLOTS_IN_INTERACTIVE_POPUP
 *	Folger 12/11/08 QA80-12764 v8.0985 MODIFY_PEAKS_IN_PA_DURING_CHANGE_PARAMETER_MAKE_ORIGIN_LOCK
 *	Hong 12/12/08 v8.0986 CLEAN_MAGIC_NUMBER									*
 *  Sandy 2008-12-17 ADD_PROGRESSBOX_THRESHOLD_NUM								*
 *	Sophy 12/18/2008 v8.0988 QA80-12798 CHANGE_PARAMETERS_SHOULD_SHOW_THEME_MENU*
 *	Kyle 12/23/2008 QA80-12318-P1 ADD_OPTION_TO_KEEP_DIFFERENT_VALUES_IN_TNREF_AS_ATTRIBUTE
 *	Sim 12-23-2008 QA80-12836 SUPPORT_FILE_BROWSER_BUTTON						*
 *	Jack	12/26/2008 CHANGE_BOOL_CONTROL_INTO_DWORD_OPTIONS_CTRL				*
 *	Kyle 12/30/2008 v8.0992 OKUTIL_FIND_LT_FUNCTIONS_ADD_MATRIX_AS_RETURN_TYPE	*
 *	TD 12-30-2008 QA80-12883 ALWAYS_EXPANDED_BRANCH_IN_DYNACONTROL				*
 *	TD 01-08-2009 QA80-12937 LT_DRIVEN_XFUNCTIONS								*
 *	Kyle 01/12/2009 QA80-12943 v8.0995c ADD_METHOD_TO_GET_AND_SET_LAYER_BORDER_SYTLE
 *	Hong 01/12/09 QA80-12852 v8.0995c GETDATAPTS_REDUCE_DATA_REUSE_SPEED_MODE_ROUTINE
 *	TD 01-14-2009 QA80-12869 COMBO_AND_EDIT_WITH_BUTTON_USING_USER_EVENTS		*
 *	Folger 02/03/09 QA80-13032 SUPPORT_COPY_LAYER_SCALE_FOR_COPY_IMAGE_DATA		*
 *	Sim 02-05-2009 QA80-13072 FIX_DYNA_DLG_UPDATE_COMBO_STR_ON_TREE_NODE_EVENT	*
 *	Folger 02/09/09 QA80-12786 NODE_NUMBER_FORMAT_CHANGE_SHOULD_UPDATE_DYNACONTROL_BY_SET_TREE
 *	Hong 02/16/09 QA80-13108 FIX_WKS_EXTRACTED_FAIL_DO_RECALCULATION			*
 *	YuI 02/20/09 QA70-13152 PROPER_OPERATION_AUTO_BIN_INITIALIZATION_FOR_DATA_WITH_GROUPS*
 *	Kyle 03/03/2009 QA80-13149 RoundBinningRange_SUPPORT_SPECIFYING_INCREMENT	*
 *	Folger 03/09/09 QA80-13244 PLOTXY_FAILS_TO_MAKE_BOX_PLOT_WHEN_NO_X_COLUMN	*
 *	YuI 03/05/09 QA70-13220 WHOLE_WORKSHEET_INPUT_XYRANGE						*
 *	ML 3/10/2009 QA70-13254 TRIMMING_MISSING_VALUES_FROM_END_WHEN_EXTRACTING	*
 *	ML 3/11/2009 QA70-13254_P2 TRIMMING_MISSING_IF_XY_ALL_MISSING				*
 *	Folger 03/12/09 QA80-13258 SUPPORT_OPEN_DIALOG_WITH_LAST_USED_FROM_MRU		*
 *	ML 3/12/2009 QA70-13254 TRIMMING_MISSING_FROM_BEGIN_END_MORE_WORK			*
 *	RVD 3/17/2009 QA70-13294 WKS_PAGE_ORIENTATION								*
 *	YuI 03/17/09 QA70-13292 TWEAKING_INTERACTIVE_CONTROL_FOR_PA_BASELINE		*
 *	Folger 03/20/09 QA80-13326 SUPPORT_ACCESS_AXIS_POSITION_IN_OC				*
 *	RVD 3/20/2009 qa70-13324 STRING_TICK_LABELS									*
 *	YuI 03/23/09 QA70-12160 XYRANGE_XERROR_SUPPORT								*
 *	Folger 03/26/09 QA80-13350 RUN_WKS_SCRIPT_AFTER_COLUMNS_STRUCTURE_CHANGED	*
 *	RVD 3/27/2009 QA70-13357 THEME_CUSTOM_TICK_LABELS							*
 *	Kyle 03/28/2009 QA80-13366 REPORTTABLE_SUPPORT_SPECIFY_ALBELS_FOR_EACH_COLUMN
 *	RVD 3/31/2009 QA70-13368 THEME_CONTOUR_BOUNDARY								*
 *	Sim 04-02-2009 QA80-13403 ADD_INDIVIDUAL_OP_VERSION_FOR_CONVERT_GUI_TREE	*
 *	Hong 04/03/09 QA80-13409 MULTI_SELECT_LISTBOX_IN_DYNACONTROL				*
 *	Folger 04/08/09 QA80-13397-P1 PASTE_LONG_STR_CAUSE_INFINITE_LOOP_OF_EMBEDING_NOTES
 *	DSC 4/6/09 QA70-13396 STANDARDIZE_ORIGIN_INI_CASE							*
 *	YuI 04/09/09 QA70-13435 OPTION_TO_SUPPRESS_LT_ERROR_FOR_XF_INVOCATION		*
 *	Folger 04/10/09 QA80-13420 ACCESS_AXIS_LABEL_TYPE_AND_FORMAT_FROM_OC		*
 *	Folger 04/14/09 GROUP_BRANCH_LABEL_FAILS_TO_UPDATE_DYNAMICALLY_IN_2DBINNING	*
 *	RVD 4/23/2009 QA70-11650 v8.0878 NEW_SPACE_AXIS_WORK						*
 *	Folger 04/24/09 QA80-4588 BATCH_PROCESS_ANALYSIS_TEMPLATE_WITH_MULTIPLE_DATA*
 *	Folger 05/04/09 QA80-13552 GRAPH_BROWSER_NEEDS_MORE_CONTROL_OPTIONS			*
 *	YuI 05/04/09 QA70-11982 STATISTICAL_WEIGHT_ERROR_TREATMENT					*
 *	Hong 04/27/09 QA80-8454 SUPPORT_MORE_WKS_DATA_MANIPULATION_CAPABILITIES		*
 *	Folger 05/11/09 QA80-13571 CHECK_ADD_FILE_EXT_SHOULD_RETURN_PROPER_ERROR	*
 *	ML 5/11/2009 QA70-13526 DATASET_BASED_SCALE_FOR_TIMESERIES					*
 *	Sim 05-20-2009 QA80-13612 MOVE_TEMPLATE_UTILS_FROM_OC_TO_VC					*
 *	Folger 06/04/09 QA80-13718 IMPROVE_XF_XYRANGE_OUTPUT_AUTO_FIND_X_MECHANISM	*
 *	Sim 06-02-2009 QA80-4584 EXTRACT_WKS_SUPPORT_AUTO_UPDATE					*
 *	ML 6/5/2009 QA70-13617 MEMORY_FAILURE_CHECKING_ON_HUGE_PIVOTTABLES			*
 *	YuI 06/08/09 QA70-13748_P1 IMAGE_CROP_CORRUPTS_DATA_MODE					*
 * Kenny 06/10/2009 ADD_SIGNIFICANT_DIGITS_STORAGE_NAME_FOR_VERTICAL_CURSOR		*
 * Kenny 06/12/2009 SHARE_STORAGE_NAME_FOR_VERTICAL_CURSOR						*
 *	YuI 06/12/09 QA70-13595 SUPPORT_FOR_DATA_PLOT_ELEMENTS_ACCESS				*
 *	TD ML 06-19-2009 QA80-13551_P4 OC_ACCESS_TO_PAGE_SLIDE_SHOW					*
 *	RVD 6/26/2009 QA70-11650 NEW_SCALE_AXIS_WORK								*
 *	Sophy 6/30/2009 v8.1051 QA80-13804 FAIL_TO_SEL_MULTIPLE_COLUMNS_WITH_COLUMN_PROPERTIES_DIALOG_OPEN
 *	Hong 06/29/09 QA80-8454 REWRITE_UNSTACK_COLS_WITH_NEW_REQUIEMENT			*
 *	Folger 07/03/09 QA80-13876 FIND_AND_REPLACE_IMPROVEMENT_IN_DATARANGE		*
 *	Kyle 07/10/2009 QA80-13908-S2 SET_COLUMN_AS_CATEGORICAL_IN_SET_REPORT_TREE	*
 *	RVD 7/9/2009 QA70-13828 RECESS_BARS_DRAW_THEME								*
 *	TD ML 07-16-2009 QA80-13860 MATRIX_SURFACE_COLOR_MODIFIERS_IN_CHOICE_BOX	*
 *	Folger 07/17/09 QA80-13959 SHOW_MISSING_VALUE_IN_GETN_CONTROL_OPTIONS		*
 *	CPY 7/17/09 QA70-13967-P2 HIDE_DATASET_SPACE_UNTIL_LATER					*
 *	RVD 7/17/2009 QA70-13837 FULL_SCREEN_VIEW_KEEP_ASPECT_RATIO_OPTION			*
 *	YuI 07/17/09 QA70-13962_P1 BINNED_STRETCH_INCREMENT_MODE					*
 *	Kyle 07/20/2009 QA80-13746-P2 SCV_COL_COLUMN_BROWSER_AND_RANGE_BROWSER_SHOW_SN_LN_CLEANUP
 *	Folger 07/23/09 QA80-13420-P2 XF_BASED_PLOTTING_NEEDS_GETN_TREE_AND_AUTO_UPDATE_SUPPORT
 *	TD 7-31-2009 QA80-14044 UNDEFINED_STATE_FOR_SOME_DYNACONTROL_CONTROLS		*
 *	Folger 08/03/09 QA80-13998 PA_LAST_REPORT_LT_STRING_CLEANUP					*
 *	Sim 2009-08-04 QA81-14036 FIX_LOST_FOCUS_ON_COMMAND_WINDOW_WHEN_SHOW_WB_ORGANIZER
 *	Kenny 08/04/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS				*
 *	Kenny 08/04/2009 QA80-13876-P2 FIX_BUG_IN_NUMERIC_FIND_REPLACE_FOR_NOT_EQUAL_CONDITION*
 *	RVD 8/4/2009 qa70-14064 DELETE_WKS_NAMED_STYLE_PROPERTY						*
 *	Sim 2009-08-04 QA81-14062-P2 SUPPORT_OUTPUT_COMMENT_AS_LONG_NAME_ONLY		*
 *	TD 07-06-2009 QA80-14093 PAGEBASE_STATUS_IN_FOLDER_ACCESS_READONLY			*
 *	Sim 2009-08-10 QA81-14062-P1 UPDATE_OLD_PRJ_XF_OUTPUT_COMMENT				*
 *	Folger 08/12/09 QA80-14130 NEW_UFF2_AS_SYSTEM_TEMP_NEEDED					*
 *	Sophy 8/14/2009 IMPROVE_RISETIME_TOOL_TO_INDICATE_RISETIME_FALLTIME_RANGE	*
 *	Hong 08/20/09 QA80-10260 FIX_FAIL_CORRECTLY_IMPORT_MULTILINES_IN_ONE_CELL_CSV_FILE_CREATED_IN_MAC
 *	Kyle 08/20/2009 QA80-14187 REPORT_TREE_COPY_FORMAT_FROM_SOURCE_COLUMN		*
 *	Sim 08-20-2009 QA81-14175 SUPPORT_GET_GETN_TREE_ON_XF_BODY					*
 *	Folger 08/21/09 QA80-14174 SUPPROT_DYNA_RADIO_OPTIONAL_DISABLED				*
 *	YuI 08/20/09 QA70-14169 OPTION_TO_PRINT_GR_EVEN_IF_PROGRAMMING_CONTROL		*
 *	Kyle 08/21/2009 QA80-14189 CrossTab_CALCULATE_ROW_TOTAL_AND_COLUMN_TOTAL	*
 *	Folger 08/24/09 QA80-10703 RUN_XFM_NOT_WORK_FOR_XF_WITHOUT_DIALOG			*
 *	Kyle 08/25/2009 QA80-14189-P2 CrossTab_MOVE_NORMALIZE_BY_COLUMN_TOTAL_TO_VC	*
 *	Kenny 08/26/2009 QA81-14203 RESET_PAGE_NAME_IF_CREATED_FROM_OC				*
 *	Sim 08-27-2009 QA81-14222 SHOW_HINT_FOR_BOOK_SHEET_THEME_SAVE_AS			*
 *	YuI 08/28/09 QA70-14224 INIT_FROM_SELECTION_SHOULD_SKIP_HIDDEN_PLOTS		*
 *	Sim 08-31-2009 QA81-14106 IMPROVE_ED_DIALOG									*
 *	Folger 09/04/09 UNSTACK_SUPPORT_ALL_DATA_ALIGNMENT							*
 *	Folger 09/08/09 QA80-13420 XF_BASED_PLOTTING_NEEDS_GET_OUTPUT_GRAPHLAYER_IN_EVENT1
 *	Kyle 09/07/2009 QA80-14261 COLORMAP_THEME_IMPROVEMENTS						*
 *	Folger 08/28/09 QA80-4588 BATCH_PROCESS_SUPPORT_SPECIFY_START_ROW_FOR_APPENDING
 *	Folger 09/14/09 CLEAR_DATA_SUPPORT_NO_CLEAUP_UNDO_STACK						*
 *	Kenny 09/18/2009 QA81-14329 ALLOW_SETTING_SIZE_OF_DROP_DOWN_PORTION_OF_COMBOBOX*
 *	Kenny 09/22/2009 QA81-13631-P1 FIND_REPLACE_SHOULD_SUPPORT_FIND_BLANK_CELLS	*
 *	TD 9-22-2009 QA80-14351 NEW_OC_DIALOG_MESSAGE_ON_CLICK_OUTSIDE_MODAL		*
 *	Folger 09/24/09 QA80-14368 XF_BASED_PLOTTING_FROM_TEMPLATE_LIBRARY_ALWAYS_UPDATE_UNKNOW_KEYWORD_INTO_PLOTTING_MRU
 *	Kyle 09/25/2009 QA80-13617 ALLOW_USER_CANCEL_THE_OPERATION					*
 *	ML 9/30/3009 QA70-13839 NEED_EVEN_LARGER_TEMP_STRING_SIZE					*
 *	CPY 10/6/09 QA70-14418 REPLACE_MISSING_WITH_VAL_NEED_OPTION_TO_REPLACE_BLANK_AND_TEXT_AS_WELL
 *	EJP 2009-10-07 QA81-14423 USER_DEFINED_TEXT_TO_TREAT_AS_NUMERIC				*
 *	Folger 10/09/09 XF_VECTOR_OUTPUT_SHOULD_ONLY_SET_COMMENT_TO_FIRST_COLUMN_IF_SET_AS_INPUT_COMPOSITE_RANGES
 *	Folger 10/10/09 QA80-14448 SET_GET_GROUP_STATES_IN_LAYER					*
 *	Folger 10/13/09 QA80-14393-P1 GROUP_CLIENT_FAILS_TO_STARTUP_AFTER_SETTING_GROUP_LEADER_IN_81
 *	Folger 10/12/09 QA80-14449 REPORTDATA_SHOULD_NOT_UPDATE_SN_LN_WHEN_RECALCULATE
 *	Kyle 10/15/2009 QA80-14475 OC_WORKSHEET_ADD_DELETE_ROWS_METHOD				*
 *	YuI 10/20/09 QA70-14507 OPTION_FOR_SINGLE_BLOCK_RANGE						*
 *	Hong 10/22/09 QA80-14475-S1 USE_RANGE_INPUT_OUTPUT_TO_SUPPORT_COLUMN_RANGE	*
 *	Folger 10/23/09 QA81-14525 SUPPORT_UNDO_XF_RANGE_OUTPUT_WITH_NEW_COLUMNS	*
 *	TD ML 10/26/2009 QA80-14502_S1 TOOLTIP_TAG_NAMES							*
 *	YuI 10/26/09 QA70-14205 X_RANGE_POLYRANGE_SUPPORT							*
 *	Folger 10/28/09 QA81-14554 XF_REPORTDATA_OUTPUT_UNDO_SUPPORT				*
 *	Folger 11/02/09 QA81-14522 SUPPORT_FIND_REPLACE_STR_IN_LABEL_ROWS			*
 *	Folger 11/05/09 OC_ADDPLOT_MAKE_PLOT_SUPPORT_UNDO							*
 *	Folger 11/11/09 QA81-14630 SUPPORT_DUMPING_XF_SETTINGS_FROM_GETN_DIALOG		*
 *	Sim 11-13-2009 QA81-14623 NOT_CLOSE_DLG_WHEN_ENTER_PRESSED					*
 *	YuI Folger 11/19/09 QA81-14619-P2 LT_COMMAND_LAYER_MA_TO_RESCALE_ALL_LINKED_LAYERS_IN_ONE_FAMILY*
 *	Hong 11/20/09 QA80-12798-S3 COMPARE_AUTO_ATTRIB_INSTEAD_OF_VALUE_IF_PRESENT_IN_BOTH_TREENODE
 *	Sim 11-18-2009 QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER				*
 *	CPY 11/21/09 QA81-14693 LT_STRINGARRAY_SPECIAL_TMP_SERIES_CODE_CLEANUP		*
 *	Kyle 11/27/2009 QA80-11347-P6 FORCE_TO_CHECK_ADD_MANGLE_TO_NUMERIC_SHORT_NAME
 *	YuI 12/04/09 QA70-14803 ONODETYPE_NOT_FORWARD_BACKWARD_COMPATIBLE			*
 *	Sophy 12/4/2009 QA80-14799 EXPOSE_DATAMASK_EVENT_TO_OC_GRAPHOBJECT			*
 *	Folger 12/07/09 QA81-14807 ALLOW_OC_FUNCTION_WITH_VECTOR_COMPLEX_ARGUMENT_INVOKED_FROM_LT
 *	Sim 12-09-2009 QA81-14524-P6 FIX_REDUCE_ROW_TO_NEW_COL_MISS_MASK_STATUS		*
 *	Sim 12-11-2009 QA81-14817 LT_SUPPORT_TEST_EXISTING_FOLDER_IN_PE				*
 *	Sophy 12/11/2009 QA80-14686 DATAPLOT_GET_DATAPOINTS_NEED_TO_SKIP_MASKED_DATA*
 *	Folger 12/11/09 QA81-14831-P2 OPEN_XF_DIALOG_FROM_LT_SUPPRESS_ERROR_WHEN_USER_CANCEL
 *	YuI 12/14/09 QA70-13806 VIRTUAL_MATRIX_IMPLEMENTATION						*
 *	Kenny 12/23/2009 QA81-14845-P5 INSERT_USER_VAR_DLG_FOR_GOBJECT_SHOULD_NOT_CLOSE_ON_INSERT*
 *	Hong 12/24/09 QA80-14832 NLFIT_OPEN_BY_HOTKEY_SOPPORT_APPLY_SETTING_FROM_QUICKFIT_WITHOUT_ANY_THEME
 *	Kyle 12/24/2009 QA80-14832 CHECK_IF_ACTIVE_PLOT_HAS_QUICK_FIT_OUTPUT_TO_ENABLE_FINDXY_MENU
 *	Folger 12/28/09 QA81-14630 GENERATE_SCRIPT_FOR_XF_OEPRATION					*
 *	Folger 12/29/09 QA81-14832 SET_GET_QUICK_FIT_SOURCE_PLOT_UID				*
 *	Sophy 1/4/2010 QA80-14904-S1 SUPPORT_FLEXIBLE_ATTACHED_GROBJ_FOR_ROI_TOOLS	*
 *	Folger 12/11/09 QA81-14831-P1 LT_USE_OC_GETN_SUPPRESS_ERROR_WHEN_USER_CANCEL*
 *	Sophy 1/11/2010 SUPPORT_OPEN_NLFIT_FROM_QUICKFIT_CONTEXT_MENU				*
 *	Folger 01/13/09 QA81-14954 XF_RANGE_VARIABLE_SUPPORT_NO_FACTOR_NO_WEIGHT	*
 *	Folger 01/14/09 QA81-14832 SUPPORT_QUICK_FIT_THEME_WITH_PREFERENCE_SETTINGS	*
 *	TD ML 01-18-2010 QA70-14900 WANTED_GROUPBOX_BRANCH_IN_DYNACONTROL
 *	EJP 2010-01-20 QA81-14997 SUPPORT_CUSTOM_TIME_FORMAT_IN_WKS_COL				*
 *	Folger 01/23/10 QA81-15025 SUPPORT_NOT_DRAW_GROBJ_EDGE_BY_CONNECTION_IF_UNSELECTABLE
 *  Iris 1/23/2010 IMPROVE_FINDXY_OUTPUT_TO_WKS_CODES							*
 *  Iris 1/25/2010 FINDXY_OUTPUT_WKS_NEED_KEEP_SAME_FORMAT_WITH_SOURCE_X_COL	*
 *	Hong 01/28/10 QA80-14995-P2 FIX_OUTPUT_TO_WKS_FAIL_ALL_PUT_TO_ONE_SHEET_IF_NOT_VALID_SHORT_NAME
 *	Sim 01-22-2010 QA81-13423 SUPPORT_INSERT_CUSTOM_MAIN_MENU					*
 *	Folger 02/02/10 QUICKFIT_SUPPORT_WITHOUT_ROI_BOX_WITH_CNTRL_KEY_DOWN		*
 *	RVD 2/3/2010 qa70-15068 PREVENT_LAYER_RENAME								*
 *	Hong 02/04/10 QA8015063 FIX_FAIL_ACCESS_WKS_COL_FILE_INFO_IN_LT				*
 *	RVD 2/9/2010 qa70-15085 SCALEIN_PA_PEAK_RECT_LIMITED						*
 *	Sophy 2/11/2010 QA81-15107 SUPPORT_EXTEND_POSITION_FOR_GRAPHOBJECT_CONNECT	*
 *	ML 2/15/2010 QA70-15113 81SR1_OMC_FILES_SHOULD_ALWAYS_APPEND_BUT_NEW_SHOULD_INSERT_BEFORE_WINDOW
 *	Kenny 02/21/2010 QA81-15136 NEW_MECHANISM_TO_ACCESS_AUTO_COLOR_OF_GETN_COLOR*
 *	Sophy 3/3/2010 QUICKFIT_REPORT_TO_WKS_SHOULD_APPLY_SIGNIFICANT_SETTINGS		*
 *	Hong 03/10/10 QA80-15180 SUPPORT_PAGE_LONGNAME_BE_UNIQUE					*
 *	Folger 03/17/10 QA81-15215 BATCH_PROCESS_SHOULD_SKIP_EMPTY_CELLS_WHEN_APPENDING
 *	Folger 03/18/10 QA81-14514 ALL_SHEETS_IN_EXCEL_BOOK_SHOULD_BE_SHOWN_IN_PLOT_SETUP
 *	Folger 03/22/10 QA81-14867 BATCH_PROCESS_TOO_MANY_FILES_THAT_FILL_UP_MESSAGE_QUEUE_CRASH_ORIGIN
 *	Fisher	03/25/10 QA81-13167-P2	TERNARY_COOR_CLCOKWISE						*
 *	Sophy 3/25/2010 QA80-15232 SLIDE_SHOW_DISPLAY_ON_SAME_MONITOR_AS_ORIGIN_APP_WIN_SUPPORT
 *	RVD 4/7/2010 QA70-15270 GR_VIEWSTATE_NO_CONRNERS							*
 *	Kenny 04/13/2010 QA81-14570 ADD_NEW_GUI_TO_ADD_XY_VALUES_AS_LABELS_TO_PLOT	*
 *	TD ML 04-13-2010 QA85-15312 ICON_OVERLAYS_IN_GRIDCONTROL					*
 *	Folger 04/15/10 QA81-15315 NLFIT_SHOULD_CHANGE_OUTPUT_GRAPH_AXIS_SCALE_IF_MANUAL
 *	Folger 04/23/10 QA81-15347 LT_ACCESS_TO_WKS_SELECTION_BY_XF					*
 *	Hong 05/14/10 ORG-119-P2 FIX_TICKLBLS_WRONG_INC_WHEN_CATEGORICAL			*
 *	Folger 05/27/10 ORG-120 DATA_DISPLAY_DIALOG_IMPROVEMENT						*
 *	RVD 6/1/2010 NO_TRANSPARENT_HITTEST											*
 *	Kyle 06/11/2010 ORG-294 EXPOSE_MOVE_OBJECT_TO_OC							*
 *	Folger 06/23/10 ORG-372-S2 ADD_SEPARATOR_COLUMN_TYPE						*
 *	Folger 06/23/10 ORG-365-P4 MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS		*
 *	Folger 06/28/10 ORG-423 EDIT_FIT_FUNC_USING_WIZARD							*
 *	Folger 06/29/10 ORG-336 ADD_BACK_CURSOR_SUPPORT_FOR_DATA_INFO				*
 *	Folger 07/02/10 ORG-436-S4 DATA_INFO_ROW_SEPARATOR_SUPPORT					*
 *	Folger 07/05/10 ORG-436-S2 SUPPORT_COLUMN_HEADER_IN_DATA_INFO				*
 *	Kyle 07/08/2010 ORG-388-P1 FreqFilter_IN_matrixbase							*
 *	Fisher 07/12/10	ORG-465 BASIC_FRMAEWORK_FOR_OPENGL_3D_MODULE				*
 *	RVD 07/16/2010 ORG-398-P1 PROPER_THEME_ACCESS_TO_XYY_3D_BAR_FACES			*
 *	Hong 07/15/10 ORG-437 COL_INX_SUPPORT_THOSE_ON_LEFT							*
 *	Folger 07/21/10 ORG-52 BETTER_SPACES_ARRANGEMENT_FOR_COLUMN_BAR_PLOT		*
 *	Folger 07/23/10 ORG-423-P3 SHOULD_NOT_COMPILE_FFW_IF_NAME_NOT_FITTING_FUNCTION
 *	Kyle 07/26/2010 ORG-234-P5 APPLY_PALETTE_TO_MTRIX_OBJECT_IMAGE				*
 *	Folger 07/28/10 ORG-50 WTRANSPOSE_SUPPORT_ALL_LABEL_ROWS					*
 *  Derek 08/02/2010 ORG-388-P1 ADD_OPTION_FOR_ZERO_CUT_OUTSIDE_CIRCLE          *
 *	ML 8/3/2010 ORG-700 ADDING_TABLEOBJ_VIA_CONTEXTMENU_OUGHT_TO_RESPECT_CLICKED_POSITION
 *  Derek 08/03/2010 ORG-388 SUPPORT_SPECIFYING_CUTOFF_IN_FOURIER_PIXELS        *
 *	RVD 8/5/2010 ORG-172-s1 DISABLE_ZOOMPAN_GRAPH_PREVIEW						*
 *	Kenny 08/10/2010 ORG-688-P4 THEME_ACCESS_FOR_3D_ERROR_BAR					*
 *	Jasmine 08/13/2010 ORG-172-S2 CENTRALIZE_NOCLICK_BIT_FOR_PREVIEW_IN_OC_TOOL	*
 *	Folger 08/17/10 ORG-815 WKS_FIND_COL_INDEX_FAILED_TO_FIND_X_IF_REF_COL_IS_EVEN_SPACED
 *	Folger 08/18/10 ORG-815 VIRTUAL_MATRIX_TRANSPOSE_STATUS_WRONG				*
 *	Kenny 08/19/2010 ORG-396-P1 THEME_ACCESS_FOR_3D_SCATTER_PROJECTIONS			*
 *	Folger 09/10/2010 ORG-1029 FIND_COL_INDEX_SUPPORT_SEARCH_DEPENDENT_COLS		*
 *	Folger 10/08/2010 ORG-1207-P1 IMPORT_ASCII_NUMERIC_SEPARATOR_AUTO_SUPPORT	*
 *	Kyle 10/18/2010 ORG-1253-S1 REDO_POP_REMINDER_MESSAGE_FOR_TRANSFER_USER_FILES_WHEN_STARTING_ORIGIN
 *	Folger 10/27/2010 ORG-27 NEW_DIGITIZER_GADGET								*
 *	Folger 10/28/2010 ORG-1311-S2 COLMOVE_SUPPORT_MOVE_COLUMNS_TO_SPECIFIED_INDEX
 *	Kyle 11/01/2010 ORG-1381 PALETTE_BUTTON_ON_STYLE_TOOLBAR					*
 *------------------------------------------------------------------------------*/
#ifndef _OC_CONST_H
#define _OC_CONST_H



// repaint constants for Dataset Append method
typedef enum { DATA_APPEND_NO_REDRAW = 0, DATA_APPEND_REFRESH, DATA_APPEND_REDRAW_ON_IDLE} DataAppenRepaintModes;

//the struct for the worksheet

//#define MAX_NUMBER_OF_LINE   20000
//#define MAX_NUMBER_OF_COLUMN   500
#define MAXLINE				120
#define NAME_SIZE			25
#define SHORT_NAME_SIZE		12
#define MAXFULLPATH			260 ///MAX_PATH in win32 is defined as 260
#define	MAX_FILENAME		266 //to allow for .xxx extension
#define MAX_FILE_EXT_LENGTH	5	//----- CPY 9/24/2007 TDMS_NEED_FILE_EXT_OF_4_CHARS	 TDMS needs only 4 but I just want to be safer to allow more

///DSC 04/02/2004 QA70-5552 SEPERATE_OC_DLL
#define	MAX_SHEET_NAME				33 //80	by CPY change after checking with Excel
#define LAYER_NAME_SIZE	MAX_SHEET_NAME  ///CPY this is from Excel sheet name size
///end SEPERATE_OC_DLL

/// ML 4/18/2001 VARIABLE_ARG_LIST_CALLS
#define	VARIABLE_ARG_MEMORY_MAX_SIZE			(5 * MAXLINE)			// it will be used to store all the arguments
																				// (VARIABLE_ARG_MEMORY_MAX_SIZE == 600 bytes is enough for
																				// 600 / 8 = 75 doubles, or 600 / 4 = 150 integers or LPCSTRs,
																				// which should be more then plenty
/// end VARIABLE_ARG_LIST_CALLS

/// AW 04/18/06 ADD_OK_GET_WKS_DATABASE_STATUS
#define WKS_DATBASE_STATUS_NAME		"WKS_Database_Status_Name"
/// END  ADD_OK_GET_WKS_DATABASE_STATUS


//--- CPY 2/13/04 v7.5822 QA70-5988 ADD_LAYER_TO_PAGE_FOR_WKS_AND_GRAPH
// const for page AddLayer method dwOptions
// for new worksheet
// CREATE_BIT_MASK = 0x000F0000 is reserved and should not be used 
enum { 
	WP_SHEET_HIERARCHY			= 0x00000001,
	WP_SHEET_BACKGROUND_WHITE	= 0x00000002,
	WP_SHEET_NO_HORZLINES		= 0x00000004,
	WP_SHEET_NO_VERTLINES		= 0x00000008,
	WP_SHEET_NO_HEADER_LABELS	= 0x00000010,
	WP_SHEET_MAIN_NAN_AS_BLANK	= 0x00000800,
	WP_SHEET_NEW_LPARAM_PTR_FR	= 0x00002000,
	WP_SHEET_THIN_COL_HEADERS	= 0x00004000,

	WP_SHEET_MASK				= 0x0000FFFF,

	WP_COL_CHANGE_UNDO			= 0x01000000,	///------ Folger 10/23/09 QA81-14525 SUPPORT_UNDO_XF_RANGE_OUTPUT_WITH_NEW_COLUMNS
	WP_ALL_COL_MIXED			= 0x02000000,	/// ML 6/28/2007 QA70-9994 ALWAYS_MIXED_COLUMN_IN_REPORT_SHEETS_TO_ALLOW_LINKS
	WP_NEW_COL_MIXED			= 0x04000000,	/// ML 6/28/2007 QA70-9994 ALWAYS_MIXED_COLUMN_IN_REPORT_SHEETS_TO_ALLOW_LINKS
	WP_REPLACE_DATA				= 0x08000000,	/// ML 12/27/2006 QA70-9208 LINKS_PRODUCED_VIA_SETREPORTTREE

	WP_NEW_COL_DESIGNATION_NONE = 0x10000000,
	WP_NEW_COL_ENUM				= 0x20000000,
	WP_NEW_COL_INIT_WKS_ROWS	= 0x40000000, // default new col is empty, use this to init col to wks row size
WP_SUBTYPE_AS_INETRNAL_NUM_TYPE = 0x80000000,  /// AW 11/22/05 QA80-8361 v8.0340 IMPROVE_MATRIX_COPYTO_WORKSHEET_METHOD
	//----- CPY 3/2/09 QA70-13200 EXCEL_AUTO_ADD_SHOULD_USE_EXCEL_TYPE_NEW_COL_NAME
	//WP_NEW_COL_MASK				= 0xF0000000,	//CPY, I see no need for this and see WP_ALL_COL_MIXED to see this no longer holds
	//WP_LAST_ENTRY };
};
	//-----

//--- end ADD_LAYER_TO_PAGE_FOR_WKS_AND_GRAPH
	
//---------- CPY  8/23/02 QA70-2802 v7.0383 CENTRALIZATION_OF_CONST_TO_OC_CONST
// the following const are taken from NLSF and moved here so OC can have access
#define NLSF_MAX_PARAM						200
#define	NLSF_CATEGORY_NAME_SIZE				64
#define	NLSF_FUNCTION_NAME_SIZE				64
//----------

///Kyle 10/13/08 COMPARE_TO_TREE_AND_CREATE_A_TREE_FROM_THE_DIRRERENCE 
#define STR_TRDIFF_REF_VALUE_ATTRIB "CreateDiffRefValue"			///Kyle 12/23/2008 QA80-12318-P1 ADD_OPTION_TO_KEEP_DIFFERENT_VALUES_IN_TNREF_AS_ATTRIBUTE
enum {
	TRDIFF_CHK_ATTRIB = 0x1000,
	///---Sim 11-26-2008 QA80-12318 CLEAN_TREE_CREATE_DIFF_HEADER
	//TRDIFF_CHK_MISSING1 = 0x0001,
	//TRDIFF_CHK_MISSING2 = 0x0002,
	TRDIFF_KEEP_INDIVI_TARGET = 0x0001,
	TRDIFF_KEEP_INDIVI_REF = 0x0002,
	///---END QA80-12318 CLEAN_TREE_CREATE_DIFF_HEADER
	TRDIFF_KEEP_BRANCH_NO_LEAF = 0x0004,
	TRDIFF_KEEP_REF_VALUES = 0x0008,			///Kyle 12/23/2008 QA80-12318-P1 ADD_OPTION_TO_KEEP_DIFFERENT_VALUES_IN_TNREF_AS_ATTRIBUTE
	TRDIFF_BY_NODE_INDEX = 0x0010, // otherwise by node tagName   ///Kyle 10/20/08 ADD_OPTION_TO_SELECT_MATCH_BY_NODE_INDEX_OR_BY_TAGNAME
	/// Hong 11/20/09 QA80-12798-S3 COMPARE_AUTO_ATTRIB_INSTEAD_OF_VALUE_IF_PRESENT_IN_BOTH_TREENODE
	TRDIFF_CHK_AUTO_ATTRIB_INSTEAD = 0x0020, // if present, treenode value will NOT be considered in case: both STR_ATTRIB_AUTO preset in treenode, and its values are both 1 or diff
	/// end COMPARE_AUTO_ATTRIB_INSTEAD_OF_VALUE_IF_PRESENT_IN_BOTH_TREENODE
};
///End COMPARE_TO_TREE_AND_CREATE_A_TREE_FROM_THE_DIRRERENCE

// constants to be used in string.Write and string.WriteLine
enum {WRITE_SCRIPT_WINDOW, WRITE_STATUS_BAR, WRITE_OUTPUT_LOG, WRITE_MESSAGE_BOX, WRITE_COMPILER_OUTPUT};

//------ CPY 12/8/02 v7.0456 ADD_HWND_CONSTRUCTOR_TO_WINDOW	
// consts to be used to retrive window handles from Origin
enum {OGW_MAIN, OGW_MDICLIENT, OGW_SCRIPT_WINDOW, OGW_OUTPUT_LOG, OGW_CODEBUILDER, OGW_DB_ACTIVE_DLG, OGW_NUM_WIN_TYPES};
//------

//the following enum are used in the column class function
//typedef enum { DEFAULT_DECIMAL_DIGITS, SET_DECIMAL_PLACES, SIGNIFICANT_DIGITS } ColDigitMode;
typedef enum {DIGITS_FREE_FORM, DIGITS_DECIMAL, DIGITS_SIGNIFICANT} ColDigitMode;

//----- CPY 4/1/04 QA70-5367 NEW_WORKBOOK
// Origin internal has always been using Right = 0, Left = 1, Center = other values so this enum was incorrect to start from 1
//	typedef enum { COL_JUSTIFY_LEFT = 1, COL_JUSTIFY_RIGHT, COL_JUSTIFY_CENTER } ColJustify;
typedef enum { COL_JUSTIFY_RIGHT, COL_JUSTIFY_LEFT, COL_JUSTIFY_CENTER } ColJustify;
//----- end CPY 4/1/04 QA70-5367 NEW_WORKBOOK

#ifndef OKCOLTYPE_MASK
	/// RVD 3/20/2009 qa70-13324 STRING_TICK_LABELS
	/*
	#define		OKCOLTYPE_NUMERIC			0
	#define		OKCOLTYPE_TEXT				1
	#define		OKCOLTYPE_TIME				2
	#define		OKCOLTYPE_DATE				3
	#define		OKCOLTYPE_MONTH				4
	#define		OKCOLTYPE_WEEKDAY			5
	#define		OKCOLTYPE_COLUMN			6
	#define		OKCOLTYPE_DATASET			7
	#define		OKCOLTYPE_DATASET_X			8
	/// internal formats, reserved 6, 7, 8
	#define		OKCOLTYPE_TEXT_NUMERIC		9
	/// YuI 09/27/01 v6.9091 t9456 IMPLEMENTATION_OF_CATEGORICAL_PLOT
	#define		OKCOLTYPE_CATEGORICAL		0x000A
	/// end IMPLEMENTATION_OF_CATEGORICAL_PLOT
	/// Hong 03/10/08 QA80-11223 SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
	#define		OKCOLTYPE_PERCENTAGE		0x000B
	#define		OKCOLTYPE_CURRENCY			0x000C
	/// end SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
	*/
	
	/**> Internal Origin Objects > Column
	*/
	enum OKCOLTYPE
	{
		OKCOLTYPE_NUMERIC = 0,
		OKCOLTYPE_TEXT,
		OKCOLTYPE_TIME,
		OKCOLTYPE_DATE,
		OKCOLTYPE_MONTH,
		OKCOLTYPE_WEEKDAY,
		OKCOLTYPE_COLUMN,
		OKCOLTYPE_DATASET,
		OKCOLTYPE_DATASET_X,
		OKCOLTYPE_TEXT_NUMERIC,
		OKCOLTYPE_CATEGORICAL,
		OKCOLTYPE_PERCENTAGE,
		OKCOLTYPE_CURRENCY,
		OKCOLTYPE_STROBJ,
		// not to exceed OKCOLTYPE_MASK
	};
	/// end STRING_TICK_LABELS
	#define		OKCOLTYPE_MASK				0x000F/// CPY v4.97 3/11/97 TEST_CELL_NUMERIC_OR_NOT

/// ML 2/28/97 DATAOBJECT__DESIGNATIONS
// The order is important!!!!!!! Do NOT change it!!!!!!! Also, the first must be zero!!!
	enum
	{
		OKDATAOBJ_DESIGNATION_Y = 0,
		OKDATAOBJ_DESIGNATION_NONE,	 //	DISREGARD
		OKDATAOBJ_DESIGNATION_ERROR,
		OKDATAOBJ_DESIGNATION_X,
		OKDATAOBJ_DESIGNATION_L,
		OKDATAOBJ_DESIGNATION_Z,
		OKDATAOBJ_DESIGNATION_X_ERROR,
		OKDATAOBJ_DESIGNATION_GROUP,	//---- CPY 9/7/05 QA70-8075 SET_COL_AS_GROUP_FOR_ANOVA
		OKDATAOBJ_DESIGNATION_SUBJECT,	//---- CPY 9/7/05 QA70-8075
		OKDATAOBJ_DESIGNATION_WEIGHT,	//---- CPY 4/5/06 DATA_RANGE_TYPE_COL_DESIGN_CONSISTENT 
		#ifdef __TERNARY_CONTOUR__
		OKDATAOBJ_DESIGNATION_ZINDEP, 	/// Fisher 10/17/2008 QA80-2935 NEW_DESIGNATION_ZI_FOR_TERNARY_CONTOUR
		OKDATAOBJ_DESIGNATION_ZDEP,		/// Fisher 09/07/2009 QA80-14237-P13 PROPER_DESIGNATION_STR_FOR_TERNARY_CONTOUR
		#endif  //__TERNARY_CONTOUR__
	};
/// end DATAOBJECT__DESIGNATIONS
#endif //!OKCOLTYPE_MASK
/// Hong 03/08/08 v8.0820 OC_SUPPORT_CELL_GET_SET_DATE_FORMAT_FOR_EXCEL_IMPORT
#ifndef OKCOLSUBFMT_MASK 
	#define		OKCOLSUBFMT_MASK			0x000F
	#define		OKCOLDECIMAL_MASK			0x00C0 /// Hong 03/10/08 QA80-11223 SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
	#define		OKCOLDECIMAL_SHIFT_BITS		6 /// Hong 03/19/08 v8.0827 CENTRALIZE_HARD_CODE_USING_MACRO
	/// Hong 03/11/08 QA80-11223 SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
	typedef enum tagCURRFMTCODE
	{
		CURR_UNKNOWM = -1,
		CURR_US1,
		CURR_EU1,
		CURR_EU2,
		CURR_GB1,
		CURR_USD,
		CURR_EUR,
		CURR_GBP,
		CURR_JPY,
		CURR_CHF,
	}CURRFMTCODE;
	/// end SPEEDUP_EXCEL_IMPORT_BY_PERCENTAGE_CURRENT_INTERAL_TYPE
#endif //OKCOLSUBFMT_MASK
/// end OC_SUPPORT_CELL_GET_SET_DATE_FORMAT_FOR_EXCEL_IMPORT

/// RVD 7/28/2005 QA70-7939 v8.0277 COLUMN_THEME_ACCESS
// from frame.h
enum 
{ 
	SET_AS_X,
	SET_AS_Y,
	SET_AS_Z,
	SET_AS_X_ERR_BAR,
	SET_AS_ERR_BAR,
	SET_AS_LABEL,
	SET_AS_NONE,
	//-------- CPY 9/7/05 QA70-8075 SET_COL_AS_GROUP_FOR_ANOVA
	SET_AS_GROUP,
	SET_AS_SUBJECT,
	//--------
};
/// end COLUMN_THEME_ACCESS

// AW 11/06/01 PADDING_WAY_FOR_WINDOW
enum
	{
		MFILTER_ZEROPADDINGWINDOW,
		MFILTER_MAPPADDINGWINDOW,
		MFILTER_REPEATEDGEPADDINGWINDOW,   /// AW 01/07/04 QA70-5811 v7.0794 ADD_REPEATEDGE_PADDING
	};
// END PADDING_WAY_FOR_WINDOW

///Kyle 07/08/2010 ORG-388-P1 FreqFilter_IN_matrixbase
typedef enum tagFILTER2DWINDOW
{
	FILTER2D_IDEAL			= 0x0000,
	FILTER2D_GAUSSIAN		= 0x0001,
	FILTER2D_BUTTERWORTH	= 0x0002,
	FILTER2D_BLACKMAN		= 0x0003,
	FILTER2D_WINDOWS		= 0x000F,

	FILTER2D_LOW_PASS		= 0x0000,
	FILTER2D_HIGH_PASS		= 0x0100,
	FILTER2D_BAND_PASS		= 0x0200,
	FILTER2D_BAND_BLOCK		= 0x0300,
	FILTER2D_TYPES			= 0x0F00,

    FILTER2D_ZERO_OUTSIDE_CIRCLE = 0x1000, /// Derek 08/02/2010 ORG-388-P1 ADD_OPTION_FOR_ZERO_CUT_OUTSIDE_CIRCLE

	/// Derek 08/03/2010 ORG-388 SUPPORT_SPECIFYING_CUTOFF_IN_FOURIER_PIXELS 
	FILTER2D_CUTOFF_IN_FRACTION        = 0x0000,
	FILTER2D_CUTOFF_IN_FOURIER_PIXELS  = 0x2000,
	FILTER2D_CUTOFF_FORMS              = 0x6000,
	/// End SUPPORT_SPECIFYING_CUTOFF_IN_FOURIER_PIXELS
	
}FILTER2DWINDOW;

typedef enum tagFILTER2DERROR
{
	FILTER2DERROR_NO_ERROR,
	FILTER2DERROR_INVALID_SIZE			= -100,
	FILTER2DERROR_INVALID_WINDOW_TYPE	= -99,
	FILTER2DERROR_INVALID_FILTER_TYPE	= -98,
	FILTER2DERROR_WRONG_CUTOFF			= -97,		   //
	FILTER2DERROR_WRONG_ORDER			= -96,
	FILTER2DERROR_WRONG_CUTOFF2			= -95,
	FILTER2DERROR_INVALID_CUTOFF_FORM	= -94 /// Derek 08/03/2010 ORG-388 SUPPORT_SPECIFYING_CUTOFF_IN_FOURIER_PIXELS
}FILTER2DERROR;
///End FreqFilter_IN_matrixbase


/**> Internal Origin Objects > Column
*/
enum FSITYPE {
	FSI_DOUBLE = 0,
	FSI_REAL,
	FSI_SHORT,
	FSI_LONG,
	FSI_CHAR,
	FSI_TEXT,
	FSI_MIXED,///CPY v4.09 5/6/96 VAR_SIZE_COL
	FSI_BYTE,
	FSI_USHORT,
	FSI_ULONG,
	FSI_COMPLEX,	// AW 08/09/02 QA70-2400 v7.0365 GET_INTERNALTYPE_OF_VECTORBASE

	//------- CPY 11/21/09 QA81-14693 LT_STRINGARRAY_SPECIAL_TMP_SERIES_CODE_CLEANUP
	// the following bits are related to series name when creating a new temp series
	//
	// it is not clean to pack these bits together with internal type enum, but but we have to do
	// this for backward compatible reason, since User's DLL already use a single
	// DWORD to pack FSI_* with GNTS_NORMAL_NAME bit, which is now rename to FSI_EX_NORMAL_NAME
	FSI_EX_NORMAL_NAME	= 0x10000000L,
	FSI_EX_FUNC_ARG_NAME= 0x08000000L,
	//-------

};		 //datatype for the column class.
//-------- CPY 8/11/01 v6.9069 TEMP_DATASET_USE_NORMAL_NAME
//------- CPY 11/21/09 QA81-14693 LT_STRINGARRAY_SPECIAL_TMP_SERIES
// this is not clean but we have to use this for backward compatible reason
//// const that can be used in combination with the type value above
//	#define GNTS_NORMAL_NAME	0x10000000L
//------- 

//------ CPY 8/11/03 v7.5656 GET_FONT_NAMES_FROM_LABUTIL
// getting system font info	in function
// BOOL  get_system_font_info(int nType, LPLONG lpnFontSize, LPBYTE lpnCharSet, LPSTR lpszFontName, int nNameSize);
// for nType of 
/// TD 09-24-2007 QA80-9824 USE_LABUTIL_CENTRALIZED_INTERFACE_FOR_FONTS
//enum {GSFI_TYPE_DEFAULT, GSFI_TYPE_FIXED_WIDTH, GSFI_TYPE_SCALABLE};
enum
{
	GSFI_SYSTEM_MENU				= -5,
	GSFI_SYSTEM_STATUS				= -4,
	GSFI_SYSTEM_MESSAGE				= -3,
	GSFI_SYSTEM_CAPTION				= -2,
	GSFI_SYSTEM_SMALL_CAPTION		= -1,

	
	GSFI_TYPE_DEFAULT				= 0, 
	GSFI_TYPE_FIXED_WIDTH, 
	GSFI_TYPE_SCALABLE
};
/// end USE_LABUTIL_CENTRALIZED_INTERFACE_FOR_FONTS
//------

/// EJP 02-06-2004 v7.5817 QA70-5894 ALLOW_VIEWING_ALL_IMPORTED_IMAGES
enum {IMGV_FILE, IMGV_DATA};

enum GECEOPTION {
	GECE_REAL, GECE_IMAG, GECE_PHASE, GECE_AMPL, GECE_SIZE
};
/// end ALLOW_VIEWING_ALL_IMPORTED_IMAGES

/// EJP 04-13-2004 v5.7857 QA70-6250 SUPPORT_LARGE_OBJ_IN_CELL
enum {
	COLXML_PICT = 300, // first Childnode is pict 
	COLXML_CONTROL = 310,// push-button etc tree
	COLXML_LAST_ENTRY
};
/// end SUPPORT_LARGE_OBJ_IN_CELL

//---- CPY QA70-7860 10/14/05 LT_VARS_EDIT_UPDATE
// we need to use __ to indicate sys string variables
#define LT_SYS_STR_PREFIX "__"
#define	LTVAR_LASTWKS			LT_SYS_STR_PREFIX "LASTWKS"
#define	LTVAR_LASTMATRIX		LT_SYS_STR_PREFIX "LASTMATRIX"
#define	LTVAR_LAST_HEADER		LT_SYS_STR_PREFIX "Header"		  //---- CPY 1/22/06 QA70-8500 IMPORT_SAVE_HEADER_TO_STR_VARS
#define LTVAR_LAST_SUB_HEADER	LT_SYS_STR_PREFIX "SubHeader"
#define LTVAR_LAST_TEMP_HEADER	LT_SYS_STR_PREFIX "TempHeader"
#define LTVAR_LAST_LT_CMD		LT_SYS_STR_PREFIX "LastLTcmd"	//CPY 4/14/2006 OGS_BASED_BUILT_IN_FUNCTION_TESTING
#define LTVAR_LAST_XF			LT_SYS_STR_PREFIX "XF" //__XF //---- CPY 5/31/2007 LAST_EXEC_XF_FROM_OC_LT
//---- end LT_VARS_EDIT_UPDATE

/// EJP 2009-10-07 QA81-14423 USER_DEFINED_TEXT_TO_TREAT_AS_NUMERIC
#define LTVAR_STR_AS_NUMERIC	LT_SYS_STR_PREFIX "SNUM"
/// end USER_DEFINED_TEXT_TO_TREAT_AS_NUMERIC

#define LTVAR_LAST_REPORT		LT_SYS_STR_PREFIX "Report"	//------ Folger 01/02/08 QA70-10890 SAVING_REPORT_SHEET_NAME_AFTER_FITTING
#define LTTREE_LAST_NL_INPUT	LT_SYS_STR_PREFIX "NLData" //----- CPY 2/6/2008 QA70-11061 FDF_OC_CODE_NEED_ACCESS_TO_INPUT_DATA_INFO

#define LTVAR_PEAK_CHARACTERISTIC_REPORT	LT_SYS_STR_PREFIX "Peak"	//------ Folger 05/21/08 ADD_GLOBAL_STRING_VARIABLE_FOR_PEAK_CHARACTERISTIC_REPORT

//------ Folger 05/22/08 QA80-11574 SUPPORT_GET_ALL_OPERATION_OUTPUT_SHEET_NAME_WITH_GLOBAL_STRING_VARIABLES
#define	LTVAR_FIT_CURVE_SHEET			LT_SYS_STR_PREFIX "FitCurve"
#define LTVAR_FIT_RESIDUAL_SHEET		LT_SYS_STR_PREFIX "Residual"
#define LTVAR_FIT_FIND_INDEP			LT_SYS_STR_PREFIX "FindIndep"
#define LTVAR_FIT_FIND_DEP				LT_SYS_STR_PREFIX "FindDep"
//------

///------ Folger 08/03/09 QA80-13998 PA_LAST_REPORT_LT_STRING_CLEANUP
#define		PA_LT_VAR_PREFIX					"PA"
#define		LTVAR_PA_INTEGRATE_PEAK				LT_SYS_STR_PREFIX PA_LT_VAR_PREFIX "INTEGPEAK"
#define		LTVAR_PA_INTEGRATE_CURVE			LT_SYS_STR_PREFIX PA_LT_VAR_PREFIX "INTEGCURVE"
#define		LTVAR_PA_BASELINE					LT_SYS_STR_PREFIX PA_LT_VAR_PREFIX "BASELINE"
#define		LTVAR_PA_SUBTRACTED_DATA			LT_SYS_STR_PREFIX PA_LT_VAR_PREFIX "SUBTRACTED"
#define		LTVAR_PA_PEAK_CENTER				LT_SYS_STR_PREFIX PA_LT_VAR_PREFIX "PEAKCENTER"
///------ End PA_LAST_REPORT_LT_STRING_CLEANUP

/// JCG 02/13/03 tQA-3073 v7.0513 ADD_BSPLN_OFF_OPTION_FOR_CURVE_DERIVATIVE
/// JJ 01/31/2002 NAG_SPLINE_RUTINE_CLEAN_UP
///	//enum{LET_THE_PROGRAM_CHOOSE = -3, INTERPOLATING_SPLINE, WEIGTHED_LEAST_SQURE_POLYNOMIAL};
///	enum{ BSPLN_AUTO = -3, BSPLN_INTERPOLATE, BSPLN_WEIGTHED_LEAST_SQUARE_POLYNOMIAL };
///	/// end NAG_SPLINE_RUTINE_CLEAN_UP
//
enum{ BSPLN_AUTO = -3, BSPLN_INTERPOLATE, BSPLN_WEIGTHED_LEAST_SQUARE_POLYNOMIAL, BSPLN_OFF };
/// end ADD_BSPLN_OFF_OPTION_FOR_CURVE_DERIVATIVE
							   
/// TD 10-05-01	INTEGRAL_TYPE_IDS_FOR_ALL_TYPES_OF_PAGE_OBJECTS
// The following constants are the return values of the OriginC Function PageBase::GetType()
// Thei constants are in Sync with the return Value of the LabTalk Exist(Window_Name) function
/*
exist(name) Returns a value indicating what the object is:
0 does not exist, 1 dataset, 2 worksheet, 3
graph, 4 variable, 5 matrix, 6 macro, 7 tool, 9
notes window.
*/

//----- CPY 1/4/05 QA70-7226 ADD_PLOT_MULTIPLE_PLOTS_OF_SAME_SERIES
// const for AddPlot dwCntrl bits	
typedef enum {
	GAP_USE_TEMPLATE			= 0x01,
	GAP_NO_SET_X_TICK_TYPE		= 0x02,	// if X column is categorical or date, normally the X axis will be changed to match the data, but this bit can turn that off
	GAP_USE_X_FROM_SY			= 0x04, // this bit is internally always assumed
	GAP_ALLOW_DUPLICATE_COL		= 0x08, // allow the same column to be plotted more then once in the same graph layer
	GAP_GROUP_PLOTS				= 0x10,	// when there are multiple plots added together with a DataRange, to make into a plot group
	GAP_SKIP_EMPTY_PLOT			= 0x20, //CPY 4/7/06 XY_RANGE_ADDING_ERR_WHEN_NOT_NEEDED
	GAP_ALLOW_WEIGHT_AS_ERROR	= 0x40,		/// ML 11/3/2006 OPTIONALLY_ALLOW_WEIGHT_AS_ERROR
	GAP_DO_NOT_MAKE_CATEGORICAL	= 0x80,		/// ML 10/1/2007 QA70-10452 NO_COLUMN_SET_AS_CATEG_OPTIONALLY_OC

	// 0xFFFFF000 are internal, cannot be used
	// in GAP_RESERVED
	GAP_USE_WKS_DESIGNATION		= 0x00000100, /// TD 08-26-2008 QA80-12076 SIMPLE_DATARANGE_DEFINED_USE_PLOT_FROM_WKS
	GAP_FORCE_SET_X_TICK_TYPE	= 0x00000200, //---- CPY 11/07/08 QA70-12549 WRONG_TICK_LABEL_TYPE_SHOULD_BE_FIXED_IN_RECALCULATE
	GAP_ALLOW_NO_X				= 0x00000400,	///------ Folger 03/09/09 QA80-13244 PLOTXY_FAILS_TO_MAKE_BOX_PLOT_WHEN_NO_X_COLUMN
	GAP_XY_POLAR_SWAP			= 0x00100000,	/// ML 11/26/2007 QA70-10624 INTERNALLY_SWAPPED_SERIESPTRS_IN_OBJECTSTRUCT_FOR_POLAR
	//---- CPY 10/09/2009 QA70-14347-P1 EXE_OTP_STILL_LEAD_TO_INC_NOT_RESET
	// conflict with bits in frame.h
	//GAP_FROM_USER_TEMPLATE		= 0x00001000,  //---- CPY 9/21/09 QA70-14347 INC_SAVED_IN_TEMPLATE_SHOULD_BE_KEPT_IF_POSSIBLE
	//GAP_XFBASED_PLOTTING		= 0x00002000,	///------ Folger 09/24/09 QA80-14368 XF_BASED_PLOTTING_FROM_TEMPLATE_LIBRARY_ALWAYS_UPDATE_UNKNOW_KEYWORD_INTO_PLOTTING_MRU
	// those bits are reserved and defined in internal frame.h and oc_const.h must use bits in the range
	//0xffe00000 = ADDPLOT_*
	//0x000FF000 = GAP_* in frame.h
	GAP_XFBASED_PLOTTING		= 0x00000800,// this bit still available, after GAP_ALLOW_NO_X
	GAP_FROM_USER_TEMPLATE		= 0x10000000,//reuse ADDPLOT_* bits for now, we will clean ADDPLOT_* later as it seems only a few cases of overlap DWORD use but mostly sep DWORD
	//---- end EXE_OTP_STILL_LEAD_TO_INC_NOT_RESET
	GAP_UNDO					= 0x20000000,		///------ Folger 11/05/09 OC_ADDPLOT_MAKE_PLOT_SUPPORT_UNDO
} GraphAddPlotCtrls;
//----- end

//#define EXIST_NONE					0 //Invalid Name/Page
//#define EXIST_WKS					2
#define EXIST_GRAPH					3
//#define EXIST_MATRIX				5
//#define EXIST_NOTES					9
/// end	INTEGRAL_TYPE_IDS_FOR_ALL_TYPES_OF_PAGE_OBJECTS

// Origin obj type , return from exist() 
#define EXIST_NONE      0
#define EXIST_DATA      1
#define EXIST_WKS       2
#define EXIST_PLOT      3
#define EXIST_VAR       4
#define EXIST_MATRIX    5
#define EXIST_TOOLBAR   7

/// CPY v3.782 4/13/95, add EXIST_PLOT_3D
//#define EXIST_MACRO     6
#define EXIST_MACRO     8
#define	EXIST_PLOT_3D	6 /// has to keep inside 7 as the wnd_mask
///

/// CPY v3.8 LABTEXT_Notes
#define	EXIST_NOTES		9
///

#define EXIST_ACTIVE    10

///sth v3.85 11/7/95 LAYOUT_PAGE_DETECTION
#define EXIST_LAYOUT	11
///end LAYOUT_PAGE_DETECTION

///--- CPY v4.977 t1953 ADD_EXCEL_EXIST_TYPE
#define	EXIST_EXTERN_WKS	12	/// this must be used as extended exist type related function only
// ------------END  ADD_GET_PAGE_TYPE

#define EXIST_PAGE	13	/// ALL_TYPE_OF_PAGE_DETECTION
/// TD 6-7-05 QA70-7767 NEW_DIALOG_BUILDER_VIEW_IN_ORIGIN
#define EXIST_DLGPAGE		14
#define EXIST_EXTERNAL		EXIST_DLGPAGE
/// end NEW_DIALOG_BUILDER_VIEW_IN_ORIGIN
/// TD 10-3-05 QA70-8146 NAGVIEW_PAGE_IN_ORIGIN
#define EXIST_NAGVIEW		15
/// end NAGVIEW_PAGE_IN_ORIGIN

#define EXIST_STR_VAR		18 //------ CPY 3/25/2008 QA70-11310 EXIST_FUNCTION_SHOULD_CONVERT_STR_VAR

//---- CPY 2/12/04 QA70-5982 v7.5821 CHECK_OC_FROM_LT
#define EXIST_OC_ANY	20
#define EXIST_OC_STR	21
#define EXIST_OC_SCALAR 22
#define EXIST_OC_VECTOR 23
//----

#define EXIST_TREE 24 ///Cheney 7/3/2007 QA70-9971 LT_TREE_ASSIGNMENT

#define EXIST_PE_FOLDER 25 ///---Sim 12-11-2009 QA81-14817 LT_SUPPORT_TEST_EXISTING_FOLDER_IN_PE

/// ML 10/16/2001 t9482 RECORDSET_INTO_WORKSHEET
/// ML 11/6/2003 QA70-5489 OPTIONALLY_SETTING_COLUMN_LABELS_TO_FIELD_NAMES
//// Possible values for the "nOptions" argument of "GetRecordsetData()" 
//enum {
//	LAYWKGETRECORDSET_BY_COLUMN_INDEX = 0,						// beginning with the starting column nColBegin retrieve all fields (will add columns as necessary)
//	LAYWKGETRECORDSET_BY_COLUMN_INDEX_WITH_COLUMN_RENAMING,		// same as LAYWKGETRECORDSET_BY_COLUMN_INDEX, except that it will also rename all columns the field names
//	LAYWKGETRECORDSET_BY_COLUMN_NAME,							// it retrieves only the data from those fields whose names match column names
//	LAYWKGETRECORDSET_BY_COLUMN_LABEL,							// it retrieves only the data from those fields whose names match column labels 
//};

// Possible values for the "nOptions" argument of "GetRecordsetData()" 
enum GRDOPTION {
	LAYWKGETRECORDSET_BY_COLUMN_INDEX = 1,						// beginning with the starting column nColBegin retrieve all fields (will add columns as necessary)
	
	LAYWKGETRECORDSET_BY_COLUMN_NAME = 2,						// it retrieves only the data from those fields whose names match column names
	LAYWKGETRECORDSET_BY_COLUMN_LABEL = 4,							// it retrieves only the data from those fields whose names match column labels 

	LAYWKGETRECORDSET_CLEAR_WKS = 0x08,	// clear worksheet first before PutRecordSet, all extra columns are removed
	LAYWKGETRECORDSET_SET_COLUMN_NAME = 0x00010000,				// used in conjunction with LAYWKGETRECORDSET_BY_COLUMN_INDEX to set column names to field names						
	LAYWKGETRECORDSET_SET_COLUMN_LABEL = 0x00020000,				// used in conjunction with LAYWKGETRECORDSET_BY_COLUMN_INDEX to set column labels to field names						
	LAYWKGETRECORDSET_KEEP_COLUMN_FORMAT	= 0x00040000,			///Sophy 9/26/2010 ORG-1142 ADO_IMPORT_SHOULD_ALLOW_SET_COL_FORMAT_FOR_DATE_FIELD

	LAYWKGETRECORDSET_BY_COLUMN_INDEX_WITH_COLUMN_RENAMING = LAYWKGETRECORDSET_BY_COLUMN_INDEX | LAYWKGETRECORDSET_SET_COLUMN_NAME,		// same as LAYWKGETRECORDSET_BY_COLUMN_INDEX, except that it will also rename all columns to the field names

	/// --- AW 12/10/2008 QA80-12748 ADD_NEW_METHODS_FRO_RECORDSET
	LAYWKSETRECORDSET_APPEND	= 1,								// APPEND_DATA_TO_RECORDSET
	LAYWKSETRECORDSET_REPLACE	= 2,								// REPLACE_DATA_IN_RECORDSET
	/// --- END ADD_NEW_METHODS_FRO_RECORDSET


};
/// end OPTIONALLY_SETTING_COLUMN_LABELS_TO_FIELD_NAMES

/// end RECORDSET_INTO_WORKSHEET

/// ML 10/31/2001 t9481 CREATING_WORKSHEETS_FROM_ORIGINC
// nOption for creating new worksheets (methods "CreateCopy" and "Create" of the "Worksheet" class)
/** >Internal Origin Objects > Page
	Remarks:
		Options for creating new page or layer.
*/
enum CREATEOPTION {
	CREATE_TEMP = 0,		// it will be destroyed when destroying the object (when it exits the scope) and is created invisible
	CREATE_VISIBLE_SAME,	// visibility is that of the source worksheet
	CREATE_VISIBLE,			// create visible
	CREATE_HIDDEN,			// create hidden

	//---------- CPY 3/26/08 QA70-11296 PAGE_CREATE_NACTIVE_FROM_OC
	CREATE_MINIMIZED,
	CREATE_NACTIVE,	   // normal but not active
	CREATE_VISIBILITY_MASK				= 0x0000000F,
	//----------

	CREATE_ENUM_ADD_SEPARATOR			= 0x00000100,	//---- CPY 5/17/07 QA70-9793 ADD_UNDERSCORE_BEFORE_ENUM_IF_END_WITH_NUMBERS
	
	CREATE_ENUM_EXIST_PAGE              = 0x00000200, ///Arvin 06/26/07  QA70-9966 CREATE_ENUM_NAMES_EXCLUDE_DELETED_PAGES
	
	CREATE_NO_ADD_1						= 0x00000400, //---- CPY 3/7/09 QA70-13238 PLOTXY_NEW_GRAPH_NAME_SHOULD_NOT_ADD_1

	CREATE_NO_REMOVE_TEMPLATEPICT		= 0x00010000,	// to prevent removing template picture object on loading
	/// RVD 6/12/2002 QA70-2043 v7.0318 PAGE_NO_WINDOW_BIT
	CREATE_NO_GUI_ACCESS				= 0x00020000,		// to prevent project explorer access, should only be set with CREATE_HIDDEN
	CREATE_EMPTY						= 0x00040000, //CPY 8/3/04 QA70-6727 do not create any child object, for page, do not create 1st layer
	CREATE_NO_DEFAULT_TEMPLATE			= 0x00080000, // when template specified but not found, need to fail creation, if template not specified, need to create without using default template

	CREATE_UNDOABLE						= 0x00100000, /// YuI 09/13/05 QA70-8093 UNDO_CREATE_IMPLEMENTATION
	//----- CPY 11/13/2006 QA70-9123 TEMPLATE_TO_REMEMBER_LAYER_NAMES_WHEN_LOADING
	CREATE_KEEP_LAYER_NAMES				= 0x00200000,
	CREATE_LOAD_1ST_LAYER_ONLY			= 0x00400000,
	//-----
	/// ML 3/2/2007 OPTIONALLY_TRY_USE_TEMPLATE_FROM_PAGE
	CREATE_TEMPLATE_FROM_PAGE			= 0x00800000,		// will try if template not supplied
	/// TD 6-1-07 QA80-9854  SOME_PAGES_TO_BE_EXCLUDED_FROM_MANAGER
	//CREATE_BIT_MASK						= 0x00FF0000,
	CREATE_SET_MISSING_IN_MANAGER		= 0x01000000,
	CREATE_ADD_TO_UNDO_STACK			= 0x02000000,/// TD 1-17-2008 QA80-8916 DROP_SHEET_IN_MDIC_UNDO
	
	//---------- CPY 3/26/08 QA70-11296 PAGE_CREATE_NACTIVE_FROM_OC
	//CREATE_BIT_MASK						= 0x0FFF0000,
	//----------
	/// end SOME_PAGES_TO_BE_EXCLUDED_FROM_MANAGER
	/// end OPTIONALLY_TRY_USE_TEMPLATE_FROM_PAGE
	/// end UNDO_CREATE_IMPLEMENTATION

	/// end PAGE_NO_WINDOW_BIT

	/// Kenny 08/26/2009 QA81-14203 RESET_PAGE_NAME_IF_CREATED_FROM_OC
	CREATE_DEFAULT_OPTIONS				= (CREATE_VISIBLE | CREATE_KEEP_LAYER_NAMES),
	/// End QA81-14203 RESET_PAGE_NAME_IF_CREATED_FROM_OC
};
/// end CREATING_WORKSHEETS_FROM_ORIGINC


//-------- CPY  8-3-04 QA70-6727 WKBOOK_NO_SHEET_SUPPORT 
// general options for object creation and deletion flags
/** > Internal Origin Objects
*/
enum OCDOPTION {
	OCD_PROGRESS =			0x00100000, // invoke internal progress and allow cancel
	OCD_REPAINT  =			0x00200000,	// notify parent to refresh
	OCD_RESTORE =			0x00400000, // try to restore original data after structure changes
	OCD_INITDATA =			0x00800000, // provide system level init to data after allocation
	OCD_UNDO =				0x01000000,
	OCD_ASK =				0x02000000, // in case an object need to ask user first before deletion
	OCD_DEL_LINKED_OBJS =	0x04000000,
	OCD_DEL_PARENT_IF_LAST= 0x08000000,

	/// ML 3/13/2007 QA70-9484 CRASH_75_PROJECT_ON_SAVING
	//OCD_UNDO_DESTROY =		0x10000000, /// SY 2007-03-06 QA70-9263 v8.0550 WORKSHEET_DELETE_UNDO, Per CP's request to use high bit
	OCD_NO_EVENTS		=	0x10000000,
	/// end CRASH_75_PROJECT_ON_SAVING
	/// RVD 4/15/2005 QA70-7597 v8.0223 MARKER_GROBJ
	OCD_STRUCT_MODIFIY  =	0x20000000,	// internal structure is changed ---- CPY 6/17/05 QA70-7769 v8.0253 VERTICAL_GRID_TAB
	OCD_MODIFY			=	0x40000000, // something is modified if set
	OCD_ERROR			=	0x80000000, // error if bit set
	/// end MARKER_GROBJ
	//---- CPY QA70-7860 7/6/05 DEL_S_ALLOW_NOT_DEL_DEPEND_OWNERS
	///Cheney 6/26/2007 QA70-9165 ADD_MORE_VAR_FOR_PAGE	
	//OCD_MODIFY_ADD		=	0x00010000,	  //OCD_MODIFY is on due to some obj added
	//OCD_MODIFY_DEL		=	0x00020000,	  //OCD_MODIFY is on due to some obj deleted
	OCD_MODIFY_ADD		=	0x00001000,	  //OCD_MODIFY is on due to some obj added
	OCD_MODIFY_DEL		=	0x00002000,	  //OCD_MODIFY is on due to some obj deleted
	///end 	  ADD_MORE_VAR_FOR_PAGE
	//---- end

	/// EJP 2005-07-28 v8.0277 QA70-7218 CLEAN_INTERNAL_DATA_TYPE_METHOD
	///Cheney 6/26/2007 QA70-9165 ADD_MORE_VAR_FOR_PAGE	
	//OCD_RESET_VIEW		=	0x00040000, // reset or update the view
	OCD_RESET_VIEW		=	0x00004000, // reset or update the view
	///end 	  ADD_MORE_VAR_FOR_PAGE
	OCD_APPLY_SIBLINGS	=	0x00080000, // apply operation to siblings too
	/// end CLEAN_INTERNAL_DATA_TYPE_METHOD

	/// EJP 2005-04-20 v8.0225 QA70-7634 OC_SETNAME_RENAME_CLEANUP
	///Cheney 6/26/2007 QA70-9165 ADD_MORE_VAR_FOR_PAGE	
	//OCD_UPDATE_PE =			0x00001000, // Update Project Explorer.  Useful only when working with Pages.
	//OCD_ENUM_NEXT =			0x00002000, // If name exist then enumerate.  Do not use with OCD_WARNING
	//OCD_DIFF_NAME =			0x00004000, // consider case to determine difference in names
	OCD_UPDATE_PE =			0x00010000, // Update Project Explorer.  Useful only when working with Pages.
	OCD_ENUM_NEXT =			0x00040000, // If name exist then enumerate.  Do not use with OCD_WARNING
	OCD_DIFF_NAME =			0x00020000, // consider case to determine difference in names
	///end ADD_MORE_VAR_FOR_PAGE
	OCD_LONG_NAME =			0x00008000, // Long Name specified or needs updating.
	OCD_KEEP_SN	  =			0x00000800, // used onl if OCD_LONG_NAME is specified, if not set, short name will be constructed from long name
	/// ML 8/7/2006 INTERMEDIATE_BOOK_BETTER_CREATION
	OCD_RESERVED_1 =		0x00000400,
	OCD_RESERVED_2 =		0x00000200,
	/// end INTERMEDIATE_BOOK_BETTER_CREATION
	/// Hong 03/10/10 QA80-15180 SUPPORT_PAGE_LONGNAME_BE_UNIQUE
	OCD_ENUM_NEXT_KEEP_CONSISTENT	  =	0x00000100, // used onl if OCD_LONG_NAME is specified, when set, long name enumeration will try to keey consistent with its shortname
	/// end SUPPORT_PAGE_LONGNAME_BE_UNIQUE
	/// SY 2007-03-06 QA70-9440 v8.0577 OC_METHOD_REDUCE_SIZE
	///	OCD_WARNING =			0x00000001, // Warning dialog if name is not unique.  Do not use with OCD_ENUM_NEXT.
	OCD_WARNING	=			OCD_ASK,	
	/// end OC_METHOD_REDUCE_SIZE
	/// end OC_SETNAME_RENAME_CLEANUP
};
// reusing bits that are not possible to be mixed up with other useful bits in same context
#define OCD_ABORT_IF_EMPTY		OCD_MODIFY_DEL		//----- CPY 9/26/08 NEW_WKS_FROM_LABVIEW_FOUND_NO_BOOK_NAME_UNLESS_SPECIFIED
#define OCD_ENUM_ADD_SEPARATOR	OCD_APPLY_SIBLINGS //---- CPY 5/17/07 QA70-9793 ADD_UNDERSCORE_BEFORE_ENUM_IF_END_WITH_NUMBERS
#define OCD_LNAME_IF_NOT_GOOD_SNAME	OCD_MODIFY_ADD /// Hong 01/28/10 QA80-14995-P2 FIX_OUTPUT_TO_WKS_FAIL_ALL_PUT_TO_ONE_SHEET_IF_NOT_VALID_SHORT_NAME
//-------- end 8-3-04 QA70-6727

/// YuI 6/04/03 v7.0597 QA70-4593 SMART_DUPLICATE_PAGE
typedef enum tagDUPLICATECNTRL
{
	DCTRL_COPY_DATA						= 0x00000001,
	DCTRL_COPY_IN_OPERATIONS			= 0x00000002,
	DCTRL_COPY_OUT_OPERATIONS			= 0x00000004,
	DCTRL_COPY_LINKED_LAYERS			= 0x00000008, /// TD 7-18-05 COPY_LINKED_LAYERS_FROM_ADDLAYER
	DCTRL_COPY_DEFAULT = DCTRL_COPY_DATA | DCTRL_COPY_OUT_OPERATIONS,
	//----- CPY 5/30/06 QA70-6879 WKS_EXTRACT_REWORK
	DCTRL_COPY_MAKE_ACTIVATE			= 0x00010000, 
	DCTRL_COPY_KEEP_SHEET_NAME			= 0x00020000,
	DCTRL_COPY_USE_EXIST_OKPTR			= 0x00040000, /// TD 12-17-2007 QA80-10805 BUTTON_DROP_DOWN_MENU_LANGUAGE_IMPROPER
	DCTRL_COPY_NO_UPDATE_CELL_LINKS		= 0x00080000, //CPY 7/6/08 QA70-11809 DUP_BOOK_SHOULD_KEEP_LINK_RELATIVE
	DCTRL_ADD_LAYER_UNDOABLE			= 0x10000000, /// SY 2007-03-14 QA70-9465 v8.0583 PAGE_ADD_LAYER_UNDO
	//-----
	DCTRL_COPY_GRID						= 0x20000000, /// RVD 10/16/2008 qa70-12335 v8.0957 FIX_XF_WCOPY_LABELS
	/// Hong 02/16/09 QA80-13108 FIX_WKS_EXTRACTED_FAIL_DO_RECALCULATION
	DCTRL_NOT_COPY_BINARY_STORAGE		= 0x40000000,
/// end FIX_WKS_EXTRACTED_FAIL_DO_RECALCULATION
}	DUPLICATECNTRL;
/// end SMART_DUPLICATE_PAGE

typedef	enum tagCATEGORICALMAPTYPE
{
	CMT_NONE	=	0,
	CMT_NOMINAL,
	CMT_ORDINAL,
}	CATEGORICALMAPTYPE;


/// CPY 12/20/2001 t9578 moved here from frame.h
enum {
	FRAME_COOR_CART=0,	// XY Cartesian coordinate system
	FRAME_COOR_POLAR,
	FRAME_COOR_TERNARY,
	FRAME_COOR_SMITH_CHART,
	/// RVD 4/23/2009 QA70-11650 v8.0878 NEW_SPACE_AXIS_WORK
	FRAME_COOR_MASK			= 0x03,
	FRAME_COOR_3D_GL		= 0x08,		/// Fisher 07/12/10 ORG-465	BASIC_FRMAEWORK_FOR_OPENGL_3D_MODULE
	FRAME_COOR_3D			= 0x10,
	FRAME_COOR_POLAR_RADAR	= 0x20,		// polar frame start from top
	FRAME_COOR_POLAR_FREE	= 0x40,		//polar range does not have to start from zero
	/// end NEW_SPACE_AXIS_WORK
};
///

// We reuse this bit as it only used in ternary frame
#define	FRAME_COOR_CLOCKWISE	FRAME_COOR_POLAR_RADAR	/// Fisher	03/25/10 QA81-13167-P2 TERNARY_COOR_CLCOKWISE

///------------------ YuI 10/30/02 v7.0423 QA70-2130 INTERNAL_DATA_PROTECTION
// moved from okBase.h and renamed
typedef enum tagOBJECTACCESSMASK
{
	OAM_NONE				= 0x00000000,
	/// YuI 01/03/03 QA70-3601 v7.0478 AUTO_RANGE_FOR_DATA_PLOTS
	//	OAM_DATA		= 0x00000001,
	//	OAM_STYLE		= 0x00000002,
	//	OAM_STRUCTURE	= 0x00000004,
	//	OAM_ALL							= 0xFFFFFFFF,
	// be adwised that you may use only low word to ad bits
	// hi word is used with the same bits by bit shifting
	// to indicate that not object itself has this dirtyness but its child
	OAM_GENERIC							= 0x00000001,
	OAM_DATA							= 0x00000002,
	OAM_STYLE							= 0x00000004,
	OAM_RANGE							= 0x00000008,
	OAM_FORMULA							= 0x00000010, //CPY QA70-7476 3/8/05 XF_FUNC_CHANGE_SET_OP_DIRTY
	OAM_PLOTS							= 0x00000020, /// TD 12-14-05 QA70-8061 PROTECTION_SETTINGS_TO_SHOW_GRAPH_HIDE_DATA
	/// YuI 11/02/07 QA70-10603 OPTION_TO_ALLOW_REORDER_OF_OUTPUT_DATA
	OAM_REORDER							= 0x00000040,
	/// end OPTION_TO_ALLOW_REORDER_OF_OUTPUT_DATA

	/// RVD 4/27/2006 v8.0382 HIERARCHY_CHECK_ACCESS
	//OAM_LOCK							= 0x00000040,
	OAM_STRUCTURE						= 0x00000080,	
	/// end HIERARCHY_CHECK_ACCESS

	OAM_RENAME							= 0x00000100,	/// RVD 2/3/2010 qa70-15068 PREVENT_LAYER_RENAME
	
	OAM_DATA_RANGE						= OAM_DATA | OAM_RANGE,
	/// YuI 11/02/07 QA70-10603 OPTION_TO_ALLOW_REORDER_OF_OUTPUT_DATA
	// this has become too generic, I do not want to include Generic
	//	OAM_ALL								= 0x0000FFFF,
	OAM_ALL								= OAM_DATA_RANGE | OAM_STRUCTURE | OAM_STYLE | OAM_FORMULA | OAM_PLOTS,
	/// end OPTION_TO_ALLOW_REORDER_OF_OUTPUT_DATA
	OAM_CHILD_MASK						= 0xFFFF0000,
	/// end AUTO_RANGE_FOR_DATA_PLOTS
}	OBJECTACCESSMASK;
///------------------ end INTERNAL_DATA_PROTECTION

//--------- CPY 6/20/04 Analsysis Operation related for getting vector data copy from Origin workbook
//------ CPY 1/17/2007 XF_AUTO_SEL_1ST_COL_EXPAND_TO_SEL_OTHER_COL
//for DRR_SEL_1ST_COL_IF_NONE, we want to use more lower bits to indicate 2nd col, or 3rd col
#define DRR_SEL_OTHER_COL_IF_NONE_MASK		  0x0000000FUL
// the lower bits seem only used for DRR_COMBINED_MASK and I see no place that this is used together with DRR_SEL_1ST_COL_IF_NONE 
//------ 
enum {
	/// ML 10/14/2004 QA70-7039 COMBINED_MORE_OPTIONS
	DRR_COMBINED_MASK						= 0x00000003UL,		// the two lowest bits. If both are off, then not combined
	DRR_COMBINED_SIMPLE						= 0x00000001UL,
	DRR_COMBINED_AVE_SE						= 0x00000002UL,
	DRR_COMBINED_AVE_SD						= 0x00000003UL,
	DRR_COMBINED							= DRR_COMBINED_MASK,	// we'll get rid of this one eventually
	/// end COMBINED_MORE_OPTIONS
	/// ML 3/12/2009 QA70-13254 TRIMMING_MISSING_FROM_BEGIN_END_MORE_WORK
	// Used to trim missing from beg or end. If either of these two bits is on,
	// DRR_GET_MISSING will be turned on automatically.
	DRR_TRIM_MISSING_FROM_BEG				= 0x00000004UL,
	DRR_TRIM_MISSING_FROM_END				= 0x00000008UL,
	/// end TRIMMING_MISSING_FROM_BEGIN_END_MORE_WORK

	//////NOT for Data Rules, only used for AUTO init input data branch of analysis and statistics tool by high-light columns
	///// Iris 8/29/05 SUPPORT_STATS_INPUT_FORMAT
	DRR_GET_STATS_SA						= 0x00000010UL, //is needed for Survival Analysis, the format of input data is "Time1 Censor1 Time2 Censor2 ...TimeN CensorN"
	
	DRR_GET_STATS_SA_COVAR_LAST_COLS		= 0x00000020UL, //is needed for Survival Analysis, the format of input data is "Time Censor Covariance", 
															//where Covariance maybe have multiple columns from worksheet, so need a matrix to storage it.
															
	DRR_GET_STATS_STATE_LAST_COL			= 0x00000040UL, //is needed for ROC, the input data in worksheet just like "Data1 Data2 ... DataN State", where Data have
															//multiple columns, State need have a column.
	///End SUPPORT_STATS_INPUT_FORMAT

	/// ML 3/12/2009 QA70-13254 TRIMMING_MISSING_FROM_BEGIN_END_MORE_WORK
	///// ML 3/11/2009 QA70-13254_P2 TRIMMING_MISSING_IF_XY_ALL_MISSING 
	////DRR_TRIM_MISSING_FROM_END				= 0x00000080UL,	 /// ML 3/10/2009 QA70-13254 TRIMMING_MISSING_VALUES_FROM_END_WHEN_EXTRACTING
	////														// used to trim missing from end. Makes no sense unless DRR_GET_MISSING is passed as well.
	//DRR_TRIM_MISSING_FROM_END_ALL_XY		= 0x00000080UL,	 // used to trim missing from end when all all X,Y,indeps are missing.
	//														// Makes no sense unless DRR_GET_MISSING is passed as well.
	///// end TRIMMING_MISSING_IF_XY_ALL_MISSING 
	DRR_GET_ALL_XY							= 0x00000080UL,		// used only if at least one of DRR_TRIM_MISSING_FROM_BEG or DRR_TRIM_MISSING_FROM_END
																// is on to specify how to determine whether a row is missing: if on, if all Y,X,allindeps
																// are all missing values, the row will be treated as missing.
																// If off, if at least one of Y,X,allindeps is a missing value, it will be treated as missing. 
	/// end TRIMMING_MISSING_FROM_BEGIN_END_MORE_WORK
	
	/// YuI 09/21/06 WANT_OPTION_TO_RETURN_COLUMN_INDEX
	// this bit dictaes how selection is return - index or name
	DRR_COLUMN_INDEX						= 0x00000100,
	/// end WANT_OPTION_TO_RETURN_COLUMN_INDEX

	/// YuI 12/07/06 NEED_OPTION_TO_RESTRIC_INTERACTIVE_CONTROL_TO_ONE_DATA
	DRR_ONE_DATA							= 0x00000200,
	/// end NEED_OPTION_TO_RESTRIC_INTERACTIVE_CONTROL_TO_ONE_DATA

	/// YuI 1/18/07 QA70-9281 OC_RANGE_BASED_ACCESS_TO_LABEL_AREA
	DRR_SUPPORT_NEGATIVE_ROWS				= 0x00000400,
	/// end OC_RANGE_BASED_ACCESS_TO_LABEL_AREA

	/// YuI 03/05/07 QA70-9420 OPTION_STRING_TO_GET_WHOLE_WKS_STRING
	DRR_SEL_WKS_IF_NONE						= 0x00000800,
	/// end OPTION_STRING_TO_GET_WHOLE_WKS_STRING

	/// ML 9/18/2006 DATARANGE_EXTRACTION_APPARENT_FIT
	DRR_APPARENT							= 0x00001000,
	/// end DATARANGE_EXTRACTION_APPARENT_FIT
	/// ML 8/15/2006 EXTRACTING_DATA_FOR_NLFIT
	DRR_NLFIT								= 0x00002000UL,
	/// end EXTRACTING_DATA_FOR_NLFIT

	DRR_SEL_1ST_COL_IF_NONE					= 0x00004000UL,	//--- CPY 6/17/2006 FORCE_SEL_1ST_COL_WHEN_USER_MAKES_NO_SEL

	DRR_NO_WEIGHTS							= 0x00008000UL,		// CPY 5/15/05 CONSOLIDATE_INIT_INPUT_DATA_RANGE,
	DRR_GET_MISSING							= 0x00010000UL,		// whether to get missing values as well
	DRR_BY_ROWS								= 0x00020000UL,
	DRR_DEPERR_TO_WEIGHT					= 0x00040000UL,		// obtain weight from Y erro bra values, if present
	DRR_BAD_WEIGHT_TREATMENT				= 0x00080000UL,		//We need to treat bad weights if they exist. Refered to the SAS help, there are following 3 cases to treat weights:
					//0   counts the observation in the total number of observations 
					//less than 0     converts the value to zero and counts the observation in the total number of observations 
					//missing         excludes the observation 
	DRR_GET_DEPENDENT						= 0x00100000UL,		// one data is a dependent (like for regressions). If off, then it is for, e.g.
																// desc. stats.
	DRR_ONE_DEP_MULTIINDEP					= 0x00200000UL,		// get all the independents that can be found with one dependent (like for MR)
																// it makes sense only if DRR_GET_DEPENDENT is on as well.
	DRR_NO_FACTORS							= 0x00400000UL,		// to ignore factors in polyrange

	/// AW 01/29/07 QA80-9310 v8.0550b AUTO_RECOGNITION_FOR_INDEX_RAW_DATA_IN_STATS_TOOL
	// ML asked me to remove it as we are going to run out of the bits here
	//DRR_FACTOR_TWO							= 0x00800000UL,		//One more grouping is needed for two way ANOVA. it only make sense only if DRR_GET_DEPENDENT and DRR_ONE_DEP_MULTIINDEP is on as well
	/// END AUTO_RECOGNITION_FOR_INDEX_RAW_DATA_IN_STATS_TOOL
	
	/// YuI 05/04/09 QA70-11982 STATISTICAL_WEIGHT_ERROR_TREATMENT
	DRR_DEPERR_TO_WEIGHT_STATISTICAL		= 0x00800000UL,
	/// end STATISTICAL_WEIGHT_ERROR_TREATMENT

	/// ML 10/14/2004 QA70-7039 COMBINED_MORE_OPTIONS
	///// ML 10/6/2004 QA70-6990 GET_DATA_COMBINED
	//DRR_COMBINED							= 0x01000000UL,	// combines all the data into one
	///// end GET_DATA_COMBINED
	/// end COMBINED_MORE_OPTIONS
	/// ML 12/3/2004 QA70-6904 WEIGHTS_RULES_MORE_OPTIONS
	DRR_BAD_WEGHT_EXCLUDE					= 0x01000000UL, 
	/// end WEIGHTS_RULES_MORE_OPTIONS
	/// ML 2/28/2005 QA70-7450 MATRICES_IN_DATARANGE
	DRR_MATRIX_DATA							= 0x02000000UL,
	/// end MATRICES_IN_DATARANGE
	/// ML 3/8/2005 DATARANGE_Z
	DRR_GET_Z_DEPENDENT						= 0x04000000UL,			// used only to indicate XYZ
	/// end DATARANGE_Z
	/// ML 3/23/2005 WHOLE_COLUMN_OPTIONALLY_IGNORE_I1
	DRR_FILL_MISSING_BEFORE_BEGIN			= 0x08000000UL,
	/// end WHOLE_COLUMN_OPTIONALLY_IGNORE_I1
	/// ML 6/1/2005 GETTING_RAW_ERROR_OR_WEIGHT
	DRR_RAW_ERR_WEIGHT						= 0x10000000UL,
	/// end GETTING_RAW_ERROR_OR_WEIGHT

	/// ML 9/8/2005 QA70-8077 REPEATED_MEASUREMENTS_ANOVA_DATA_EXTRACTION
	DRR_RM_ANOVA							= 0x20000000UL,
	/// end REPEATED_MEASUREMENTS_ANOVA_DATA_EXTRACTION
	/// ML 3/14/2006 POLYRANGE_COMPLEX_DATA_RETRIEVAL
 	DRR_COMPLEX								= 0x40000000,
	/// end POLYRANGE_COMPLEX_DATA_RETRIEVAL

	//////////////////
	DRR_LAST_ENTRY
};
//---------



/// ML 3/13/2006 SETTING_DESIGS_ON_SET_DATA
enum {
	DRS_SET_COL_DESIGNATIONS				= 0x00010000,
	DRS_COMPLEX								= 0x00020000,
	DRS_FORCE_SOURCE_TYPE_INTO_DEST_TYPE	= 0x00040000,
	/// ML 2/8/2007 QA70-9350 RANGE_SETCOLUMNDATA_MUST_SET_DESTINATION_SIZE
	//DRS_FORCE_SOURCE_SIZE_TO_DEST			= 0x00080000,
	DRS_KEEP_LARGER_DEST_SIZE				= 0x00080000, //---- CPY 7/17/07 QA70-10068 XY_SET_DATA_DEFAULT_SHOULD_UPDATE_SIZE
	/// end RANGE_SETCOLUMNDATA_MUST_SET_DESTINATION_SIZE
	/// ML 8/28/2007 QA70-10261 CURVE_TO_XYRANGE_OUTPUT_MUST_MATCH_ROWS_IN_DEST
	DRS_MATCH_DEST_ROWS_TO_SOURCE_ROWS		= 0x00100000,
	/// end CURVE_TO_XYRANGE_OUTPUT_MUST_MATCH_ROWS_IN_DEST
	/// TD 09-17-2008 QA80-12206 SIMPLE_MATH_TOOL_MESSUP_INPUT_DATA
	DRS_NO_REMOVE_DATA_OUTSIDE_RANGE		= 0x00200000,
	/// end SIMPLE_MATH_TOOL_MESSUP_INPUT_DATA

	DRS_FORCE_UNDO				= OCD_UNDO, //0x01000000  CPY 7/12/2007 XY_SET_DATA_UNDO_FROM_OC_CODE
};
/// end SETTING_DESIGS_ON_SET_DATA


#define	CMT_RESET_COLUMN_TYPE_ON_DESTRUCTION  0x10000


/// ML 12/21/2001 tQA70-105 TYPE_WKS_FROM_ORIGINC
// Possible targets for various "type" functions (the bits can be combined)
enum TYPETARGET {
	TYPETARGET_SCRIPT_WINDOW		= 0x00000001UL,		// to the Script window
	TYPETARGET_NAMED_WINDOW			= 0x00000002UL,		// to the particular Notes window
	TYPETARGET_OUTPUTLOG			= 0x00000004UL,		// to output log
	TYPETARGET_SHOW_ERROR			= 0x00000008UL,		// show errors
	/// ML 6/10/2003 OUTPUTLOG_ANALYSIS_HEADER
	TYPETARGET_OUTPUTLOG_HEADER		= 0x00010000UL,		// to dump the output log analysis header
	TYPETARGET_NO_COLUMN_HEADERS	= 0x00020000UL,		// not to dump column headers
	/// end OUTPUTLOG_ANALYSIS_HEADER
};
/// end TYPE_WKS_FROM_ORIGINC

/// Redraw modes for Dataset Append	BEGIN
enum {
	REDRAW_NONE, 
	REDRAW_REALTIME, 
	REDRAW_REALTIME_WKS, 
	REDRAW_REFRESH, 
	REDRAW_REALTIME_SCOPE,
	REDRAW_MODE_INVALID 
};

enum {REALTIME_ON_IDLE=0x1000}; 

/// Redraw modes for Dataset Append	END

// AW 04/26/02 v7.0292 QA70-1610 MORE_WORK_ON_IS_PAGE_IN_FOLDER
// move from tooltree.h
#define N_PE_ILLEGAL			-1
#define N_PE_SHOW_NONE			0
#define N_PE_SHOW_ONLY_SEL		1
#define N_PE_SHOW_SEL_RECURSIVE 2
//now to be removed
#define N_PE_SHOW_REGARDLESS	3

enum ViewModePE
{
	VIEW_PE_ILLEGAL = N_PE_ILLEGAL,
	VIEW_PE_SHOW_NONE = N_PE_SHOW_NONE,
	VIEW_PE_SHOW_ONLY_SEL = N_PE_SHOW_ONLY_SEL,
	VIEW_PE_SHOW_SEL_RECURSIVE = N_PE_SHOW_SEL_RECURSIVE,
	//// Nothing after this line
	VIEW_PE_SHOW_REGARDLESS = N_PE_SHOW_REGARDLESS
};
// END MORE_WORK_ON_IS_PAGE_IN_FOLDER

enum tagSetOPtion
{
	MATREPL_TEST_LESSTHAN	= 1,
	MATREPL_TEST_EQUAL		= 2,
	MATREPL_TEST_GREATER	= 4,
	MATREPL_USE_ABSOLUTE_VALUE_IN_TEST	= 8,
	MATREPL_KEEP_ORIGINAL_SIGN_WHEN_TEST_RESULT_IS_TRUE		= 16,
	MATREPL_SET_TO_MISSING_VALUE_WHEN_TEST_RESULT_IS_FALSE	= 32
};

/// Arvin 03/12/07 QA70-6368 FIND_AND_REPLACE_OLD_VALUE_BY_NEW_VALUE
enum wksReplaceOption
{
	WKSREPL_TEST_LESSTHAN	= 1,
	WKSREPL_TEST_EQUAL		= 2,
	WKSREPL_TEST_GREATER	= 4,
	WKSREPL_USE_ABSOLUTE_VALUE_IN_TEST	= 8,
	WKSREPL_KEEP_ORIGINAL_SIGN_WHEN_TEST_RESULT_IS_TRUE		= 16,
	WKSREPL_SET_TO_MISSING_VALUE_WHEN_TEST_RESULT_IS_FALSE	= 32,
	WKSREPL_TEST_STR_MATCH_WHOLE_WORD						= 64,
	WKSREPL_TEST_STR_WILDCARD_MATCHING						= 128,
	WKSREPL_TEST_STR_CASE_SENSITIVE							= 256,
	///------ Folger 07/03/09 QA80-13876 FIND_AND_REPLACE_IMPROVEMENT_IN_DATARANGE
	WKSREPL_REPLACE_MATCHING_PART_ONLY						= 0x00000200,
	WKSREPL_FIND_NEXT_SEARCH_UPWARD							= 0x00000400,
	WKSREPL_SKIP_LINKED_CELL								= 0x00000800,
	///------ End FIND_AND_REPLACE_IMPROVEMENT_IN_DATARANGE
	//----- CPY 10/6/09 QA70-14418 REPLACE_MISSING_WITH_VAL_NEED_OPTION_TO_REPLACE_BLANK_AND_TEXT_AS_WELL
	// by default, NANUM test should no care if text/blank, so this bit allows that
	WKSREPL_NUMERIC_NANUM_SKIP_BLANK_TEXT					= 0x08000000, 
	//-----
	/// Kenny 09/22/2009 QA81-13631-P1 FIND_REPLACE_SHOULD_SUPPORT_FIND_BLANK_CELLS
	WKSREPL_NUMERIC_FIND_BLANK								= 0x10000000,
	WKSREPL_NUMERIC_REPL_BLANK								= 0x20000000,
	/// End QA81-13631-P1 FIND_REPLACE_SHOULD_SUPPORT_FIND_BLANK_CELLS
	///------ Folger 11/02/09 QA81-14522 SUPPORT_FIND_REPLACE_STR_IN_LABEL_ROWS
	WKSREPL_CHECK_FIND_LABEL_ROWS							= 0x40000000,
	///------ End SUPPORT_FIND_REPLACE_STR_IN_LABEL_ROWS
};
/// end FIND_AND_REPLACE_OLD_VALUE_BY_NEW_VALUE

///------ Folger 11/02/09 QA81-14522 SUPPORT_FIND_REPLACE_STR_IN_LABEL_ROWS
#define		DATARANGE_FIND_REPLACE_INVALID_ROW_INDEX		-10000
///------ End SUPPORT_FIND_REPLACE_STR_IN_LABEL_ROWS

/// ML 5/20/2002 QA70-1847 GETTING_WORKSHEET_SELECTION_ORIGIN_C
#define	WKS_SEL_NONE  			0x0000				// no selection
#define	WKS_SEL_EDIT			0x0001				// one cell being edited
#define	WKS_SEL_COLUMN			0x0002				// one or more entire columns selected
#define	WKS_SEL_ROW				0x0004				// one or more entire rows selected
#define	WKS_SEL_RANGE			0x0008				// more than one cell selected
#define	WKS_SEL_ONE_COL			0x0010				// exactly one column selected
/// ML 5/23/2002 QA70-1847 DISCONTIGUOUS_BIT
#define	WKS_SEL_DISCONTIGUOUS	0x0020				// discontiguous columns selected
/// end DISCONTIGUOUS_BIT
/// ML 12/29/2006 GETTING_SELCTION_PROPERLY_ROW_COL_LABELS_FOR_LINK_TO_LABELS_DISPLAY
///// TD 5-24-04 QA70-6400 SUUPPORT_LABELS_FROM_GET_SELECTION
//#define	WKS_SEL_LABEL		    0x0040
///// end SUUPPORT_LABELS_FROM_GET_SELECTION
#define	WKS_SEL_ROW_LABEL		0x0040
#define	WKS_SEL_COL_LABEL		0x0080
#define WKS_SEL_LABEL_EDIT		0x0100 //---- CPY 1/21/2007 QA9281 SHOULD_ALLOW_PASTE_PICTURE_TO_LABEL_CELLS
#define WKS_SEL_UNKNOWN			0x1000 //for matrix and for new book (grid) case where we need to improve later, this is a temp solution //----- CPY 5/29/09 QA70-13688 EXCEL_SEL_COL_PLOTTING_LOST_WHOLE_COL_SEL_INFO_TO_MAKE_AUTO_RANGE_PLOT
#define	WKS_SEL_LABEL		    (WKS_SEL_ROW_LABEL|WKS_SEL_COL_LABEL)
/// end GETTING_SELCTION_PROPERLY_ROW_COL_LABELS_FOR_LINK_TO_LABELS_DISPLAY
#define	WKS_SEL_ALL		(WKS_SEL_RANGE | WKS_SEL_COLUMN | WKS_SEL_ROW )	// entire worksheet
/// end GETTING_WORKSHEET_SELECTION_ORIGIN_C


/// RVD 6/26/2009 QA70-11650 NEW_SCALE_AXIS_WORK
/*
/// ML 7/11/2002 QA70-1939 AXIS_SCALE_TYPE
#define LINEAR_SPACE            0
#define LOG10_SPACE             1
#define PROB_SPACE              2
#define PROBIT_SPACE            3
#define RECIPROCAL_SPACE        4
#define OFFSET_RECIP_SPACE      5
#define LOGIT_SPACE             6
#define LOGE_SPACE              7
#define LOG2_SPACE              8
/// ML 5/11/2009 QA70-13526 DATASET_BASED_SCALE_FOR_TIMESERIES
#define DATASET_SPACE			9
#define WEIBULL_SPACE			10	//----- CPY 6/13/09 QA70-8440 NEW_AXIS_SCALE_TYPE_WEIBULL, also remove  #ifdef NEW_SCALE_TYPES_DATASET_WEIBULL_ETC, since OC cannot have such #ifdef
/// end DATASET_BASED_SCALE_FOR_TIMESERIES
/// end AXIS_SCALE_TYPE
*/
enum	SPACEID
{
	LINEAR_SPACE			= 0,
	LOG10_SPACE,			// 1
	PROB_SPACE,				// 2
	PROBIT_SPACE,			// 3
	RECIPROCAL_SPACE,		// 4
	OFFSET_RECIP_SPACE,		// 5
	LOGIT_SPACE,			// 6
	LOGE_SPACE,				// 7
	LOG2_SPACE,				// 8
	//------ CPY 7/17/09 QA70-13967-P2 HIDE_DATASET_SPACE_UNTIL_LATER
	//DATASET_SPACE,			// 9
	//WEIBULL_SPACE,			// 10
	DBL_LOG_SPACE,			// 9
#ifdef STOCK_CHARTS
	DATASET_SPACE,			//10
#endif
	//------ end HIDE_DATASET_SPACE_UNTIL_LATER 
	COUNT_SPACE,			// last entry, do not insert below it
};
/// end NEW_SCALE_AXIS_WORK

///-------AW 07/31/02 v7.0357	QA70-2540 SUPPORT_SHOW_HIDE_PE_WINDOW_IN_ORIGINC
enum  ControlWinType
{
	CWT_PROJECT_EXPLORER, 
	CWT_SCRIPT_WINDOW, 
	CWT_CODE_BUILDER,
	CWT_RESULTS_LOG,
};
/// ------ END SUPPORT_SHOW_HIDE_PE_WINDOW_IN_ORIGINC

/// YuI 8/26/02 v7.0385 QA70-2683 FREQUENCY_COUNT_FOR_CATEGORICAL_DATA
//	/// TCZ 08/3/02 QA70-2390	v7.0361 HISTOGRAM_FUNCTION_IN_ORIGIN_C
//	enum FrequncyAccounOutBin
//	{
//		FAB_NOT_INCLUDE_OUTLIERS = 0,
//		FAB_INCLUDE_LESS_DMIN_BIN,
//		FAB_INCLUDE_MORE_DMAX_BIN,
//		FAB_INCLUDE_BOTH_OUTLIER_BIN ,
//	};
//	/// end HISTOGRAM_FUNCTION_IN_ORIGIN_C

// frequency count conrl should be bit based, not just enumeration of possible combinations
typedef enum tagFREQUENCYCOUNTCTRL
{
	FC_INCLUDE_LEFT				= 0x00000001,
	FC_INCLUDE_RIGHT			= 0x00000002,
	FC_INCLUDE_BOTH				= FC_INCLUDE_LEFT | FC_INCLUDE_RIGHT,
}	FREQUENCYCOUNTCTRL;

enum FrequncyAccounOutBin
{
	FAB_NOT_INCLUDE_OUTLIERS = 0,
	FAB_INCLUDE_LESS_DMIN_BIN = FC_INCLUDE_LEFT,
	FAB_INCLUDE_MORE_DMAX_BIN = FC_INCLUDE_RIGHT,
	FAB_INCLUDE_BOTH_OUTLIER_BIN = FC_INCLUDE_BOTH,
};
/// end FREQUENCY_COUNT_FOR_CATEGORICAL_DATA

/// TCZ 08/08/02 QA70-2624 v7.0363  GET_INTERPOLATED_VALUE_AT_X_Y
enum MatrixInterpolateMethod
{
	  INTERPOLATE_NEAREST = 0, 
	  INTERPOLATE_BILINEAR, 
	  INTERPOLATE_BICUBIC, 
	  INTERPOLATE_2DSPLINE, 
	  INTERPOLATE_VERTICINTERPOL,
};
/// end GET_INTERPOLATED_VALUE_AT_X_Y

// GJL 08/23/02 DEFINE_DEFAULT_TOLERANCES
#define DEFAULT_TOLERANCE					1E-14
#define DOUBLE_COMPARE_DEFAULT_RESOLUTION	1E-14
// End GJL 08/23/02 DEFINE_DEFAULT_TOLERANCES

//--------- CPY 9/24/02 v7.0404 QA70-2658 ASCII_IMPORT_FROM_OC
// the following error codes are related to ASCII file import
#define ERR_FILE_NOT_FOUND	3000
#define ERR_FILE_EMPTY		3001
#define ERR_FILE_NOT_TABLE	3002 // no column can be found
#define ERR_STRUCT_INPUT	3003
#define ERR_IMPORT_INTERNAL	3006
#define ERR_FILE_READ_DATA	3009
#define ERR_FILE_TOO_BIG	3012
//--------- end CPY 9/24/02 v7.0404 QA70-2658 ASCII_IMPORT_FROM_OC
/// EJP 2008-02-21 v8.0810 QA80-4808 STOP_IMPORT_IF_ANY_COLS_ARE_LOCKED
#define ERR_WKS_COL_LOCKED	3013
#define ERR_GET_FIRST_COL	3014
#define IS_ASCII_FILE_IMPORT_ERROR(_err) (3000<=(_err)&&(_err)<=3299) // reserve 300 error codes
/// end STOP_IMPORT_IF_ANY_COLS_ARE_LOCKED

//LY	11/4/02 QA70-3256 v7.0428 BINARY_IMPORT
#define BIP_FLAG_REAL		0x0001
#define BIP_FLAG_SIGNED		0x0002
#define BIP_FLAG_STRING		0x0004

#define BIP_TYPE_REAL		(BIP_FLAG_REAL | BIP_FLAG_SIGNED)
#define BIP_TYPE_STRING		(BIP_FLAG_STRING)
#define BIP_TYPE_INT		(BIP_FLAG_SIGNED)
#define BIP_TYPE_UINT		(0)
//end BINARY_IMPORT

//LY 11/13/02 QA70-2135 v7.0434 RETRIEVE_PAGE_WINDOW_STATUS
enum PageShowState
{
	PAGE_NORMAL = 0,
	PAGE_MINIMIZED,
	PAGE_MAXIMIZED,
	PAGE_HIDDEN,
	PAGE_ACTIVATE,
};
//end RETRIEVE_PAGE_WINDOW_STATUS

//---- CPY 11/19/02, temp const for tree editor
#define TN_CHECKBOX		10
#define TN_EDITBOX		11
#define TN_DROPLIST		13
#define TN_DROPFLOAT	14
//----


/// AW 03/28/06 QA80-8592 SUPPORT_LONGNAME_IN_WORKSHEETCTRL
enum {
	WDC_HEADING_SN_COL_TYPE = 0x01,		//what is shows now
	WDC_HEADING_LN = 0x02,				//long name only 
	WDC_LN_OR_SN_ONLY = 0x04,	//display long name, if long name is empty, display short name, without "Col(" and ")" that around the LN or SN as the two value above this.	///Sophy 11/1/2010 ORG-1179 SUPPORT_DISPLAY_COLUMN_LONGNAME_OR_SHORT_NAME_ONLY_AS_COL_HEADING
};
/// END SUPPORT_LONGNAME_IN_WORKSHEETCTRL

/// ML 11/20/2002 VIEW_MODES
enum {
	// Branch stuff:
	VIEWFLT_BRANCH_EMPTY				= 0x00020000,
	VIEWFLT_BRANCH_NON_COLLECTION		= 0x00040000,
	VIEWFLT_BRANCH_COLLECTION			= 0x00080000,

	VIEWFLT_BRANCH_ALL					= VIEWFLT_BRANCH_EMPTY | VIEWFLT_BRANCH_COLLECTION | VIEWFLT_BRANCH_NON_COLLECTION,
	

	// Property stuff:
	VIEWFLT_PROP_COLOR					= 0x00100000,
	VIEWFLT_PROP_FONT					= 0x00200000,
	VIEWFLT_PROP_OTHER					= 0x00400000,	// whatever is not special already

	VIEWFLT_PROPERTY_ALL				= VIEWFLT_PROP_COLOR | VIEWFLT_PROP_FONT | VIEWFLT_PROP_OTHER,	// all properties (not branches)

	VIEWFLT_FULL_PATHS_IN_LABELS		= 0x01000000,

	
	// Everything:
	VIEWFLT_EVERYTHING					= 0xFFFFFFFF
};
/// end VIEW_MODES


//---- CPY 1/3/03 QA70-3609 v7.0479 TWO_GRAPHS_SAMPLE_SHOW_PROBLEMS
// page disable mouse clicking
enum
{
	NOCLICK_AXES		= 0x0001,
	NOCLICK_DATA_PLOT	= 0x0002,
	NOCLICK_LABEL		= 0x0004,
	NOCLICK_BUTTONS		= 0x0008, // buttons include all UIM objects and any other graphic objects that will execute LabTalk upon mouse up
	NOCLICK_LAYER		= 0x0010, // the layer frame for moving or resizing of layer
	NOCLICK_TICKLABEL	= 0x0020,
	NOCLICK_LAYERICON	= 0x0040,
	NOCLICK_WINDOW		= 0x0080,
	NOCLICK_KEEP		= 0x0100,	/// RVD 9/15/2003 QA70-5179 v7.0695 NOCLICK_KEEP_SELECTION
	NOCLICK_ZOOMPAN		= 0x0200,	/// RVD 8/5/2010 ORG-172-s1 DISABLE_ZOOMPAN_GRAPH_PREVIEW

	NOCLICK_USE_DEFAULT = 0x1000, // follow system settings
};
//---- end 	1/3/03 QA70-3609

///Jasmine 08/13/2010 ORG-172-S2 CENTRALIZE_NOCLICK_BIT_FOR_PREVIEW_IN_OC_TOOL
#define OC_TOOL_NOCLICK    				NOCLICK_DATA_PLOT | NOCLICK_TICKLABEL | NOCLICK_LAYER | NOCLICK_LAYERICON
#define OC_PREVIEW_NOCLICK				OC_TOOL_NOCLICK | NOCLICK_AXES
#define OC_PREVIEW_NOCLICK_NOZOOMPAN	OC_PREVIEW_NOCLICK | NOCLICK_ZOOMPAN
///End CENTRALIZE_NOCLICK_BIT_FOR_PREVIEW_IN_OC_TOOL

/// RVD 1/22/2003 QA70-3748 v7.0493 IMPLEMENT_FORMAT_FILTER
typedef enum
{
	FPB_DIMENSION				= 0x00000080,	// dimension bit
	FPB_STYLE					= 0x0FFFFF40,	// style bits
	FPB_STYLE_SYMBOL_MASK		= 0x00000F40,	// symbol mask bits
	FPB_STYLE_SYMBOL_TYPE		= 0x00000040,	// symbol type bit
	FPB_STYLE_SYMBOL_SHAPE		= 0x00000100,	// symbol shape bit
	FPB_STYLE_SYMBOL_INTERIOR	= 0x00000200,	// symbol interior bit
	FPB_STYLE_SYMBOL_CHARACTER	= 0x00000400,	// symbol character bit
	FPB_STYLE_SYMBOL_USER		= 0x00000800,	// symbol user bit
	FPB_STYLE_LIST_MASK			= 0x0001F000,	// list mask bits
	FPB_STYLE_SHAPE_LIST		= 0x00001000,	// shape list bit
	FPB_STYLE_LINE_LIST			= 0x00002000,	// line list bit
	FPB_STYLE_FILL_LIST			= 0x00004000,	// fill list bit
	FPB_STYLE_INTERIOR_LIST		= 0x00008000,	// interior list bit
	FPB_STYLE_COLOR_MASK		= 0x000F0000,	// color mask bits
	FPB_STYLE_COLOR_LIST		= 0x00010000,	// color list bit
	FPB_STYLE_COLOR				= 0x00020000,	// color bit
	FPB_STYLE_FONT				= 0x00F00000,	// font bits
	FPB_STYLE_BORDER			= 0x01000000,	// border bit
	FPB_STYLE_LINE				= 0x02000000,	// line bit
	FPB_STYLE_FILL				= 0x04000000,	// fill bit
	FPB_STYLE_SIZE				= 0x08000000,	// size bit
	FPB_TEXT					= 0x10000000,	// text bit
	FPB_SHOW					= 0x20000000,	// show bit
	FPB_SCALE					= 0x40000000,	// scale bit
	FPB_OTHER					= 0x80000000,	// other
	FPB_NONE					= 0x00000000,	// none
	/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
	//FPB_RESERVED				= 0x0000003F,	// reserved bits
	//FPB_ALL						= 0xFFFFFFFF,	// all bits
	FPB_TRANSLATE				= 0x00000010,	// translate links
	FPB_DATA					= 0x00000020,	// data bit
	FPB_RESERVED				= 0x0000000F,	// reserved bits
	FPB_ALL						= 0xFFFFFFDF,	// all bits but data
	/// end XFUNCTION_ANCHORS
}	FILTERPROPERTYBITS;


/// ML 8/13/2004 QA70-6774 SEARCH_FILTER_PROPERTY_OBJECT_BITS_FURTHER_WORK
typedef enum {
	FPBEX_SHORT_NAME			= 0x00010000,
	FPBEX_LONG_NAME				= 0x00020000,
	FPBEX_COMMENT				= 0x00040000,
	FPBEX_UNITS					= 0x00080000,
	/// RVD 4/4/2007 QA70-9574 GRID_PRINT_SETTINGS
	FPBEX_PRINT_CNTRL			= 0x00100000,
	/// end GRID_PRINT_SETTINGS

	FPBEX_ALL					= 0xFFFFFFFF,
} FILTERPROPERTYBITSEX ;



typedef enum {
	FEB_PAGE_WKS					= 0x00000001,
	FEB_PAGE_MATRIX					= 0x00000002,
	FEB_PAGE_GRAPH					= 0x00000004,
	FEB_PAGE_LAYOUT					= 0x00000008,
	FEB_PAGE						= 0x0000000F,

	// Various text labels:
	FEB_TEXTOBJ_LAYER_TITLE			= 0x00000010,		// layer title text object ("_TITLE")
	FEB_TEXTOBJ_LEGEND				= 0x00000020,		// legend text object ("LEGEND")
	FEB_TEXTOBJ_AXIS_TITLES			= 0x00000040,		// axis title text objects ("XB", "XT", "YL", etc.)
	FEB_TEXTOBJ_OTHER				= 0x00000080,		// all the text objects not coevered above
	FEB_TEXTOBJ						= 0x000000F0,		// ORing of all FEB_TEXTOBJ_*
	
	FEB_LAYER_WKS					= 0x00000100,
	FEB_LAYER_GRAPH					= 0x00000200,
	FEB_LAYER						= FEB_LAYER_WKS | FEB_LAYER_GRAPH,

	FEB_OBJECT_LINE					= 0x00000400,
	FEB_OBJECT_SHAPE				= 0x00000800,
	FEB_OBJECT_IMAGE				= 0x00001000,
	FEB_OBJECT_GROUP				= 0x00002000,

	FEB_AXIS_X						= 0x00004000,
	FEB_AXIS_Y						= 0x00008000,
	FEB_AXIS_Z						= 0x00010000,

	FEB_AXISOBJ_TICK				= 0x00020000,
	FEB_AXISOBJ_LABEL				= 0x00040000,
	FEB_AXISOBJ_GRID				= 0x00080000,
	FEB_AXISOBJ_BREAK				= 0x00100000,

	FEB_PLOT_CURVE					= 0x00200000,
	FEB_PLOT_PIE					= 0x00400000,
	FEB_PLOT_LABEL					= 0x00800000,
	FEB_PLOT_COLUMN					= 0x01000000,
	FEB_PLOT_SURFACE				= 0x02000000,
	FEB_PLOT_GROUP					= 0x04000000,
	FEB_PLOT_CONTOUR				= 0x08000000,
	FEB_PLOT_IMAGE					= 0x10000000,
	
	FEB_COLUMN						= 0x20000000,

	/// RVD 1/19/2005 QA70-7289 v8.0185 WKS_THEME_SUPPORT
	FEB_TABLE						= 0x40000000,
	/// end WKS_THEME_SUPPORT

	/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
	FEB_ANCHOR						= 0x80000000,
	/// end XFUNCTION_ANCHORS


	FEB_ALL							= 0xFFFFFFFF,
} FILTERELEMENTBITS;

/// end SEARCH_FILTER_PROPERTY_OBJECT_BITS_FURTHER_WORK

/// RVD 2/24/2006 v8.0369 QA70-7754 ANNOTATIONS
typedef enum
{
	FEB2_NONE						= 0x00000000,
	FEB2_ANNOTATION					= 0x00000001,
	FEB2_ANNOTATION_LABEL			= 0x00000002,
	FEB2_ANNOTATION_TETHER			= 0x00000004,
	/// SY 2006-10-19 QA70-9062 v8.0498 NEW_SCALER_GROBJ
	FEB2_SCALER						= 0x00000008,
	FEB2_SCALER_AXIS				= 0x00000010,
	/// end NEW_SCALER_GROBJ
	FEB2_SCALER_AXIS_TITLE			= 0x00000020,	/// RVD 10/30/2006 QA70-9062 v8.0498 NEW_SCALER_GROBJ_THEME
	FEB2_SPECIALPOINT				= 0x00000040,	/// RVD 11/1/2006 QA70-9092 v8.0504 SPECIAL_POINT_THEME
	FEB2_DATAPOINTPLOTELEMENT		= 0x00000080,	/// YuI 06/12/09 QA70-13595 SUPPORT_FOR_DATA_PLOT_ELEMENTS_ACCESS
	FEB2_FACE						= 0x00000100,	/// RVD 07/16/2010 ORG-398-P1 PROPER_THEME_ACCESS_TO_XYY_3D_BAR_FACES
	FEB2_PROJECTION					= 0x00000200,	/// Kenny 08/19/2010 ORG-396-P1 THEME_ACCESS_FOR_3D_SCATTER_PROJECTIONS
	FEB2_OBJECT_OLECONTAINER		= 0x00000400,	/// ML 8/26/2010 ORG-112-P1 MORE_OLECONTAINER_OBJECT_THEME_WORK
	FEB2_ALL						= 0xFFFFFFFF,
} FILTERELEMENTBITS2;
/// end ANNOTATIONS



typedef enum
{
	/// RVD 9/15/2003 QA70-5179 v7.0695 THEME_SPECIAL_CONTEXT_MENU
	//FOB_RESERVED				= 0x01FFE000,	// reserved bits
	//FOB_AXIS					= 0x0000000F,	// axis mask
	//FOB_AXIS_TICKS				= 0x00000001,	// axis ticks
	//FOB_AXIS_GRIDS				= 0x00000002,	// axis grids
	//FOB_AXIS_LABELS				= 0x00000004,	// axis labels
	/// RVD 1/19/2005 QA70-7289 v8.0185 WKS_THEME_SUPPORT
	//FOB_RESERVED				= 0x01F08000,	// reserved bits
	FOB_VECTOR					= 0x00008000,	// table vector bit
	FOB_RANGE_STYLE				= 0x00100000,	// range style bit
	FOB_LINK_STYLE				= 0x00200000,	// link style bit
	FOB_NAME_STYLE				= 0x00400000,	// name style bit
	FOB_WKS_COLUMN				= 0x00800000,	// wks column bit
	FOB_TABLE					= 0x01000000,	// table bit
	FOB_WKS_MASK				= 0x01F08000,	// wks mask
	/// end WKS_THEME_SUPPORT
	FOB_SPECIAL					= 0x0000000F,	// special bits
	FOB_AXIS					= 0x000F0000,	// axis mask
	FOB_AXIS_TICKS				= 0x00010000,	// axis ticks
	FOB_AXIS_GRIDS				= 0x00020000,	// axis grids
	FOB_AXIS_LABELS				= 0x00040000,	// axis labels
	/// end THEME_SPECIAL_CONTEXT_MENU
	FOB_OBJECT					= 0x000000F0,	// object mask
	FOB_LABELS					= 0x00000010,	// labels
	FOB_LINES					= 0x00000020,	// lines
	FOB_SHAPES					= 0x00000040,	// shapes
	/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
	FOB_ANCHORS					= 0x00000080,	// anchors
	/// end XFUNCTION_ANCHORS
	FOB_PLOT					= 0x00007F00,	// plot mask
	FOB_PLOT_CURVE				= 0x00000100,	// curve bit
	FOB_PLOT_COLUMN				= 0x00000200,	// column bit
	FOB_PLOT_PIE				= 0x00000400,	// pie bit
	FOB_PLOT_DATALABEL			= 0x00000800,	// datalabel bit
	FOB_PLOT_SURFACE			= 0x00001000,	// surface bit
	/// RVD 9/11/2003 QA70-4650 v7.0691 OBJECT_PROPERTY_ACCESS_MORE_WORK
	FOB_PLOT_CONTOUR			= 0x00002000,	// contour bit
	FOB_PLOT_IMAGE				= 0x00004000,	// image bit
	/// end OBJECT_PROPERTY_ACCESS_MORE_WORK
	FOB_INCREMENT				= 0x02000000,	// incrementor bit
	FOB_DIMENSION				= 0x04000000,	// dimension
	FOB_SCALE					= 0x08000000,	// scale
	FOB_COLORMAP				= 0x10000000,	// colormap
	FOB_BACKGROUND				= 0x20000000,	// background
	FOB_GLOBAL					= 0x40000000,	// global
	FOB_OTHER					= 0x80000000,	// other
	FOB_NONE					= 0x00000000,	// none
	/// RVD 9/15/2003 QA70-5179 v7.0695 THEME_SPECIAL_CONTEXT_MENU
	//FOB_ALL						= 0xFFFFFFFF,	// all bits
	FOB_ALL						= 0xFFFFFFF0,	// all bits
	/// end THEME_SPECIAL_CONTEXT_MENU
}	FILTEROBJECTBITS;
/// end IMPLEMENT_FORMAT_FILTER

/// RVD 2/24/2006 v8.0369 QA70-7754 ANNOTATIONS
typedef enum
{
	FOB2_NONE					= 0x00000000,	// none
	FOB2_ANNOTATION				= 0x00010000,	// annotations
	FOB2_ANNOTATION_LABEL		= 0x00020000,	// annotation label
	FOB2_ANNOTATION_TETHER		= 0x00040000,	// annotation tether
	/// RVD 10/9/2006 QA80-9020 v8.0494 GLOBAL_RANGE_THEME
	FOB2_COMMON_STYLE			= 0x00100000,	// common style bit
	/// end GLOBAL_RANGE_THEME
	/// RVD 10/30/2006 QA70-9062 v8.0498 NEW_SCALER_GROBJ_THEME
	FOB2_SCALER					= 0x00200000,
	FOB2_SCALER_AXIS			= 0x00400000,
	FOB2_SCALER_AXIS_TITLE		= 0x00800000,
	/// end NEW_SCALER_GROBJ_THEME
	/// RVD 11/1/2006 QA70-9092 v8.0504 SPECIAL_POINT_THEME
	FOB2_SPECIALPOINT			= 0x01000000,
	/// end SPECIAL_POINT_THEME
	/// RVD 4/4/2007 QA70-9574 GRID_PRINT_SETTINGS
	FOB2_PRINT					= 0x02000000,
	/// end GRID_PRINT_SETTINGS
	/// ML 10/23/2007 QA70-10457 DO_NOT_SET_BACK_LABEL_COUNTS_AFTER_SETREPORT_TREE
	FOB2_GRID_DIM_LABEL_S		= 0x04000000,
	/// end DO_NOT_SET_BACK_LABEL_COUNTS_AFTER_SETREPORT_TREE
	/// RVD 2/26/2008 qa70-11177 THEME_ACCESS_COVER_CELLS
	FOB2_GRID_COVER_RANGE		= 0x08000000,
	/// end THEME_ACCESS_COVER_CELLS
	FOB2_RECESSION_BARS			= 0x10000000,	/// RVD 7/9/2009 QA70-13828 RECESS_BARS_DRAW_THEME
	FOB2_OBJECT_OLECONTAINER	= 0x20000000,	/// ML 8/26/2010 ORG-112-P1 MORE_OLECONTAINER_OBJECT_THEME_WORK

	FOB2_ALL					= 0xFFFFFFFF,	// all bits
}	FILTEROBJECTBITS2;
/// end ANNOTATIONS

/// EJP 01-27-2003 QA70-3753 GET_DATE_STR_FOR_OC
enum{
	LDF_SHORT,									// 0
	LDF_LONG,									// 1
	LDF_ALPHAMONTH_NUMERICDAY,					// 2
	LDF_NUMERICMONTH_NUMERICDAY,				// 3
	LDF_NUMERICDAY,								// 4
	LDF_ALPHAWEEKDAY_3CHR,						// 5
	LDF_ALPHAWEEKDAY_1CHR,						// 6
	LDF_NUMERICYEAR_4DIGIT,						// 7
	LDF_NUMERICYEAR_2DIGIT,						// 8
	LDF_SHORT_AND_HHMM_SEPARCOLON,				// 9
	LDF_SHORT_AND_HHMMSS_SEPARCOLON,			// 10
	LDF_YYMMDD,									// 11
	LDF_YYMMDD_AND_HHMM_SEPARCOLON,				// 12
	LDF_YYMMDD_AND_HHMMSS_SEPARCOLON,			// 13
	LDF_YYMMDD_AND_HHMM,						// 14
	LDF_YYMMDD_AND_HHMMSS,						// 15
	LDF_ALPHAMON_3CHR,							// 16
	LDF_ALPHAMON_1CHR,							// 17
	LDF_QUARTER,								// 18
	LDF_CUSTOM1,								// 19
	LDF_CUSTOM2,								// 20
	LDF_OBJ_CUSTOM,								// 21 /// EJP 2005-07-19 v8.0271 QA70-7886 ADD_CUSTOM_FORMAT_TO_OBJECT_LEVEL
};
/// end GET_DATE_STR_FOR_OC

/// EJP 2010-01-20 QA81-14997 SUPPORT_CUSTOM_TIME_FORMAT_IN_WKS_COL
enum {
	//  0  HH:mm
	//  1  HH
	//  2  HH:mm:ss
	//  3  HH:mm:ss.##
	//  4  hh pm
	//  5  hh:mm pm
	//  6  mm:ss
	//  7  mm:ss.##
	//  8  HHmm
	//  9  HHmmss
	// 10  HH:mm:ss.###
	// 11  DDD
	// 12  DDD:HH
	// 13  DDD:HH:mm
	// 14  DDD:HH:mm:ss
	// 15  DDD:HH:mm:ss.##
	// 16  DDD:HH:mm:ss.######
	LTF_OBJ_CUSTOM = 17, // 17  Custom Display
};
/// end SUPPORT_CUSTOM_TIME_FORMAT_IN_WKS_COL

//----- CPY v7.0510 QA70-3277 2/8/03 GET_N_BOX_FROM_OC
// the ONODETYPE_* const are the different editors that
// are used in Theme editing and in GetNBox
//////////////////////////////////////////
// node types:

//**********************************************************/
//**********************************************************/
// IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT!
// Constants from this enum are serialized.
// never insert new constants into enum as this will break backward compatibility
// add new constants just before ONODETYPE_STR_BUTTON
// IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT!
//**********************************************************/
//**********************************************************/
enum ONODETYPE
{
	ONODETYPE_INVALID = 0,
	ONODETYPE_CHECKBOX = 10,
	ONODETYPE_EDIT_BOX_ONELINE_TEXT,
	ONODETYPE_EDIT_BOX_MULTILINE_TEXT,
	ONODETYPE_DROPLIST_STRINGS,

	ONODETYPE_EDIT_BOX_NUMERIC_FLOAT,
	ONODETYPE_EDIT_BOX_NUMERIC_UINT,
	ONODETYPE_EDIT_BOX_NUMERIC_INT,

	ONODETYPE_DROPDOWN_NUMERIC_FLOAT, // 17
	ONODETYPE_DROPDOWN_LINE_THICKNESS,

	ONODETYPE_DROPLIST_NONNEGATIVE_INTEGERS,
	ONODETYPE_DROPLIST_COLORS,			// uses OCOLOR; constants COLORLIST_* should be put into dwParam1, see 
										// macros DWPARAM1_FOR_DROPLIST_COLORS and OXTHEME_PROP_ENTRY_DROPLIST_COLORS
	ONODETYPE_COLORS_CNTRL,				// uses OCOLOR; constants COLORLIST_* should be put into dwParam1,

	ONODETYPE_DROPLIST_IMAGELIST,
	ONODETYPE_DROPLIST_IMAGELIST_LARGE_BITMAP_EFFECTIVE_HEIGHT,	 	/// ML 1/21/2003 LINE_PLOT_CONNECT_32_BY_32_IMAGES

	ONODETYPE_DROPLIST_PATTERNS,
	ONODETYPE_DROPLIST_FONTS,
	ONODETYPE_DROPLIST_FONTS_NO_AUTO,
	ONODETYPE_DROPDOWN_FONT_SIZES,

	/// YuI 12/04/09 QA70-14803 ONODETYPE_NOT_FORWARD_BACKWARD_COMPATIBLE
	// must not inject constants into this enum - these are serialized
	//	/// Kenny 10/29/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
	//	ONODETYPE_DROPLIST_GRADIENT_TYPES,
	//	/// End QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
	/// end ONODETYPE_NOT_FORWARD_BACKWARD_COMPATIBLE

	ONODETYPE_DROPDOWN_SIZES_WITH_COLUMN_OFFSETS,

	ONODETYPE_DROPLIST_IMAGELIST_WITH_COLUMN_OFFSETS,
	
	/// YuI 3/11/03 qa70-4044 v7.0533 WORK_ON_INCREMENTOR
	ONODETYPE_DROPLIST_CHARACTERS,
	/// end WORK_ON_INCREMENTOR
	/// ML 4/23/2003 QA70-4318 MASKED_EDIT_PROPERTY_FOR_DATA_RANGE
	ONODETYPE_EDIT_RANGE,
	/// end MASKED_EDIT_PROPERTY_FOR_DATA_RANGE
	
	//------- CPY 6/1/03 v7.0596 REPORT_SETTINGS_NOTE_MORE_OPTION
	ONODETYPE_DROPLIST_TEXT,		// 32
	ONODETYPE_BUTTON_FILE_PATH,
	//-------
	/// ML 7/25/2003 STYLES_HOLDERS_IN_SCP_LC
	ONODETYPE_ICON,
	/// end STYLES_HOLDERS_IN_SCP_LC

	/// YuI 1/8/04 v7.5796 QA70-5797 INTERACTIVE_TEXT_PROPERTY_IMPLEMENTATION
	ONODETYPE_EDIT_BOX_INTERACTIVE,
	/// end INTERACTIVE_TEXT_PROPERTY_IMPLEMENTATION

	/// YuI 01/14/04 v7.5801 QA70-5799 SLIDER_CONTROL_TO_GETNBOX
	ONODETYPE_SLIDER,			   //36
	ONODETYPE_EDITSLIDER,
	/// end SLIDER_CONTROL_TO_GETNBOX

	/// YuI 3/15/04 v7.5837 QA70-6114 GETN_VECTOR_IMPLEMENTATION
	ONODETYPE_VECTOR,
	/// end GETN_VECTOR_IMPLEMENTATION

	/// YuI 3/16/04 v7.5838 GETN_DATA_RANGE_CONTROL
	ONODETYPE_DATA_RANGE,
	/// end GETN_DATA_RANGE_CONTROL

	/// RVD 4/21/2004 QA70-6301 v7.5861 NEW_WORKBOOK_CNTRLS
	ONODETYPE_BUTTON,
	/// end NEW_WORKBOOK_CNTRLS

	/// YuI 7/23/04 v7.5103 QA70-6582 GETN_MULTILINE_TEXT_IMPLEMENTATION
	ONODETYPE_MULTILINE_TEXT,	//41

	/// end GETN_MULTILINE_TEXT_IMPLEMENTATION

	ONODETYPE_ORIGIN_TEXT, /// CPY 9/15/04, also removed ONODETYPE_MULTILINE_TEXT as we already have ONODETYPE_EDIT_BOX_MULTILINE_TEXT

	ONODETYPE_PICTURE_HOLDER, //CPY 10/4/04 QA70-4387 v8.0143 NLF_FORMULA_SAMPLE_CURVE_IN_GET_N_BOX

	/// YuI 01/03/2005 v7.5183 QA70-7253 VECTORIAL_NUMERIC_FUNCTIONS
	ONODETYPE_XY_DATA_RANGE,
	/// end VECTORIAL_NUMERIC_FUNCTIONS
	
	/// TD 2-16-04 QA70-7368 CODE_EDITOR_IN_DIALOG
	ONODETYPE_CODE_EDITOR,
	/// end CODE_EDITOR_IN_DIALOG

	/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
	ONODETYPE_TREE_NODE,
	/// end XFUNCTION_ANCHORS

	ONODETYPE_EXTERNAL,	//---- CPY 8/23/05 ADD_HELP_TO_XF, this is for any OC based controlled external object

	ONODETYPE_STR_GROUP, //48--- CPY 11/19/05 QA70-8339 ROC_CURVE_NEEDS_STATE_VALUES

	/// ML 2/7/2006 NEW_TREE_DLG_CONTROL
	ONODETYPE_RADIOS_BY_INDEX,
	ONODETYPE_RADIOS_BY_STR,
	/// end NEW_TREE_DLG_CONTROL
	/// TD 2-14-06 QA70-8490 PUSHBOTTON_GROUPS
	ONODETYPE_PUSHBUTTON_GROUP,
	/// end PUSHBOTTON_GROUPS
	/// YuI 02/21/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL
	ONODETYPE_XYZ_DATA_RANGE,
	ONODETYPE_XY_SUB_RANGE,
	ONODETYPE_XYZ_SUB_RANGE,
	ONODETYPE_COMPOSITE_SUB_RANGE_LEAF,	   //55
	/// end NEW_COMPLEX_RANGE_CONTROL
	/// TD 3-9-06 QA70-8490 SPINOR_AND_STATIC_TEXT_CONTROLS
	ONODETYPE_EDIT_BOX_FLOAT_SPINOR,
	/// end SPINOR_AND_STATIC_TEXT_CONTROLS
	/// YuI 03/20/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL
	/// I am introducing new node type to create child dyna control for teh DataRange
	ONODETYPE_DATA_RANGE_EX,
	/// end NEW_COMPLEX_RANGE_CONTROL
	/// YuI 03/30/06 COMPLEX_VECTOR_AND_RANGE_DATA_TYPES
	ONODETYPE_XY_COMPLEX_DATA_RANGE,
	ONODETYPE_XY_COMPLEX_SUB_RANGE,
	ONODETYPE_XY_COMPLEX_SUBRANGE_YBRANCH,
	/// end COMPLEX_VECTOR_AND_RANGE_DATA_TYPES
	/// ML 4/25/2006 EDIT_PROPERTY_PASSWORD
	ONODETYPE_EDIT_BOX_PASSWORD,
	/// end EDIT_PROPERTY_PASSWORD

	/// YuI 04/26/06 FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL
	// difference between these set of ID's and 
	// ONODETYPE_XYZ_DATA_RANGE, ONODETYPE_XY_DATA_RANGE and ONODETYPE_XY_COMPLEX_DATA_RANGE
	// is that ONODETYPE_XY_DATA_RANGE will produce property that create child dyna control
	// and these ID's are for properties inside child dyna control
	ONODETYPE_XY_RANGE_ROOT,
	ONODETYPE_XYZ_RANGE_ROOT,
	ONODETYPE_XY_RANGE_COMPLEX_ROOT,
	/// end FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL

	/// YuI 05/18/06 COMPLEX_VECTOR_GUI
	ONODETYPE_VECTOR_COMPLEX,
	ONODETYPE_VECTOR_COMPLEX_ROOT,
	/// end COMPLEX_VECTOR_GUI

	/// YuI 05/26/06 NLSF_INPUT_DATA_EXPANDED_GUI
	ONODETYPE_FITTER_DATA,
	ONODETYPE_FITTER_DATA_ROOT,
	ONODETYPE_FITTER_DATA_ONE_SET,
	ONODETYPE_FITTER_DATA_INDEPDENDENT_DATA,
	ONODETYPE_FITTER_DATA_DEPDENDENT,
	ONODETYPE_FITTER_DATA_DEPDENDENT_ROOT,
	ONODETYPE_FITTER_DATA_DEPDENDENT_DATA,
	ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT,
	ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT_METHOD,
	ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT_DATA,
	/// end NLSF_INPUT_DATA_EXPANDED_GUI

	/// TD 7-13-06 QA70-8795 SEPERATORS_IN_DYNACONTROL
	ONODETYPE_SEPARATOR,
	ONODETYPE_LISTBOX,
	///end SEPERATORS_IN_DYNACONTROL

	/// YuI 07/19/06 PROPER_INTERACTIVE_DROP_DOWN_FOR_MATRIX_OBJECT
	ONODETYPE_MATRIX,
	ONODETYPE_PAGE,
	ONODETYPE_LAYER,
	/// end PROPER_INTERACTIVE_DROP_DOWN_FOR_MATRIX_OBJECT

	ONODETYPE_EMBED_GRAPH, /// TD 8-8-06 QA70-8882 ATTACH_GRAPH_TO_WKS_CELLS

	/// YuI 09/28/06 OWN_PROPERTY_CLASS_FOR_IMAGE_CONTROL
	ONODETYPE_ORIGIN_IMAGE,
	/// end OWN_PROPERTY_CLASS_FOR_IMAGE_CONTROL

	/// YuI 1/25/07 SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR
	ONODETYPE_BRANCH_CHECKBOX,
	/// end SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR

	/// TD 6-18-07 QA80-9933 EDITABLE_COMBO_WITH_BROWSE_BUTTON
	ONODETYPE_BROWSECOMBO,
	/// end EDITABLE_COMBO_WITH_BROWSE_BUTTON
	/// YuI 04/09/08 QA70-11394 GETN_CONTROL_FOR_SYMBOL_WELL
	ONODETYPE_SYMBOL,
	/// end GETN_CONTROL_FOR_SYMBOL_WELL

	/// YuI 03/23/09 QA70-12160 XYRANGE_XERROR_SUPPORT
	ONODETYPE_XY_YERR_XERR_DATA_RANGE,
	ONODETYPE_XY_YERR_XERR_SUB_RANGE,
	ONODETYPE_XY_YERR_XERR_RANGE_ROOT,
	/// end XYRANGE_XERROR_SUPPORT

	///---Sim 11-18-2009 QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER
	ONODETYPE_DATE,
	ONODETYPE_TIME,
	///---END QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER

	/// YuI 12/04/09 QA70-14803 ONODETYPE_NOT_FORWARD_BACKWARD_COMPATIBLE
	// moved here from above
	ONODETYPE_DROPLIST_GRADIENT_TYPES,
	/// end ONODETYPE_NOT_FORWARD_BACKWARD_COMPATIBLE

/// Kenny 04/13/2010 QA81-14570 ADD_NEW_GUI_TO_ADD_XY_VALUES_AS_LABELS_TO_PLOT
	ONODETYPE_DROPLIST_PLOTLABEL_FORMS,
/// End QA81-14570 ADD_NEW_GUI_TO_ADD_XY_VALUES_AS_LABELS_TO_PLOT

	///Sophy 6/22/2010 ORG-186 VECTOR_3DVECTOR_3DERROR_THEME_SUPPORT
	ONODETYPE_VECTOR_DATA_ANGLE,
	ONODETYPE_VECTOR_DATA_MAGNITUDE,
	//end VECTOR_3DVECTOR_3DERROR_THEME_SUPPORT

	/// Kenny 08/10/2010 ORG-688-P4 THEME_ACCESS_FOR_3D_ERROR_BAR
	ONODETYPE_DROPDOWN_COLUMN_OFFSET,
	/// End ORG-688-P4 THEME_ACCESS_FOR_3D_ERROR_BAR

	ONODETYPE_STR_BUTTON = 1000,	//CPY 9/21/05 JASMINE_FOUND_GETN_BUTTON_BROKEN

	ONODETYPE_BRANCH					= 0x10000000,	// branch bit

	/// RVD 2/18/2003 QA70-3094 v7.0517 ADD_ARRAYS
	ONODETYPE_ARRAY						= 0x20000000,	// array bit
	ONODETYPE_BRANCH_COMPOSITE			= 0x40000000,	// composite branch bit
	
	// array controls
	ONODETYPE_CTRL_COLOR_ARRAY			= ONODETYPE_ARRAY | ONODETYPE_DROPLIST_COLORS,			// int array
	ONODETYPE_CTRL_CHECKBOX_ARRAY		= ONODETYPE_ARRAY | ONODETYPE_CHECKBOX,					// int array
	ONODETYPE_CTRL_EDITBOX_FLOAT_ARRAY	= ONODETYPE_ARRAY | ONODETYPE_EDIT_BOX_NUMERIC_FLOAT,	// double array
	ONODETYPE_CTRL_EDITBOX_INT_ARRAY	= ONODETYPE_ARRAY | ONODETYPE_EDIT_BOX_NUMERIC_INT,		// int array
	ONODETYPE_CTRL_IMAGE_ARRAY			= ONODETYPE_ARRAY | ONODETYPE_DROPLIST_IMAGELIST,		// int array
	ONODETYPE_CTRL_LINE_WIDTH_ARRAY		= ONODETYPE_ARRAY | ONODETYPE_DROPDOWN_LINE_THICKNESS,	// double array
	
	/// YuI 3/11/03 qa70-4044 v7.0533 WORK_ON_INCREMENTOR
	ONODETYPE_CTRL_CHARACTER_ARRAY		= ONODETYPE_ARRAY | ONODETYPE_DROPLIST_CHARACTERS,		// int array
	/// end WORK_ON_INCREMENTOR

	/// RVD 1/19/2005 QA70-7289 v8.0185 WKS_THEME_SUPPORT
	ONODETYPE_CTRL_STRING_ARRAY			= ONODETYPE_ARRAY | ONODETYPE_EDIT_BOX_ONELINE_TEXT,	// string array
	ONODETYPE_DROPLIST_STRING_ARRAY		= ONODETYPE_ARRAY | ONODETYPE_DROPLIST_STRINGS,			// int array
	/// end WKS_THEME_SUPPORT
	
	/// Hong 04/03/09 QA80-13409 MULTI_SELECT_LISTBOX_IN_DYNACONTROL
	ONODETYPE_MULTISEL_LISTBOX			= ONODETYPE_ARRAY | ONODETYPE_LISTBOX,			// int array
	/// end MULTI_SELECT_LISTBOX_IN_DYNACONTROL

/// Kenny 10/29/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
	ONODETYPE_CTRL_GRADIENT_ARRAY		= ONODETYPE_ARRAY | ONODETYPE_DROPLIST_GRADIENT_TYPES,		// int array
/// End QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS

	// branch content displayed in a separate dialog
	ONODETYPE_BRANCH_DIALOG				= ONODETYPE_BRANCH_COMPOSITE,
	ONODETYPE_COLORMAP_ENTRIES,
	ONODETYPE_INCREMENTOR,
	ONODETYPE_INCREMENT_LIST, ///CPY 2/24/03 QA70-3955 v7.0522 EDITOR_FOR_INCREMENTOR_COLORMAP
	/// end ADD_ARRAYS

	ONODETYPE_PALETTE_LIST,			///Kyle 09/07/2009 QA80-14261 COLORMAP_THEME_IMPROVEMENTS

};


//------- CPY 6/1/03 v7.0596 REPORT_SETTINGS_NOTE_MORE_OPTION
typedef enum {
	WINOUT_NONE, WINOUT_APPEND, WINOUT_REPLACE, WINOUT_ENUM_NEW_WINDOW
} WindowOutputMode;
//------- CPY 6/1/03 v7.0596 REPORT_SETTINGS_NOTE_MORE_OPTION


///////////////////////////////////////
// The node value types:
enum {
	OXVT_NONE = 0,
	OXVT_bool = 1,
	OXVT_UINT,
	OXVT_DOUBLE,
	OXVT_STRING,	/// RVD 10/4/2002 QA70-3094 v7.0406 IMPLEMENT_THEME
	/// RVD 2/18/2003 QA70-3094 v7.0517 ADD_ARRAYS
	OXVT_INT_ARRAY,
	OXVT_DOUBLE_ARRAY,
	/// end ADD_ARRAYS
	OXVT_STRING_ARRAY,	/// RVD 1/19/2005 QA70-7289 v8.0185 WKS_THEME_SUPPORT
	/// ML 4/8/2005 QA70-7606 TREE_NODE_AS_THEME_PROPERTY_TYPE
	OXVT_TREE_NODE,
	/// end TREE_NODE_AS_THEME_PROPERTY_TYPE
};


//------ end CPY v7.0510 QA70-3277 2/8/03 GET_N_BOX_FROM_OC

// options for Dialog::DoModal and Create
enum {
	DLG_OPTIONS_USE_OPS = 0x0001,
	DLG_OPTIONS_SHIFT_SHOW_DEFAULT_TRUE = 0x0002,
	DLG_MODAL_WITH_KEY					= 0x0004,/// TD 6-10-03 QA70-4631 MODAL_TO_BE_NOMODAL_ON_ROLLUP
	DLG_NO_DEFAULT_REPOSITION			= 0x0008,// CPY 7/8/03 QA70-4796 v7.0620 GET_N_BOX_EVENT_FUNC_MOVE_WIN
	DLG_TITLE_TO_HAVE_PAGE_NAME			= 0x0010, // TD 1-7-03 STYLE_TO_SET_PAGE_NAME_IN_DIALOG_TITLE
	/// TD 9-21-05 QA70-8124 DIALOG_IN_SPLITTER_PANE
	DLG_AS_CHILD						= 0x1000, /// TD 6-8-05 QA70-7751 USE_POPUP_DIALOG_TEMPLETES_IN_DIALOGBAR
	/// end DIALOG_IN_SPLITTER_PANE
	/// TD 1-17-05 QA70-8490 CREATE_DIALOG_FROM_TREE
	DLG_FROM_TREE						= 0x2000,
	/// end CREATE_DIALOG_FROM_TREE
	DLG_HAS_APPLY						= 0x0020, /// TD 02-29-2008 QA80-11069 BLOCK_DIRTY_DOC_MORE_WORK
};
//----- end	 GET_N_BOX_FROM_OC

/// SY 02-21-2003 QA70-3941 v7.0520 ADD_PROJECT_GetDatasetInfo_METHOD
enum {
	PGDN_PLOTTABLE =	0x0001,
	PGDN_IN_WKS =		0x0002,
	PGDN_IN_MATRIX =	0x0004,
	PGDN_IS_DATASET =	0x0008, 
	PGDN_LOOSE =		0x0010,
	PGDN_FOLDER =		0x0020,
	PGDN_FOLDER_SUB =	0x0040,
	PGDN_FUNCTION =		0x1000,	// CPY 8/5/03 function plot dataset
	PGDN_TEMP_DATASET =	0x2000 //---CPY 9/9/04 QA70-6893 DATASET_MORE_INFO
};
/// end ADD_PROJECT_GetDatasetInfo_METHOD

//--- CPY QA70-8636 SAVE_CONN_OBJ_IN_WKS
#define STR_DATA_SOURCE				"DataSource" 
#define STR_SQL						"SQL"
#define STR_ADO 					"ADOInfo"
#define STR_LAST_MODIFIED			"LastModified"
#define STR_LAST_USE				"LastUsed"

enum
{
	WKS_DB_STATUS_NO_SQL,
	WKS_DB_STATUS_HAS_DS_SQL,
	WKS_DB_STATUS_CONNECTED,
	WKS_DB_STATUS_FAILED_TO_CONNECT,
};
//---

#define ATTR_CTRL_ID		"DB_CTRL_ID" //CPY 9/23/08 CURVE_INTEG_TOOL_OUTPUT_TO_WKS_USING_STANDARD_RERPOT_TREE this was needed to shared into OC

//------- CPY 3/3/03 v7.0527 CPY 3/3/03 v7.0526 CENTRALIZED_TREE_NODE_DISPLAY_NAME
#define STR_LABEL_ATTRIB			"Label"
#define STR_COMBO_ATTRIB			"Combo"
#define	STR_DATA_ATTRIB				"Data"
#define STR_ID_ATTRIB				"NodeID"
#define STR_PATH_ATTRIB				"Path"
#define STR_NAME_ATTRIB				"Name"
#define STR_FILENAME_ATTRIB			"FileName"	///Frank 12/20/04
#define STR_DATAID_ATTRIB			"DataID" /// CPY 4/25/04
#define STR_TYPE_ATTRIB				"TypeID"  // CPY 11/10/04 DATAID_ATTRIBUTE_OC_VC_CONSISTENT moved here from VC code
#define STR_COMMENT_ATTRIB			"Comment"	///Danice 11/9/04
#define STR_STOP_ATTRIB				"Stop"	///Frank 11/12/04
#define	STR_SHOW_ATTRIB				"Show"
#define STR_CHANGED_ATTRIB			"OldValue"
#define	STR_ENABLE_ATTRIB			"Enable" ///CPY 4/26/04
#define	STR_PLOTOBJ_UID_ATTRIB		"PlotObjUID" //CPY 5/23/04
#define STR_PARENT_PLOT_UID_ATTRIB 	"ParentPlotUID"
#define	STR_SUB_HEADER_ATTRIB_PREFIX "SubHeader"
#define STR_EVENTS_ATTRIB			"EventHandler" //CPY 8/23/04
#define STR_USE_ATTRIB				"Use"		//------ CPY 8/27/04 QA70-5890 v8.0125 BRANCH_ALLOW_CHECKBOX 
#define STR_THEME_FILE_ATTRIB		"ThemeFile" //------ CPY 9/9/04 QA70-6682 SETTINGS_THEME_FILE_SAVE_LOAD
#define	STR_THEME_NAME_ATTRIB		"ThemeName"	///Sophy 12/18/2008 v8.0988 QA80-12798 CHANGE_PARAMETERS_SHOULD_SHOW_THEME_MENU keep useful settings before replaced

#define STR_TIPS_ATTRIB 			"Tips"///Forest 4/2/05
#define STR_ENFORCE_READONLY 		"EnforceLabtalkReadonly"/// TD 1-16-07 QA70-9274  LT_ACCESS_READONLY_ENFORCEMENT
#define STR_INTMAP_ATTRIB			"INTMapVals"   ////---- CPY 1/30/2007 QA70-9330 STR_LIST_ADD_MAPPING_ARRAY_SUPPORT
#define	STR_FITTER_WEIGHT_SETTING_ATTRIB	"FitterWeight"/// YuI 07/17/07 QA70-10074 FITTER_DATA_COMMON_EIGHT_APPLICATION
#define STR_USER_PARAM_ATTRIB_PREFIX		"UserParam"			///Kyle 03/28/2009 QA80-13366 REPORTTABLE_SUPPORT_SPECIFY_ALBELS_FOR_EACH_COLUMN
///Kyle 08/25/2010 REMOVE_NO_USE_ATTRIBUTE, see QA80-14187
//#define STR_COL_FORMAT_SRC_COL_UID_ATTRIB	"ColFmtSrcColUID"			///Kyle 08/20/2009 QA80-14187 REPORT_TREE_COPY_FORMAT_FROM_SOURCE_COLUMN
///End REMOVE_NO_USE_ATTRIBUTE

/// Kenny 09/18/2009 QA81-14329 ALLOW_SETTING_SIZE_OF_DROP_DOWN_PORTION_OF_COMBOBOX
enum
{
	COMBOBOX_DROPPED_ALL_ITEMS_VISIBLE			= -1,
	COMBOBOX_DROPPED_DISABLE_SET_VISIBLE_ITEMS	= -2,
};
#define STR_COMBO_DROPPED_VISIBLE_ITEMS		"ComboDroppedVisibleItems"
/// End QA81-14329 ALLOW_SETTING_SIZE_OF_DROP_DOWN_PORTION_OF_COMBOBOX

/// Hong 03/26/07 v8/0589b ALLLOW_COMSTOMIZE_OK_BTN_LABEL
/// Last updated by Sim 04-02-07
/* temp comments for programmer, need clean later
	make string like "OK" to show OK button
	make string like "OK=Import" to rename label of OK button to "Import"
	make string like "OK=" to hide OK button
	make string like "OK=|Cancel=Close|Apply=Plot|Undo" to hide OK button, rename "Cancel" to "Close", show "Apply" and rename it to "Plot", show "Undo" button
	make string like "Import|Update" to add two customize buttom "Import" & "Update", in this case, OK & Cancel button will also shown
	make string like "OK=|Cancel=|Import|Update" to add two customize buttom and also hidden OK & Cancel button
*/
/// ALLLOW_COMSTOMIZE_OK_BTN_LABEL
#define STR_CUSTOM_BUTTONS_ATTRIB	"CustomButtons"	///---- CPY 2/1/2007 XF_SUPPORT_CUSTOM_BUTTONS
/// YuI 11/16/06 NEW_ATTRIBUTE_TO_INDICATE_TREE_RECONSTRUCTION
#define	STR_RECONSTRUCTED_ATTRIB	"Reconstructed"
/// end NEW_ATTRIBUTE_TO_INDICATE_TREE_RECONSTRUCTION
/// AW 02/15/07 QA80-9378 v8.0564 SUPPORT_ENUM_FOR_ARGU_FROM_LT
#define STR_COMBO_ATTRIB_ENUM		"EnumList"
/// END SUPPORT_ENUM_FOR_ARGU_FROM_LT

//---- CPY 5/8/2007 QA70-9740 GETN_EVENT_NEED_TO_KNOW_DLG_OPEN_MODE
#define STR_EXEC_MODE_ATTRIB "ExecMode" //OPERATIONEXECUTEMODE
//----

//----Jake 06/28/07 STORE_USER_FILE_NAME
#define STR_ONLY_FILENAME_ATTRIB "OnlyFileName"
//----end STORE_USER_FILE_NAME

#define STR_HELPID_ATTRIB		"HelpID"		//------ Folger 11/14/07 ADD_HELP_ID_ATTRIBUTE

#define STR_XF_VAR_VALDATA "XFVAR_VAL_DATA"	//CPY 6/1/07 IMPWAV_RUN_FROM_LT_2ND_TIME_LOST_TREE_FROM_MAKE_TREE

//------ Folger 03/19/08 QA80-10598 NEW_GETN_LOCALIZAED_CHECK_MACRO
#define STR_LABEL_E_ATTRIB		"Label_E"
//------

/// YuI 10/26/09 QA70-14205 X_RANGE_POLYRANGE_SUPPORT
// set this attribute to collapse/disable combo branch for certain nUse values
// should be pipe separated "0|3|4|5" will collapse branch and disbale expand/collapse control if nUse is any of 0,3,4,5
#define	STR_COMBO_BRANCH_COLLAPSE_USE_ATTRIB	"CollapseIfUse"
/// end X_RANGE_POLYRANGE_SUPPORT

///---Sim 12-23-2008 QA80-12836 SUPPORT_FILE_BROWSER_BUTTON
#define STR_BROWSER_COMBO_FILE_PATH			"BrowserPath"
#define STR_BROWSER_FILE_NAME_WITHOUT_EXT	"FileNameWithoutExtension"
///---END QA80-12836 SUPPORT_FILE_BROWSER_BUTTON

/// Hong 04/14/08 v8.0842 GET_REAL_BOOK_SHEET_NAME_FROM_AUTO_TYPE
#define		STR_BACKUP_ID_ATTRIB			"BackupID"
/// end GET_REAL_BOOK_SHEET_NAME_FROM_AUTO_TYPE
/// TD 04-15-2008 QA80-11420 OOBJ_METHOD_TO_SETXML
#define  TREE_STORAGE_NAME			"TREE"
/// end OOBJ_METHOD_TO_SETXML
/// Hong 02/04/10 QA8015063 FIX_FAIL_ACCESS_WKS_COL_FILE_INFO_IN_LT
#define		TREEFILEINFO_STORAGE_NAME	"File"
#define		SIFI_BINARY_STORAGE_NAME	TREEFILEINFO_STORAGE_NAME
/// end FIX_FAIL_ACCESS_WKS_COL_FILE_INFO_IN_LT

///------ Folger 05/04/09 QA80-13552 GRAPH_BROWSER_NEEDS_MORE_CONTROL_OPTIONS
enum
{
	BROWSER_CONTROL_SORT_PAGES			= 0x00000001,
	BROWSER_CONTROL_EXCLUDE_3D_GRAPHS	= 0x00000002,
};
#define		STR_BROWSER_CONTROL_OPTIONS_ATTRIB		"BrowserControl"
///------ End GRAPH_BROWSER_NEEDS_MORE_CONTROL_OPTIONS

///------ Folger 07/17/09 QA80-13959 SHOW_MISSING_VALUE_IN_GETN_CONTROL_OPTIONS
enum
{
	SHOW_MISSING_CONTROL_AS_EMPTY		= 0,
	SHOW_MISSING_CONTROL_AS_DASHDASH,
};
#define		STR_SHOW_MISSING_CONTROL_OPTIONS_ATTRIB	"ShowMissingCntrlOpts"
///------ End SHOW_MISSING_VALUE_IN_GETN_CONTROL_OPTIONS

///------ Folger 09/08/09 QA80-13420 XF_BASED_PLOTTING_NEEDS_GET_OUTPUT_GRAPHLAYER_IN_EVENT1
#define		STR_XF_BASED_PLOTTING_GRAPH_UID_ATTRIB		"XFBasePlottingGraphUID"
///------ End XF_BASED_PLOTTING_NEEDS_GET_OUTPUT_GRAPHLAYER_IN_EVENT1

/// YuI 12/07/06 NEED_OPTION_TO_RESTRIC_INTERACTIVE_CONTROL_TO_ONE_DATA
typedef	enum tagINTERACTIVECONTROLOPTIONS
{
	/// YuI 06/06/07 QA70-9836 DEFAULT_TO_SINGLE_DATA_SELECTION
	// these internal use bits are not typed by user, so I move them to higher position
	//	ICOPT_NO_DROP_DOWN_BUTTON		= 0x00000001,
	//	ICOPT_NO_INTERACTIVE_BUTTON		= 0x00000002,
	//	ICOPT_COLUMN_INDEX				= 0x00000004,
	
	// these bits 1 2 3 are for the purpose of data range that is broken into different nodes in GUI by combo string
	// they allow to have one subrannge to select multiple data, while others not
	// see kwanova as an example
	ICOPT_ALLOW_MULTIPLE_DATA_1			= 0x00000001,
	ICOPT_ALLOW_MULTIPLE_DATA_2			= 0x00000002,
	ICOPT_ALLOW_MULTIPLE_DATA_3			= 0x00000004,
	ICOPT_ALLOW_MULTIPLE_DATA			= 0x00000008,
	/// end DEFAULT_TO_SINGLE_DATA_SELECTION
	
	ICOPT_RESTRICT_TO_ONE_DATA		= 0x00000010,//---- YuI 06/06/07 QA70-9836 this is now the default
	ICOPT_SUPPORT_ERROR_BAR			= 0x00000020,
	ICOPT_SUPPORT_LABEL_AREA		= 0x00000040,
	/// TD 5-23-07 QA80-9643 ADD_OPTIONS_TO_PREVENT_PRESET_TYPES_IN_MENU
	ICOPT_SUPPORTNOT_INPUT			= 0x00000080,  //Disallow "<input>" in output xy range
	//TD : As per Marko's advice  and Tracker info adding the 2 bits --- can't think of practical example that will need the following 2 bits
	ICOPT_SUPPORTNOT_NEW			= 0x00000100,  //Disallow "<new>" in output xy range
	ICOPT_SUPPORTNOT_INPUTNEW		= 0x00000200,  //Disallow "(<input>, <new>)" in output xy range
	/// end ADD_OPTIONS_TO_PREVENT_PRESET_TYPES_IN_MENU
	/// YuI 06/06/07 QA70-9836 DEFAULT_TO_SINGLE_DATA_SELECTION
	ICOPT_NO_DROP_DOWN_BUTTON		= 0x00000400,
	ICOPT_NO_INTERACTIVE_BUTTON		= 0x00000800,
	ICOPT_COLUMN_INDEX				= 0x00001000,
	/// end DEFAULT_TO_SINGLE_DATA_SELECTION
	/// YuI 06/18/07 QA70-9936 OPTION_TO_RESTRICT_INTERACTIVE_CONTROL_TO_Y_COLUMNS
	ICOPT_RESTRICT_TO_Y_COLUMNS		= 0x00002000,
	/// end OPTION_TO_RESTRICT_INTERACTIVE_CONTROL_TO_Y_COLUMNS
	/// YuI 07/20/07 QA70-10083 EXTENSION_TO_NLSF_INPUT_DATA_CONTROL
	ICOPT_COLUMN_BROWSER_INTERACTIVE_BUTTON = 0x00004000,
	/// end EXTENSION_TO_NLSF_INPUT_DATA_CONTROL

	ICOPT_READ_ONLY					= 0x00008000, //---- CPY 7/27/2007 QA70-10121 INTERACTIVE_CNTRL_READ_ONLY_FOR_IMPORT_XF
	/// ML 9/20/2007 QA70-10391 DISABLE_ROW_RANGE_FOR_COMPOSITE_RANGE_OUTPUTS_FROM_INTERACTIVE_CONTROL
	ICOPT_NO_ROW_RANGE				= 0x00010000,
	/// emd1 DISABLE_ROW_RANGE_FOR_COMPOSITE_RANGE_OUTPUTS_FROM_INTERACTIVE_CONTROL
	ICOPT_SHEET_TO_COLS				= 0x00020000,	/// RVD 10/2/2007 v8.0713 qa7-10446 FIX_DESC_STATS_SHEET_TO_COLS
	ICOPT_NO_CLEAR_DATA				= 0x00040000,	/// RVD 10/10/2007 v8.0722 qa7-10507 FIX_WKS_INSERT_ARROW_DESTROY_DATA

	//------ Folger 02/25/08 QA80-11148 SUPPORT_NOT_TO_SHOW_1_TO_END_IN_INTERACTIVE_DROP_DOWN_MENU
	ICOPT_NO_1_TO_END_IN_DROP_DOWN_MENU		=	0x00080000,		///see also ICOPT_NO_DROP_DOWN_BUTTON
	//------
	/// YuI 06/16/08 QA70-11627 ACTIVE_SHOULD_RESOLVE_TO_ACTIVE_PLOT
	ICOPT_RESOLVE_ACTIVE_ALL_PLOTS	= 0x00100000,
	/// end ACTIVE_SHOULD_RESOLVE_TO_ACTIVE_PLOT
	/// YuI 07/28/08 QA70-11853 OPTION_TO_PUT_OUTPUT_X_INTO_SAMPLING_INTERVAL
	ICOPT_ALLOW_X_SAMPLING			= 0x00200000,
	ICOPT_INPUT						= 0x00400000, // if bit is set - corresponding XVar i input, output otherwise
	/// end OPTION_TO_PUT_OUTPUT_X_INTO_SAMPLING_INTERVAL

	//------ Folger 12/04/08 QA80-12716 v8.0982b SUPPORT_NOT_SHOWING_EXISTING_COLUMNS_OR_PLOTS_IN_INTERACTIVE_POPUP
	ICOPT_NO_EXISTING_OBJS_IN_POPUP = 0x00800000,
	//------
	/// YuI 03/23/09 QA70-12160 XYRANGE_XERROR_SUPPORT
	ICOPT_SUPPORT_XERROR			= 0x01000000,
	/// end XYRANGE_XERROR_SUPPORT

	ICOPT_USE_NEW_FOR_AUTO_FIND_X	= 0X02000000,	///------ Folger 06/04/09 QA80-13718 IMPROVE_XF_XYRANGE_OUTPUT_AUTO_FIND_X_MECHANISM
	/// YuI 10/20/09 QA70-14507 OPTION_FOR_SINGLE_BLOCK_RANGE
	// fo Range variable type, if bit is set - row range is disregarded and range is restricted to single block
	// no selection or single cell selection resolves into worksheet
	ICOPT_SINGLE_BLOCK_RANGE		= 0x04000000, 
	/// end OPTION_FOR_SINGLE_BLOCK_RANGE
	/// YuI 10/26/09 QA70-14205 X_RANGE_POLYRANGE_SUPPORT
	// if set interactive control will produce x range string as opposed to row range string
	ICOPT_X_RANGE					= 0x08000000,
	/// end X_RANGE_POLYRANGE_SUPPORT
	///------ Folger 01/13/09 QA81-14954 XF_RANGE_VARIABLE_SUPPORT_NO_FACTOR_NO_WEIGHT
	ICOPT_NO_FACTOR_NO_WEIGHT		= 0x10000000,
	///------ End XF_RANGE_VARIABLE_SUPPORT_NO_FACTOR_NO_WEIGHT
}	INTERACTIVECONTROLOPTIONS;


#define	STR_INTERACTIVE_CONTROL_OPTIONS_ATTRIB	"InteractiveOptions"
/// end NEED_OPTION_TO_RESTRIC_INTERACTIVE_CONTROL_TO_ONE_DATA

/// YuI 10/12/07 QA70-10529 DATA_MARKERS_REVAMP
#define	STR_DATA_MARKER_ID_ATTRIB	"DataMarkerID"
/// end DATA_MARKERS_REVAMP

/// YuI 02/20/09 QA70-13152 PROPER_OPERATION_AUTO_BIN_INITIALIZATION_FOR_DATA_WITH_GROUPS
#define	STR_DATA_RULES_ATTRIB		"DataRules"
/// end PROPER_OPERATION_AUTO_BIN_INITIALIZATION_FOR_DATA_WITH_GROUPS

/// YuI 1/25/07 SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR
typedef enum tagROWRANGECONTROLSTATE
{
	RRC_SHOW			= 0x00000001,
	RRC_USE				= 0x00000002,
	RRC_EXPAND			= 0x00000004,
}	ROWRANGECONTROLSTATE;
#define	STR_ROWRANGE_CONTROL_STATE_ATTRIB					"RowRangeState"
#define	STR_ROWRANGE_CONTROL_EXTRA_UPDATE_BITS_ATTRIB		"RowRangeUpdate"
/// end SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR

/// YuI 01/11/07 XVARIABLE_THEME_APPLICABILITY_REDESIGN
//------- CPY 4/24/07 QA70-9679 XYRANGE_BRANCH_THEME_SAVING_USE_DATA_ATTRIB_AS_VALUE
typedef enum tagXVARIABLETHEMEAPPLICABILITY
{
	//----- CPY 5/5/2007 QA70-9726 THEME_APPLICAPABILITY_REVERSE_BY_OPTION_STR
	// low bits to be used by option str only
	//XVTA_DO_NOT_APPLY_VALUE			= 0x00000001,
	//XVTA_DO_NOT_APPLY_ATTRIBUTES	= 0x00000002,
	//XVTA_APPLY_PREDEFINED_ONLY		= 0x00000004, //---- CPY 4/19/07 QA70-9642 THEME_APPLICATION_TO_XF_NEED_TO_HAVE_MORE_CONTROLS
	//XVTA_USE_DATA_ATTRIB_FOR_VALUE	= 0x00000010, //------- CPY 4/24/07 QA70-9679 XYRANGE_BRANCH_THEME_SAVING_USE_DATA_ATTRIB_AS_VALUE
	XVTA_DO_NOT_APPLY_VALUE			= 0x00010000,
	XVTA_DO_NOT_APPLY_ATTRIBUTES	= 0x00020000,
	XVTA_APPLY_PREDEFINED_ONLY		= 0x00040000, 
	XVTA_USE_DATA_ATTRIB_FOR_VALUE	= 0x00100000,
	//------

}	XVARIABLETHEMEAPPLICABILITY;
#define	STR_XVARIABLE_THEME_APPLICABILITY_ATTRIB "ThemeApplicability"
#define	STR_XFUNCTION_NAME_ATTRIB		"XFunctionName"
/// end XVARIABLE_THEME_APPLICABILITY_REDESIGN

///Sophy 12/19/2008 v8.0988c QA80-12798 SKIP_THEME_APPLIED_TO_OUTPUT_DISABLED_NODE_WHEN_CHANGE_PARAMS
#define STR_SKIP_THEME_ATTRIB			"SkipTheme"
///end SKIP_THEME_APPLIED_TO_OUTPUT_DISABLED_NODE_WHEN_CHANGE_PARAMS

#define STR_ATTRIB_QUOTE_CHAR	"QuoteChar" // CPY 8/21/08 QA70-12073 XF_OUTPUT_NEW_COL_QUOTED_STR_INDICATOR_LN

//#define STR_ADVANCED_IDS_THEME_FILE_ATTRIB	"AdvanIDsTheme" ///Iris 12/27/04 IMPROVE_ACCESS_ADVAN_IDS_THEME_FILE  ///Iris 12/31/04 IMPROVE_ACCESS_ADVANCED_IDS_FUNC
/// YuI 3/24/04 v7.5846 QA70-6118 NEW_DATA_SELECTOR_TOOL
#define	PREFIX_FOR_DATA_RANGE_DATA	"Range"
/// end NEW_DATA_SELECTOR_TOOL
#define STR_ATTRIB_NUMFMT			"NumFormat"  //---- CPY 10/1/04 ADD_DATE_DISPLAY_INFO_FOR_WKBOOK_ORGANIZER, moved here from GetNBox.h
// for TreeEditor notifications
///---Danice 11/10/04 v8.0161 : remove
//#define STR_ATTRIB_DATATYPE			"DataType"   ///Iris 11/05/04, Data type is enum {TREENODE_DATA_TYPE_NORMAL, TREENODE_DATA_TYPE_VECTOR,TREENODE_DATA_TYPE_MATRIX};
///---end
/// TD 3-1-06 QA70-8490 BRANCH_CHECK_BOX_ON_RIGHT
#define STR_ATTRIB_BRANCH_COMBO	"BranchCombo"
/// end BRANCH_CHECK_BOX_ON_RIGHT
/// TD 01-08-2009 QA80-12937 LT_DRIVEN_XFUNCTIONS
#define STR_ATTRIB_EVENT_ROOT_OTPTION	"EventRootOption"
/// end LT_DRIVEN_XFUNCTIONS
/// TD 01-14-2009 QA80-12869 COMBO_AND_EDIT_WITH_BUTTON_USING_USER_EVENTS
#define STR_ATTRIB_HYBRID_BUTTON_MODE	"HybridButtonMode"
/// end COMBO_AND_EDIT_WITH_BUTTON_USING_USER_EVENTS

#define STR_DISPLAY_ATTRIB			"Display"		///DG 4/2/05 move from OC_Res.h
#define STR_ERROR_CODE_ATTRIB		"Error"			///DG 5/31/05 ERROR_CODE_FOR_DATA_INIT

#define STR_CLASS_NAME_ATTRIB	 	"class_name"/// TD 7-7-05 QA70-7767 CUSTOM_VIEW_DYNAMIC_MENUS

#define STR_COL_DESIGNATION_ATTRIB	"ColDesignation"
#define STR_COL_WIDTH_ATTRIB		"ColWidth"
#define STR_COL_FORMAT_ATTRIB		"ColFormat"	//---- CPY 2/9/2006 QA70-8121 SETTING_COLUMN_AS_TEXT_ETC_IN_SET_REPORT_TREE
#define STR_COL_CATEGORICAL_ATTRIB	"ColCategorical"		///Kyle 07/10/2009 QA80-13908-S2 SET_COLUMN_AS_CATEGORICAL_IN_SET_REPORT_TREE
#define STR_COL_COMMENTS_LABEL_ATTRIB	"ColCommentsLabel"  /// Iris 1/23/2010 IMPROVE_FINDXY_OUTPUT_TO_WKS_CODES for QuickFit findxy output worksheet
/// Iris 1/25/2010 FINDXY_OUTPUT_WKS_NEED_KEEP_SAME_FORMAT_WITH_SOURCE_X_COL
#define STR_COL_SUBFORMAT_ATTRIB	"ColSubFormat"
#define STR_COL_CUSTOM_DISPLAY_ATTRIB	"ColCustomDisplay"
///End FINDXY_OUTPUT_WKS_NEED_KEEP_SAME_FORMAT_WITH_SOURCE_X_COL
///Sophy 3/3/2010 QUICKFIT_REPORT_TO_WKS_SHOULD_APPLY_SIGNIFICANT_SETTINGS
#define	STR_COL_DIGITMODE_ATTRIB	"DigitMode"
#define	STR_COL_SIGNDIGITS_ATTRIB	"SignDigits"
///end QUICKFIT_REPORT_TO_WKS_SHOULD_APPLY_SIGNIFICANT_SETTINGS

#define STR_AUX_DISPLAY_INFO		"AuxDispInfo" //--- CPY 11/12/05 XF_RESULTS_LOG_DUMP_MORE_USFUL_INFO
/// SY 02/03/2006 QA70-8498 v8.0364 TEMPLATE_INFO_INTERNAL_ACCESS
#define STR_TEMPLATE_NODE			"Template"
#define STR_CATEGORY_NODE			"Category"
#define STR_NEW_CATEGORY_PREFIX		"NewCategory"
/// end TEMPLATE_INFO_INTERNAL_ACCESS

#define	STR_DISPLAY_NAME			"displayName"  //CPY 4/11/06

//---------------- CPY Yuri 5/9/2006 INPUT_DATA_USE_DATA_MODE_IN_DYNA_CONTROL
#define STR_INPUT_DATA_MODE_ATTRIB 	"DataMode"	/// Iris 1/26/06 QA70-8388 INDEP_DATA_CONSOLID_OR_SEP_REPORT
#define STR_SPECIALVALS_ATTRIB "SpecialValues"	///moved by CPY to here, EJP 12-16-2004 QA70-6721 ASCIMP_OPTIONS_USE_GETNBOX
//----------------

///Kyle 11/04/2009 QA80-14584 SCV_ADD_FITTING_FUNCTIONS, may need to define this in oc_const.h
#define STR_FIT_FUNC_PREFIX				"nlf_"
///End SCV_ADD_FITTING_FUNCTIONS


//----- CPY 10/23/2007 QA70-10577 COMBO_STR_STAY_AS_E_INTERNALLY_IN_DYNA_CNTRL
#define STR_OCNTRL_OPTNS	"OCntrlParam1"
enum {
	OCNTRLPARAM1_NOT_LOCALIZED	= 0x0001,
	///------ Folger 10/27/2010 ORG-27 NEW_DIGITIZER_GADGET
	OCNTRLPARAM1_SHOW_COMBO_AS_EDIT			= 0x0002,
	OCNTRLPARAM1_BROWSE_BUTTON_SELF_ENBALE	= 0x0004,
	///------ End NEW_DIGITIZER_GADGET
};
//----- end COMBO_STR_STAY_AS_E_INTERNALLY_IN_DYNA_CNTRL

///------ Folger 10/29/2010 ORG-27 NEW_DIGITIZER_GADGET
#define		OCNTRL_BROWSE_BUTTON_ENBALE		0x10000000
///------ End NEW_DIGITIZER_GADGET

/// YuI 04/02/07 DATA_MODE_MUST_BE_DISABLED_IN_CHANGE_PARAM
#define	STR_CHANGE_PARAM_ATTRIB		"ChangeParam"
/// end DATA_MODE_MUST_BE_DISABLED_IN_CHANGE_PARAM

/// Iris 3/21/2008 v8.0829 QA80-10934 ADD_EDITBOX_TO_SPECIFICATION_BOOK_SHEET_NAME
#define STR_DEFAULT_ATTRIB		"Default"
///end ADD_EDITBOX_TO_SPECIFICATION_BOOK_SHEET_NAME

#define STR_GROUP_BRANCH_ATTRIB	"GroupBranch" //--CPY 6/14/06 QA70-8739
#define STR_BRANCH_ENABLE_ATTRIB "BranchEnable"	/// SY 2006-09-28 v8.0490 QA70-8739 TREE_SIBLINGS_GRP_AS_CTRL_BRANCH
/// TD 12-30-2008 QA80-12883 ALWAYS_EXPANDED_BRANCH_IN_DYNACONTROL
enum
{
	BCA_NO_CLOSE	= 0x00000001,
	BCA_GROUPBOX	= 0x00000002, /// TD ML 01-18-2010 QA70-14900 WANTED_GROUPBOX_BRANCH_IN_DYNACONTROL
};
#define STR_BRANCH_CTRL_ATTRIBUTES	 "BranchCtrlAttributes"
/// end ALWAYS_EXPANDED_BRANCH_IN_DYNACONTROL
/// TD ML 01-18-2010 QA70-14900 WANTED_GROUPBOX_BRANCH_IN_DYNACONTROL
#define STR_BRANCH_GROUPBOX_ATTRIBUTES	 "GroupBoxAttributes"
/// end WANTED_GROUPBOX_BRANCH_IN_DYNACONTROL



/// YuI 12/08/06 QA70-9150 EXTENDED_GUI_FOR_INTERCATIVE_CONTROL
#define	STR_BRANCH_COMBO_DISABLE_ATTRIB	"BranchComboDisable"
/// end EXTENDED_GUI_FOR_INTERCATIVE_CONTROL

/// ML 1/13/2006 XVARIABLEBASE_TO_VC
#define STR_DATARANGE_UID_ATTRIB	"DataRangeUID" //CPY 10/20/04 SAVE_SEL_RANGE_TO_INPUT_DATA
#define	STR_XF_VAR_IO_ATTRIB		"_XF_VAR_IO"		///----Frank 11/18/05 move to XFunction.h
#define STR_XF_VAR_TYPE				"_XF_VAR_TYPE"		//---- CPY 1/27/2007  XF_RESULTS_LOG_OUTPUT_OPTIONS

#define	STR_HIDE_NODE_NAME_ATTRIB		"HideNodeName"		///----Frank 11/21/05 HIDE_NODE_NAME_OUTPUT_TO_STR
#define	STR_XF_VAR_TYPE_ATTRIB			"_XF_VAR_TYPE"
#define	STR_ACTION_OBJECT_ID_ATTRIB		"_ACTION_OBJECT_ID"/// YuI 04/26/06 FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL
/// TD 5-10-06 QA70-8664 DATASET_OBJECT_CLASS_IN_OC
//'|' separated strings representing tags to be filtered out from the list
#define	STR_ACTION_FILTER_TAGS		"ActionFilterTags"
//#define STR_DATASETOBJ_FITCURVE		"FitCurve"
#define STR_DATASETOBJ_FITCURVE		_LE("FitCurve") /// Hong 11/07/07 v.8.0742 FIX_ERROR_LOCALIZED
/// end DATASET_OBJECT_CLASS_IN_OC

/// YuI 05/26/06 NLSF_INPUT_DATA_EXPANDED_GUI
#define	STR_FITTER_WEIGHT_METHOD_ATTRIB	"WeightMethod"
#define	STR_FITTER_WEIGHT_A_ATTRIB		"Weight_A"
#define	STR_FITTER_WEIGHT_B_ATTRIB		"Weight_B"
#define	STR_FITTER_WEIGHT_C_ATTRIB		"Weight_C"
/// end NLSF_INPUT_DATA_EXPANDED_GUI

/// YuI 07/26/07 QA70-10074 FITTER_DATA_COMMON_EIGHT_APPLICATION
#define	STR_FITTER_DISABLE_WEIGHT_METHOD_ATTRIB		"DisableWeightMethod"
/// end FITTER_DATA_COMMON_EIGHT_APPLICATION

/// YuI 06/06/06 OPERATION_LOCK_TO_SUPPORT_PRIMARY_OUTPUT
#define	STR_CHECK_ATTRIB			"Check"
/// end OPERATION_LOCK_TO_SUPPORT_PRIMARY_OUTPUT

/// TD 9-2-06 QA70-9012 DYNACONTROL_MULTILINEEDIT_BUTTON
#define STR_MULTILINE_BUTTON_ID_ATTRIB	"Button_ID"
/// end DYNACONTROL_MULTILINEEDIT_BUTTON

///------ Folger 08/21/09 QA80-14174 SUPPROT_DYNA_RADIO_OPTIONAL_DISABLED
#define		STR_DISABLED_INDEX_START_ATTRIB		"DisabledIndexStart"
///------ End SUPPROT_DYNA_RADIO_OPTIONAL_DISABLED

/// YuI 04/08/08 QA70-11389 DOUBLE_XVAR_NAME_ASSIGNMENT_BROKEN
typedef enum tagSTRNUMERICEDITBOXKIND
{
	SNEBK_NUMERIC_ONLY = 1,
	SNEBK_NUMERIC_AND_GOOD_C_IDENTIFIER,
}	STRNUMERICEDITBOXKIND;
/// end DOUBLE_XVAR_NAME_ASSIGNMENT_BROKEN

#define STR_NUMERIC_EDITBOX_ATTRIB	"NumericEdit"  //------ CPY 4/2/2007 QA70-9562 NUMERIC_SET_FROM_TREE_IN_AUTO_SHOWING_EXTRA_1_IN_HIGH_DIGITS

#define	XVAR_TEMP_INFO_TAG			"RunTime"

#define XF_VARIABLE_ASSIGNMENT_STR	":="
/// end XVARIABLEBASE_TO_VC

/// TD ML 04-13-2010 QA85-15312 ICON_OVERLAYS_IN_GRIDCONTROL
#define STR_OVERLAY_ATTRIB			"IconOverlay"
/// end ICON_OVERLAYS_IN_GRIDCONTROL


enum {TREENODE_DATA_TYPE_NORMAL, TREENODE_DATA_TYPE_VECTOR,TREENODE_DATA_TYPE_MATRIX};  ///Iris 11/05/04

/// ML 6/17/2003 QA70-4678 MULTI_COLUMN_EDIT_PAGE
// attribute names and string format templates for multicolumn tree editor
#define		MC_TREE_EDT_COLUMN_NAMES	"MCCOLNAMES"	 
#define		MC_TREE_EDT_VALUE_FORMAT	"COL_%d_" 
#define		MC_TREE_EDT_TYPE_FORMAT		"COL_%d_type" 
/// end MULTI_COLUMN_EDIT_PAGE


/// RVD 3/31/2003 QA70-4164 v7.0549 CACHE_BRANCH_PROPERTY_BITS
#define		THEME_OBJECT_BITS_NAME		"Objects"
#define		THEME_PROPERTY_BITS_NAME	"Properies"
#define		THEME_COUNT_NAME			"Count"
/// end CACHE_BRANCH_PROPERTY_BITS
//#define WM_USER_RECONSTRUCT 		WM_USER + 408
#define WM_USER_ON_CHILD_KILL_FOCUS	(WM_USER + 405)
#define WM_USER_ON_CHILD_NEXT_CNTRL	(WM_USER + 406)
#define WM_USER_ON_SET_FOCUSTO_GRID	(WM_USER + 407)
#define WM_USER_RECONSTRUCT 		(WM_USER + 408)
#define WM_USER_ON_CONTROL_CHANGE 	(WM_USER + 409)
#define WM_USER_BUTTON_STATUS 		(WM_USER + 410) ///---Sim 06-22-2007 OPTION_TO_KEEP_BUTTON_STATUS_ON_EVENT
#define WM_USER_EXTERNAL_MSG 		(WM_USER + 411) ///---Sim 06-29-2007 SUPPORT_SENT_MESSAGE_FROM_EXTERNAL_WINDOW
/// ML 9/15/2003 DP_DELETE_ROWS_NOTIFICATION
// Special negative values of wParam for WM_USER_ON_CONTROL_CHANGE:  
enum {
	ONCTRLCHNG_DELETE_ROWS				= -10,
};
/// end DP_DELETE_ROWS_NOTIFICATION

#define WM_USER_OPEN_EDIT_DLG		(WM_USER + 410)
//------- end CENTRALIZED_TREE_NODE_DISPLAY_NAME

/// JCG 04/30/03 v7.0574 QA70-4355 ADD_NOTIFICATION_MSG_ON_TYPE_DESI_CHANGE
// WorksheetCtrl column message
#define WKSCTRL_EVENT_TYPE_CHANGE		(WM_USER + 411)
#define WKSCTRL_EVENT_DESI_CHANGE		(WM_USER + 412)
/// end ADD_NOTIFICATION_MSG_ON_TYPE_DESI_CHANGE
#define	WKSCTRL_EVENT_HEADER_TABLE_TREE_CHANGE	(WM_USER + 413)			/// ML 5/21/2003 QA70-4431 HEADER_TABLE_TREE_MODIFICATION_NOTIFICATION

#define WM_USER_REDRAW_GRAPH					(WM_USER + 415) //CPY 4/11/04 to redraw a graph conrol
#define WM_USER_ON_TRACK						(WM_USER + 417) //CPY 4/11/04, for slider thumb track 						

//------- CPY 7/5/06 QA70-8798 ON_OK_EVENT_TO_ALLOW_XF_HANDLING
// WPARAM = LPCSTR, if PostMessage, must provide as static to be available later
// WPARAM = NULL, then LPARAM as ID to a global message list
#define WM_USER_MSG_BOX			(WM_USER + 420)
#define WM_USER_MSG_ON_DLG		(WM_USER + 421)
//-------
#define WM_USER_RESIZE_CONTROLS	(WM_USER + 429)   //CPY 9/13/03 PLOT_SETUP_PANEL_RESIZE_FROM_INSIDE_GRID

/// YuI 7/22/04 v7.5102 QA70-6404 NEW_FUNCTION_MANAGER
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// this is vague message and meaning of it is application specific
// try to resue this message as much as possible
// this will help us to avoid introducing new messages for
// every minor thing
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#define WM_USER_ON_CONTENT_CHANGE	(WM_USER + 430)
/// end NEW_FUNCTION_MANAGER
/// TD 2-16-06 QA70-8490 PARENT_RESIZE_ON_EXPCOL
#define WM_USER_DYNACTRL_EXPAND_COLLAPSE 	(WM_USER + 431)

enum {OSC_ON_COLLAPSE_BRANCH, OSC_ON_EXPAND_BRANCH, OSC_ON_OTHER_CHANGES}; //---- CPY 3/17/06 DYNABOX_SIZE_CHANGING_ON_ANY_EDIT

/// end PARENT_RESIZE_ON_EXPCOL
/// TD 2-27-06 QA70-8491 SPLITTER_PANE_CONTROL_RGN
#define WM_USER_DYNACTRL_BUTTONGROUP_CLICKED 	(WM_USER + 432)
/// end SPLITTER_PANE_CONTROL_RGN
/// TD 5-26-06 QA70-8428 EDITBOX_WITH_BUTTON
enum
{
	// single line edit control
	DGC_BUTTON_PATH = 0x10,
	DGC_BUTTON_FILE,
	DGC_BUTTON_SAVEAS,
	DGC_BUTTON_GRAPH,
	DGC_BUTTON_REPORT,
	DGC_BUTTON_SHEET, /// Hong 06/29/07 v8.0644 XF_ARG_SUPPORT_SHEET_BROWSE
	DGC_BUTTON_COLUMN, ///Iris 03/25/2009 QA80-13295-P3 GOTO_DLG_SUPPORT_COL_BROWSER

	// put controls that need multiline edit below	 CPY 1/23/2007, GZ report Report and Reports both use multiline edit, so I move DGC_BUTTON_REPORT to be above
	DGC_BUTTON_FILES,
	DGC_BUTTON_GRAPHS,
	DGC_BUTTON_REPORTS, //---- CPY 1/10/2007 REPORT_BROWSER_FROM_JASMINE
	DGC_BUTTON_FILE_MULTISEL, /// EJP 2007-06-05 v8.0634 XF_ARG_SUPPORT_MULTISEL_FILE_DLG
	DGC_BUTTON_SHEETS, /// Hong 06/29/07 v8.0644 XF_ARG_SUPPORT_SHEET_BROWSE
	DGC_BUTTON_USER, /// TD 01-14-2009 QA80-12869 COMBO_AND_EDIT_WITH_BUTTON_USING_USER_EVENTS
	DGC_BUTTON_COLUMNS, ///Iris 03/25/2009 QA80-13295-P3 GOTO_DLG_SUPPORT_COL_BROWSER
	
	// CPY 1/23/2007 not sure why TD put this here, but ok, so we should just put all the useful id above this
	DGC_BUTTON_MLE, /// TD 9-2-06 QA70-9012 DYNACONTROL_MULTILINEEDIT_BUTTON

};
#define WM_USER_DYNACTRL_GENERIC_CONTROL_MSG 	(WM_USER + 433)
/// end EDITBOX_WITH_BUTTON
/// TD 6-5-06 QA70-8701 DDK_DIALOG_MSG_ON_HIDE_BAR
#define WM_USER_DIALOGBAR_SHOW 					(WM_USER + 434)
/// end DDK_DIALOG_MSG_ON_HIDE_BAR


/// TD 08-13-2007 SOME_DIALOGS_NEED_OPTION_TO_NOT_RESOLVE_ACTIVE_TO_CURRENT_SELECTION
#define WM_USER_DYNACONTROL_OPTIONS 					(WM_USER + 435)
// default is zero, not handled
enum
{
	DYNACONTROL_OPTION_RESOLVE_ACTIVE = 0x00000001,

};
/// end SOME_DIALOGS_NEED_OPTION_TO_NOT_RESOLVE_ACTIVE_TO_CURRENT_SELECTION
/// TD 09-04-2007 QA80-10342 EN_CHANGE_POST_UPDATE_MESSAGE
#define WM_USER_DYNACONTROL_EDITBOX_EDIT 					(WM_USER + 436)
/// end EN_CHANGE_POST_UPDATE_MESSAGE
///---Sim 11-12-2007 SUPPORT_AUTO_MECHANISM_AFTER_GUI_CHANGE_VALUE
#define WM_USER_AFTER_UPDATE_DYNACONTROL 					(WM_USER + 437)
///---END SUPPORT_AUTO_MECHANISM_AFTER_GUI_CHANGE_VALUE
///---Sim 12-18-2007 SPECIFY_ACTIVE_PAGE_AFTER_XF_WIZ_FINISH
#define WM_USER_NOTIFY_ACTIVE_PAGE		 					(WM_USER + 438)
///---END SPECIFY_ACTIVE_PAGE_AFTER_XF_WIZ_FINISH

//------ Folger 01/22/08 INDICATE_WHETHER_XF_EVENT_HANDLE_NEEDED
#define WM_USER_WIZ_DLG_XF_EVENT_HANDLE_NEEDED				(WM_USER + 439)
//------

///---Sim 03-14-2008 ALLOW_DESTROY_ATTACHED_PAGE
#define WM_USER_DESTROY_CREATED_PAGE		 				(WM_USER + 440)
///---END ALLOW_DESTROY_ATTACHED_PAGE

//------ Folger 12/11/08 QA80-12764 v8.0985 MODIFY_PEAKS_IN_PA_DURING_CHANGE_PARAMETER_MAKE_ORIGIN_LOCK
#define	WM_USER_IS_DIALOG_ROLLEDUP							(WM_USER + 441)
//------
/// TD 9-22-2009 QA80-14351 NEW_OC_DIALOG_MESSAGE_ON_CLICK_OUTSIDE_MODAL
#define	WM_USER_MODAL_CLICK_OUTSIDE							(WM_USER + 442)
/// end NEW_OC_DIALOG_MESSAGE_ON_CLICK_OUTSIDE_MODAL

/// TD 09-13-2007 QA80-10375 SUPPORT_USER_FONTS_IN_MULTILINE_DDK_RICHEDITS
#define WM_USER_USER_FONTS				 					(WM_USER + 132)
/// end SUPPORT_USER_FONTS_IN_MULTILINE_DDK_RICHEDITS

enum {LPARAM_RESIZE_CONTROLS_INCREASE, LPARAM_RESIZE_CONTROLS_DECREASE};
//--------- CPY 5/15/03 QA70-1390 SORT_STRING_DEFAULT_CASE_SENSITIVE_IS_WRONG
// please note that this SORT_ enum was changed on 4/18/03 for Origin 8
// in Origin 7 SR4 and earlier, it was SORT_ASCENDING = 0. The change was to make consistent with vectorbase sort
//enum {SORT_DESCENDING = 0, SORT_ASCENDING};  // AW 03/12/03 QA70-2336 v7.0534 SORT_METHODS_IN_WORKSHEET
// Also, in SR4, SORT_CASE_SENSITIVE was default, and in Origin8, we have changed to case insensitive as default for vector<string>

/**> Internal Origin Objects > DataSheet > Worksheet
	Controls for sorting method
*/
enum SORTOPTION {
	SORT_DESCENDING = 0, 
	SORT_ASCENDING,
	SORT_CASE_SENSITIVE = 4,
	SORT_NUMERIC_SUFFIX = 8   /// AW 06/07/05 QA80-7783 ADD_SORT_NUMERIC_SUFFIX 
}; 
//--------- end SORT_STRING_DEFAULT_CASE_SENSITIVE_IS_WRONG

//LY  3/13/2003 v7.0535 QA70-4059 OC_UTILITY_FUNCTION_EXPORT_IMG
//--------------------------------------------------------------------------
// The IL_FORMAT_ constants for for refering to an image format by value.
// There is a constant for all the formats Origin supports.
//--------------------------------------------------------------------------
#define IL_FORMAT_VECTOR	0x0100 // Flag used to mark a format as a vector format

#define IL_FORMAT_INVALID	0x0000

#define IL_FORMAT_AI		(0x0001 | IL_FORMAT_VECTOR)
#define IL_FORMAT_BMP		0x0002
#define IL_FORMAT_CGM		(0x0003 | IL_FORMAT_VECTOR)
#define IL_FORMAT_DXF		(0x0004 | IL_FORMAT_VECTOR)
#define IL_FORMAT_EMF		(0x0005 | IL_FORMAT_VECTOR)
#define IL_FORMAT_EPS		(0x0006 | IL_FORMAT_VECTOR)
#define IL_FORMAT_GIF		0x0007
#define IL_FORMAT_JPG		0x0008
#define IL_FORMAT_PCX		0x0009
#define IL_FORMAT_PCT		(0x000A | IL_FORMAT_VECTOR)
#define IL_FORMAT_PDF		(0x000B | IL_FORMAT_VECTOR)
#define IL_FORMAT_PNG		0x000C
#define IL_FORMAT_PSD		0x000D
#define IL_FORMAT_TGA		0x000E
#define IL_FORMAT_TIF		0x000F
#define IL_FORMAT_WMF		(0x0010 | IL_FORMAT_VECTOR)
#define IL_FORMAT_XPM		0x0011
#define IL_FORMAT_XWD		0x0012
#define IL_FORMAT_FAX		0x0013			
//end OC_UTILITY_FUNCTION_EXPORT_IMG


///---- CPY 3/13/03 Theme related
/// ML 4/21/2006 QA70-8634 USING_TAGNAMES_INSTEAD_OF_DATAIDS_IN_SOME_CASES
//#define THEME_SUB_FOLDER	"Themes"
//#define THEME_FILE_EXT				"oth"
//#define ANALYSIS_THEME_FILE_EXT		"ois"
//
//#define MENU_THEME_FILE_EXT			"omc"	///DSC 7/6/05 QA70-7869 MENU_THEME
/// end USING_TAGNAMES_INSTEAD_OF_DATAIDS_IN_SOME_CASES

//--- CPY 2/26/05 SYS_THEME_FOR_EACH_TYPE
// the following are changed in Origin8 to be using a separation section in theme file
// following info is still needed when upgrading from earlier version
//	#define THEME_INI_SECTION	"Display"
//	#define THEME_INI_ITEM		"SysTheme"

#define THEME_SYSTEM_THEME_INI_SECTION	"System Themes"
#define THEME_INI_ITEM_WKS				"WksNewSheet"
#define THEME_INI_ITEM_GRAPH			"GraphNewGraph"
/// RVD 4/7/2006 QA70-8609 v8.0387 TABLE_GRID_BORDERS
#define THEME_INI_ITEM_TABLE			"WksNewTable"
/// end TABLE_GRID_BORDERS

//--- end SYS_THEME_FOR_EACH_TYPE

//#define THEME_INI_ITEM_PATH	"Path"		///Danice MARK_SYSTEM_THEME_WITH_NAME_AND_PATH
#define THEME_INI_ITEM_PATH	"SysThemePath"	///DSC 
//-----

/// RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME
#define	_OKEventMsgMap			OKEventMessageMap
#define	_OKEventMsgMapName		"OKEventMessageMap"
#define	_OKEventMsgMapFile		"OriginEvents.c"

/// YuI 7/14/03 v7.0624 QA70-4700 GENERIC_OGS_BASED_EVENT_HANDLING
// moved to new file oEvents.h
/*
typedef enum
{
	OE_CREATE_NEW_GRAPH_PAGE_ADD_DATA,	// fires after create new graph page and add data
	OE_AFTER_LOAD_FROM_TEMPLATE,		// fires after loading from template
}	ORIGINEVENT;
*/
/// end GENERIC_OGS_BASED_EVENT_HANDLING
/// end SYSTEM_THEME

/// ML 3/23/2003 QA70-4113 INITIALIZING_VECTOR_FROM_COLUMN_FOR_WRITEBACK
enum {
	WRITEBACK_NO = 0,
	WRITEBACK_NO_RESIZE = 0x1,
	WRITEBACK_INSERT_ON_EXPAND = 0x2,
	WRITEBACK_DELETE_ON_SHRINK = 0x8,
};
/// end INITIALIZING_VECTOR_FROM_COLUMN_FOR_WRITEBACK

/// RVD 10/4/2002 QA70-4155 v7.0547 OPERATION_TREE_METHODS
#define		TREE_Range			"RANGE"
#define		TREE_r1				"R1"
#define		TREE_r2				"R2"
#define		TREE_c1				"C1"
#define		TREE_c2				"C2"
#define		TREE_Data			"DATA"
#define		TREE_Wks			"WKS"
/// end OPERATION_TREE_METHODS


/// ML 5/24/2003 QA70-4517 TYPE_WKS_MULTIPLE_REPEAT_COLUMNS
#define		REPEAT_COLUMNS_PREFIX		"FixedC"
/// end TYPE_WKS_MULTIPLE_REPEAT_COLUMNS


/// RVD 5/8/2003 QA70-4410 v7.0580 STORAGE_PRINT_SETTINGS
#define		TREE_Auto			"AUTO"
#define		TREE_DPI			"DPI"
#define		TREE_NumberOfCopies	"NUMBEROFCOPIES"
#define		TREE_PaperSource	"PAPERSOURCE"
#define		TREE_PrinterName	"PRINTERNAME"
#define		TREE_Printing		"PRINTING"
/// end STORAGE_PRINT_SETTINGS

/// RVD 5/20/2003 QA70-4230 v7.0588 REPORT_TREE_EDIT
#define		TREE_Content		"CONTENT"
#define		TREE_Exporting		"EXPORTING"
#define		TREE_Graph			"GRAPH"
#define		TREE_Mode			"MODE"
#define		TREE_Name			"NAME"
#define		TREE_Note			"NOTE"
#define		TREE_Output			"OUTPUT"
#define		TREE_Print			"PRINT"
#define		TREE_Report			"REPORT"
#define		TREE_Reporting		"REPORTING"
#define		TREE_Settings		"SETTINGS"
/// end REPORT_TREE_EDIT

/// RVD 10/16/2003 QA70-5367 v7.5721 NEW_WORKBOOK
#define		TREE_UID			"UID"
#define		TREE_Table			"TABLE"
#define		TREE_Style			"STYLE"
#define		TREE_Footer			"FOOTER"
#define 	TREE_Header 		"HEADER"
#define		TREE_RowHeaderStyle	"ROWHEADERSTYLE"
#define		TREE_ColHeaderStyle	"COLHEADERSTYLE"
/// end NEW_WORKBOOK
/// RVD 2/17/2006 QA70-8359 TABLE_FOOTNOTE
#define		TREE_Footnote		"FOOTNOTE"
/// ML 4/11/2007 QA70-9152 WRONG_VECTOR_TYPE_VARIABLE_CREATED
#define		TREE_comboStr		"comboString"
/// end WRONG_VECTOR_TYPE_VARIABLE_CREATED
/// end TABLE_FOOTNOTE

/// YuI 03/23/09 QA70-12160 XYRANGE_XERROR_SUPPORT
#define		TREE_optionString						"optionString"
/// end XYRANGE_XERROR_SUPPORT

/// RVD 9/21/2005 QA70-8105 v8.0310 REPLACE_REPORT_COMPLETELY
#define		TREE_REPLACE		"REPLACE"
/// end REPLACE_REPORT_COMPLETELY

/// RVD 4/21/2004 QA70-6301 v7.5861 NEW_WORKBOOK_CNTRLS
#define		TREE_Key			"KEY"
#define		TREE_CmdTarget		"CMDTARGET"
#define		TREE_Control		"CONTROL"
#define		TREE_AttachGraphCntrl	"AttachGraphCntrl"	//----- CPY 9/21/06 REPORT_TREE_NEED_SPARKLINES_SUPPORT
/// end NEW_WORKBOOK_CNTRLS
/// TD 9-12-05 QA70-7403 CODEBUILDER_XFN_INTERACTION_TO_VC
#define TREE_name	"name"
#define TREE_return "rettype"
#define TREE_XFNAME "XFname" 
#define TREE_codes	"codes"

/// ML 8/17/2007 QA70-10244 READING_AND_WRITING__MULTIBYTE_STRINGS_IN_XML_TREES_PROPERLY
#define		TREE_CodePage			"CdPg"
/// end READING_AND_WRITING__MULTIBYTE_STRINGS_IN_XML_TREES_PROPERLY

 

#define	XFUNCTION_EVENT_BASE_NAME	"event"
#define STR_XF_FILE_FOLDER			"X-Functions"
/// end CODEBUILDER_XFN_INTERACTION_TO_VC

/// DSC 10/28/2005 SUPPORT_ORIGIN_PATH_UNDEF
#define STR_FDF_FILE_FOLDER				"fitfunc"
#define STR_FDF_FILE_FOLDER_BACKSLASH	"fitfunc\\"
#define STR_FDF_FILE_EXT				".fdf"
/// end SUPPORT_ORIGIN_PATH_UNDEF


/// YuI 05/02/07 QA80-9715 DEFAULT_NAMES_FOR_XFUNCTION_OUTPUTS
#define	TREE_description	"description"
/// end DEFAULT_NAMES_FOR_XFUNCTION_OUTPUTS

/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
#define	TREE_type		"type"
#define	TREE_vars		"vars"
#define	TREE_valdata	"valdata"
/// ML 4/28/2005 XFT_GETTING_IO
#define	TREE_io			"io"
/// end XFT_GETTING_IO
/// end XFUNCTION_ANCHORS

//---------- CPY 2/13/04 2/16/04 O8_OPERATION_REDO_USING_NEW_WORKBOOK 
// flags for GETN_OPTION_BRANCH
/** > User Interface Controls > GetN
*/
enum GETNOPTION
{
	GETNBRANCH_OPEN						= 0x0001,
	GETNBRANCH_KEEP_SIZE_ON_COLLAPSE	= 0x0002,
	GETNBRANCH_KEEP_SIZE_ON_EXPAND		= 0x0004,
	GETNBRANCH_TRANSPOSE				= 0x0008,
	GETNBRANCH_HIDE_COL_HEADINGS		= 0x0010,
	GETNBRANCH_HIDE_ROW_HEADINGS		= 0x0020,
	GETNBRANCH_RESIZE					= 0x0040,
	GETNBRANCH_HIDE_COL_LABELS			= 0x0080,
	GETNBRANCH_HIDE_ROW_LABELS			= 0x0100,
	GETNBRANCH_FIT_COL_WIDTH			= 0x0200,
	GETNBRANCH_FIT_ROW_HEIGHT			= 0x0400,
	GETNBRANCH_SAVE_SETTINGS			= 0x0800,	///Danice 	GETNTREE_AUTO_LOAD_DEFAULT
	//GETNBRANCH_COPY_SETTINGS			= 0x1000,	///Frank	GETNTREE_CONTEXT_MENU_MORE_SETTING	///Danice COMBINE_TREEEDIT_SAVE_AND_COPY_SETTING
	GETNBRANCH_ROW1_LABEL_OFFSET		= 0x1000,//CPY 7/15/04, SetReportTree, row lable 1st use as offset to place values into wks
	//GETNBRANCH_TABLE					= 0x2000,   ///Iris 9/13/04 ///Iris 11/11/04, no need this now
	GETNBRANCH_WRITABLE					= 0x2000,	/// ML 11/23/2004 QA70-6845 LINKS_CLIPBOARD_WORK
	
	
	GETNBRANCH_ROW_HEADINGS_SPECIAL		= 0x4000, //CPY 12/21/04 TURN_ON_ROW_INDEX_HIER_GRID
	GETNBRANCH_CHANGE_LABEL_TYPES_IN_FLAT	= 0x8000, /// ML 9/22/2005 QA70-8121 TREE_FLATTENING_IN_FLAT_SHEETS
	/// RVD 2/17/2006 QA70-8359 TABLE_FOOTNOTE
	GETNBRANCH_HIDE_CLIENT_EDGE			= 0x00010000,
	GETNBRANCH_SHOW_FRAME				= 0x00020000,
	/// end TABLE_FOOTNOTE
	/// ML 8/28/2006 OPTIONALLY_ALLOWING_ROW_LABELS_IN_FLAT_REPORT
	GETNBRANCH_PERMIT_ROW_LBLS_IN_FLAT	= 0x00040000,
	/// end OPTIONALLY_ALLOWING_ROW_LABELS_IN_FLAT_REPORT
	
	GETNBRANCH_CHECK_CONTROL				= 0x00080000,  /// TD 11-07-07 CHECK_UNCHECK_ALL
	GETNBRANCH_CHECK_CONTROL_NONRECURSIVE	= 0x00100000, /// TD 1-19-06 QA70-9100 CHECK_UNCHECK_ALL_NONRECURSIVE_MODE
	GETNBRANCH_CHECK_CONTROL_ONE_EVENT		= 0x00200000, //SY 2007-05-16 QA70-9786 v8.0620	CHECK_UNCHECK_ALL_SPEEDUP
	GETNBRANCH_CHECK_CONTROL_SUB_BRANCH		= 0x00400000, /// TD 1-14-08 QA70-9100 CHECK_UNCHECK_ALL_NONRECURSIVE_MODE
	GETNBRANCH_NEXT_ITEM //CPY, OC bug, last item in enum cannot have comma, so add one junk item here
};
//---------- end O8_OPERATION_REDO_USING_NEW_WORKBOOK

//-------- CPY 6/15/06 INSERT_TABLE_TO_GRAPH_OC_CONTROL_NO_FIRE_EVENT
enum CLTBLOPTION
{
	CLTBL_NO_FIRE_EVENT = 0x0001,
	CLTBL_NO_AUTO_SIZE	= 0x0002,
	CLTBL_CURRENT_POS	= 0x0004,	/// ML 8/3/2010 ORG-700 ADDING_TABLEOBJ_VIA_CONTEXTMENU_OUGHT_TO_RESPECT_CLICKED_POSITION
};
//--------

//--- CPY 6/24/04 WKBOOK_AUTO_SIZE_DWORD
// DWORD bits for Layer AutoSize
enum {
	WAZ_MARGIN_SMALL = 0x01,
	WAZ_MARGIN_MIDIUM,
	WAZ_MARGIN_LARGE,
	WAZ_MARGIN_BITS = 0x03,

WAZ_LAST_ITEM };
//--- end WKBOOK_AUTO_SIZE_DWORD

//////////////////////////////////////////////////////////////////////////
//////////////////////////// Message Map related /////////////////////////
//////////////////////////////////////////////////////////////////////////
// Argument Types used for declaring function prototype for Message Map
#define		VTS_VOID			""
#define		VTS_I2              "\x02"      // a 'short'
#define		VTS_I4              "\x03"      // a 'long'	DWORD, LPARAM, WPARAM etc
#define		VTS_R4              "\x04"      // a 'float'
#define		VTS_R8              "\x05"      // a 'double'
#define		VTS_BOOL            "\x0B"      // a 'BOOL'
#define		VTS_BSTR            "\x0E"		// an 'LPCSTR'
// Pointers
#define		VTS_PI2             "\x42"      // a 'short*'
#define		VTS_PI4             "\x43"      // a 'long*'
#define		VTS_PR4             "\x44"      // a 'float*'
#define		VTS_PR8             "\x45"      // a 'double*'
#define		VTS_PDATE           "\x47"      // a 'DATE*'
#define		VTS_PBSTR           "\x48"      // a 'BSTR*'
#define		VTS_PBOOL           "\x4B"      // a 'VARIANT_BOOL*'
#define		VTS_PVARIANT        "\x4C"      // a 'VARIANT*'
//Refernces
#define		VTS_RI2             "\x22"      // a 'short*'
#define		VTS_RI4             "\x23"      // a 'long*'
#define		VTS_RR4             "\x24"      // a 'float*'
#define		VTS_RR8             "\x25"      // a 'double*'
#define		VTS_RDATE           "\x27"      // a 'DATE*'
#define		VTS_RBSTR           "\x28"      // a 'BSTR*'
#define		VTS_RBOOL           "\x2B"      // a 'VARIANT_BOOL*'
#define		VTS_RVARIANT        "\x2C"      // a 'VARIANT*'
#define		VTS_PDISPATCH       "\x49"      // an 'IDispatch**'

#define		VTS_STR             VTS_BSTR
// Special Types 
// "Ox1_"	is Origin Object 
// "Ox3_"	is Refrence to "0x1_"     
// "Ox5_"	is Pointer to "0x1_"     
#define		VTS_CTRL			"\x10"
#define		VTS_ORIGINOBJ		"\x11"		// origin object /// RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME
#define		VTS_RORIGINOBJ		"\x31"		// origin object /// RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME
/// TD 9-8-03 QA70-NOTRACKER OCMSG_ON_RESIZE_BY_INI
#define		VTS_RECT			"\x12"		// origin object /// RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME
#define		VTS_RRECT			"\x32"		// origin object /// RVD 3/17/2003 QA70-3855 v7.0539 SYSTEM_THEME
/// end OCMSG_ON_RESIZE_BY_INI

#define		MHO_NONE				0x00000000
#define		MHO_BEFORE				0x00000001
#define		MHO_DIRECT				MHO_BEFORE
#define		MHO_AFTER				0x00000002
#define		MHO_OGS					MHO_AFTER
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////


/// RVD 4/14/2003 QA70-4259 v7.0561 IGNORE_SYSTEM_THEME_FLAG
// moved from graphic.h - comments stripped
typedef enum tagPAGECNTRL
{
	PPDWCNTRL_MATRIX_VIEW_IMAGE			= 0x00000001,
	PPDWCNTRL_MATRIX_SHOW_XY			= 0x00000002,
	PPDWCNTRL_DRAW_SEPARATED_LAYERS		= 0x00000004,
	PPDWCNTRL_SAVED_AS_EMBEDDING		= 0x00000008,
	PPDWCNTRL_IGNORE_SYSTEM_THEME		= 0x00000010,
	PPDWCNTRL_MULTI_LEGEND				= 0x00000020,	/// RVD 8/7/2003 QA70-4971 v7.0649 MULTI_LEGEND_AUTOUPDATE
	PPDWCNTRL_LEGEND_NO_UNITS			= 0x00000040, //CPY 8/12/04 QA70-6759 v8.0116 PAGE_LEGNED_TAB_OPTIONS_FOR_UNITS
	PPDWCNTRL_AXES_TITLE_ADD_UNITS		= 0x00000080, //CPY 8/12/04 QA70-6759 v8.0116 PAGE_LEGNED_TAB_OPTIONS_FOR_UNITS
	PPDWCNTRL_COMMENTS_ON_Y_TITLE		= 0x00000100, //---- CPY 11/18/2006 QA70-9136 LEGEND_LONG_NAME_AND_Y_TITLE_COMMENTS
	PPDWCNTRL_FULL_SCREEN_IGNORE_ASPECT	= 0x00000200,	/// RVD 7/17/2009 QA70-13837 FULL_SCREEN_VIEW_KEEP_ASPECT_RATIO_OPTION
	PPDWCNTRL_MATRIX_VIEW_THUMBNAILS	= 0x00000400, //---- CPY 6/1/10 ORG-138-P2 IMAGE_THUMBNAIL_SHOW_STATE_IN_PAGE
	///------ Folger 07/21/10 ORG-52 BETTER_SPACES_ARRANGEMENT_FOR_COLUMN_BAR_PLOT
	PPDWCNTRL_DATAPLOTS_ACROSS_LAYERS	= 0x00000800,
	///------ End BETTER_SPACES_ARRANGEMENT_FOR_COLUMN_BAR_PLOT
}	PAGECNTRL;
/// end IGNORE_SYSTEM_THEME_FLAG

//-------- CPY 4/20/03 QA70-4278 v7.0565 WKS_HEADER_REGION_CHANGE_PARAM_BUTTON
#define IDD_WKS_MAT_HEADER_DIALOG_BAR		1181 // defined in helpid.h as well, needs to be consistent
#define IDC_WKS_HEADER						0x9F10 // this is a resource const in OUserRes.h
//-------- end WKS_HEADER_REGION_CHANGE_PARAM_BUTTON

/// YuI 4/21/03 qa70-4273 v7.0565 ADDITIONAL_INFO_INTO_OPERATION_CLASS
typedef enum tagDIALOGINFOBARCNTRL
{
	DBAR_TOP, 
	DBAR_LEFT, 
	DBAR_BOTTOM, 
	DBAR_RIGHT, 
	DBAR_FLOAT, 
	DBAR_TYPES,
	DBAR_NONE = DBAR_TYPES,
}	DIALOGINFOBARCNTRL;
/// end ADDITIONAL_INFO_INTO_OPERATION_CLASS

//---- CPY 5/8/03 QA70-4371
// numeric values are taklen from APTFN_USE_PROG_DIR etc.
// and APTFN_USE_PROG_DIR are redefined to refer to these constants
typedef enum tagOPATH_SEARCH
{
	OPATH_INI_THEN_EXE	= 3,
	OPATH_INI			= 2,
	OPATH_EXE			= 1,
	OPATH_EXE_THEN_INI	= 4,
	OPATH_LOCAL_EXE		= 5,  ///DSC 6/26/03 QA70-1527 CLIENT_ORIGIN_WITH_EXE_ON_CLIENT_SIDE
	OPATH_GROUP			= 6,  ///DSC 1/26/05 QA70-7301 v8.0187 ADD_GROUP_FOLDER_TO_SEARCH
	OPATH_LOCALIZED		= 7,  ///DSC 8/17/07 QA70-10217 CENTRALIZE_ATTACH_PATH_CODES
	OPATH_GROUP_THEN_INI, //------ CPY 9/17/2007 QA70-10384 GROUP_FILE_SHARING_FOR_CONCURRENT_ONLY

	OPATH_GROUP_THEN_EXE, //------- CPY 9/25/2007 QA70-8261 READ_FLEXLM_SERVER_PORT_GROUP_SUPPORT
	OPATH_SERVER_GROUP_FOLDER, //------ CPY 9/22/2007 QA70-10384 CODE_CLEANUP_SEPARATE_UNC_AND_LOCAL_PATH
	///------ Folger 08/12/09 QA80-14130 NEW_UFF2_AS_SYSTEM_TEMP_NEEDED
	OPATH_SYSTMP,
	OPATH_GROUP_THEN_SYSTMP,
	///------ End NEW_UFF2_AS_SYSTEM_TEMP_NEEDED
} OPATH_SEARCH;
//----
//----- CPY 8/14/2007 QA70-10219 TEMPLATE_SEARCH_USER_GROUP_EXE
#define OPATH_MASK					0x000F
#define OPATH_CHK_LANG_LOCAL		0x4000
#define OPATH_CHK_E_LOCAL_IF_NOT_FOUND	0x8000
//-----
/// TD 11-17-05 QA70-7835 ORIGIN_PATH_PROJECT_INSERTED
/////DSC 2/15/05 QA70-7301 v8.0193 ADD_OC_FUNCTION_GET_ORIGIN_PATH
//typedef enum tagORIGIN_PATH_TYPE
//{
//	ORIGIN_PATH_UNDEF=-1,
//	ORIGIN_PATH_USER,
//	ORIGIN_PATH_GROUP,
//	ORIGIN_PATH_SYSTEM,
//	ORIGIN_PATH_PREFER_USER, ///DSC 10/11/2005 QA70-8167 FIND_FILES_FROM_SPECIFIED_LOCATION
//}  ORIGIN_PATH_TYPE;
////CPY 2/24/05 moved out of enum and replacd as macros ORIGIN_PATH_TYPE_START
//#define ORIGIN_PATH_TYPE_START 	ORIGIN_PATH_USER
//#define ORIGIN_PATH_TYPE_END	ORIGIN_PATH_SYSTEM
/////end ADD_OC_FUNCTION_GET_ORIGIN_PATH
typedef enum tagORIGIN_PATH_TYPE
{
	ORIGIN_PATH_UNDEF=-1,

	ORIGIN_PATH_TYPE_START,

	ORIGIN_PATH_PROJECT = ORIGIN_PATH_TYPE_START,
	ORIGIN_PATH_CUSTOM, //--- CPY DSC 2/23/06 8.50369 QA70-8462 ADD_ORIGIN_PATH_CUSTOM
	ORIGIN_PATH_USER,
	ORIGIN_PATH_GROUP,
	ORIGIN_PATH_SYSTEM,
	//-------- CPY 9/28/2007 path type start to end are supported locations inside Origin for support files
	ORIGIN_PATH_TYPE_END = ORIGIN_PATH_SYSTEM,

	//--------CPY 9/28/2007 here start other special folder/path types

	ORIGIN_PATH_PREFER_USER, ///DSC 10/11/2005 QA70-8167 FIND_FILES_FROM_SPECIFIED_LOCATION
	ORIGIN_PATH_SERVER_GROUP_FOLDER, //------ CPY 9/22/2007 QA70-10384 CODE_CLEANUP_SEPARATE_UNC_AND_LOCAL_PATH
	ORIGIN_PATH_SYSTMP,			///------ Folger 08/12/09 QA80-14130 NEW_UFF2_AS_SYSTEM_TEMP_NEEDED

	ORIGIN_PATH_LIC, //---- CPY 8/24/09 QA70-14184 FLEXLM_FOLDER_SHOULD_BE_IN_ALL_USERS_APP_DATA
}  ORIGIN_PATH_TYPE;
/// end ORIGIN_PATH_PROJECT_INSERTED

///------ Folger 10/13/09 QA80-14393-P1 GROUP_CLIENT_FAILS_TO_STARTUP_AFTER_SETTING_GROUP_LEADER_IN_81
// //---- CPY 8/24/09 QA70-14184 FLEXLM_FOLDER_SHOULD_BE_IN_ALL_USERS_APP_DATA
// #ifdef __LIC_FOLDER_IN_APPDATA__
// 	#define ORIGIN_PATH_FLEXLM	ORIGIN_PATH_LIC
// #else
// 	#define ORIGIN_PATH_FLEXLM	ORIGIN_PATH_SYSTEM
// #endif
// //----
///------ End GROUP_CLIENT_FAILS_TO_STARTUP_AFTER_SETTING_GROUP_LEADER_IN_81

///DSC 10/11/2005 QA70-8167 FIND_FILES_FROM_SPECIFIED_LOCATION 
#define FF_UPDATE_MAP			0x0001
//#define FF_REMOVE_DUPLICATE		0x0002 ///see ORIGIN_PATH_PREFER_USER
#define FF_GET_VERSION_INSTEAD_OF_DATE  0x0002	// 
#define FF_USE_C_NAMES			0x0004
#define FF_CATEGORY_LIST		0x0008
///DSC 7/7/2005 QA70-7877 COMPOSITE_NAME_DISPLAY_OPTION
//#define FF_SHOW_CATEGORY		0x0 //0x0010
//#define FF_SHOW_PATH		    0x0 //0x0020
#define FF_REMOVE_CATEGORY		0x0010
#define FF_REMOVE_PATH		    0x0020
#define FF_ADD_EXT				0x0040 //CPY 8/23/05
#define FF_ADD_DESCRIPTION		0x0080 ///DSC 3/6/06 MAKE_TREE_FROM_MAP
#define FF_HIDE_USER_PATH		0x1000 //--- CPY SY 2007-05-07 v8.0614 REMOVE_USER_PATH_FROM_COMPOSITE_NAME 

///end FIND_FILES_FROM_SPECIFIED_LOCATION


/// YuI 5/08/03 v7.0580 QA70-4371 OPERATION_GUI_EXPANSION
typedef	enum	tagOPERATIONRESULTINDICATOR
{
	ORI_NONE,
	ORI_WORKSHEET,
	ORI_COLUMN,
}	OPERATIONRESULTINDICATOR;
/// end OPERATION_GUI_EXPANSION


/// ML 5/17/2003 QA70-4493 TEMPORARY_CURVE_CONSTRUCTOR_WITH_MISSING_VALUES_REMOVAL
enum {
	CURVECOPY_SCAN_OVER_MISSING_FROM_LEFT	= 0x00000001,   // if on, it will scan from the left (see the parameter nLower) until it finds the first nonmissing value
	CURVECOPY_SCAN_OVER_MISSING_FROM_RIGHT	= 0x00000002,   // if on, it will scan back from the right (see the parameter nUpper) until it finds the first nonmissing value
	CURVECOPY_SKIP_MISSING_INSIDE			= 0x00000004,   // if on, it will not copy any missing values found in the middle
	CURVECOPY_REPLACE_MISSING_INSIDE		= 0x00000008,   // if on, any missing values in the middle will be replaced with the average of neighboring points (not used if the bit CURVECOPY_SKIP_MISSING_INSIDE  is on)
};
/// end TEMPORARY_CURVE_CONSTRUCTOR_WITH_MISSING_VALUES_REMOVAL

typedef enum tagOPTIONALMESSAGEBOXRETURN
{
	OM_RETURN_NOT_PRESENT		= -1,
	OM_RETURN_YNC_CANCEL		= 2,
	OM_RETURN_OK				= 1,
	OM_RETURN_CANCEL			= 0,
	OM_RETURN_YES				= OM_RETURN_OK,
	OM_RETURN_NO				= OM_RETURN_CANCEL,
}	OPTIONALMESSAGEBOXRETURN;

///	end DELETE_OPERATION_WITH_WKS_OPTION

typedef enum tagANALYSISERROR
{
	ERROR_NO_ERROR,
	ERROR_INVALID_CURVE,
	ERROR_INVALID_TREENODE,
	ERROR_TO_FEW_PTS,
	ERROR_UNEQUAL_N,
	ERROR_X_RANGE,
	ERROR_SETTINGS
}	ANALYSISERROR;


/// RVD 6/11/2003 QA70-4627 v7.0601 LAST_DEPENDENT_COLUMN_OFFSET
typedef enum
{
	DOO_LEFT		= 0x10000000,		// left offset
	DOO_ERRORBAR	= 0x00010000,		// errorbars
	DOO_MODIFIER	= 0x00020000,		// modifiers
	DOO_TYPE_MASK	= 0x000F0000,		// type mask
}	DEPENDENTOBJOFFSET;
/// end LAST_DEPENDENT_COLUMN_OFFSET

/// SY 06-16-2003 QA70-4469 v7.0603 ADD_TITLESHOW_PROPERTY_FOR_PAGE
// Move from orgdll.h - comments stripped
#define	WIN_TITLE_AUTO			0
#define	WIN_TITLE_SHOW_LABEL	1
#define	WIN_TITLE_SHOW_NAME		2
#define	WIN_TITLE_SHOW_BOTH		3
#define WIN_TITLE_SHOW_AUTO		WIN_TITLE_SHOW_NAME
/// end ADD_TITLESHOW_PROPERTY_FOR_PAGE

/// RVD 6/13/2003 QA70-4650 v7.0601 OBJECT_PROPERTY_ACCESS
// moved from okconst.h
typedef enum tagAXISOBJECT
{
	AXISOBJPOS_MINOR_GRID = 0,		// 0
	AXISOBJPOS_MAJOR_GRID,			// 1
	AXISOBJPOS_LABEL_FIRST,			// 2
	AXISOBJPOS_AXIS_FIRST,			// 3
	AXISOBJPOS_LABEL_SECOND,		// 4
	AXISOBJPOS_AXIS_SECOND,			// 5

	AXISOBJ_TOTAL_NUM,
}	AXISOBJECT;

typedef enum
{
	XAXIS = 0,
	YAXIS,
	ZAXIS,
}	AXES;
/// end OBJECT_PROPERTY_ACCESS

/// SY 07-23-2003 v7.0631 QA70-4858 ASCII_EXPORT_FROM_OC
#define WKS_EXPORT_HEADING	0x0001	// col name
#define WKS_EXPORT_ALL		0x0002	// ignore c1c2r1r2
#define WKS_EXPORT_LABELS	0x0004	// col label
#define WKS_EXPORT_SELECTED 0x0008	// only selected cols
#define WKS_EXPORT_MISSING_AS_BLANK 0x0010 // missing values will be exported as "", default is "--"
/// end ASCII_EXPORT_FROM_OC

///Kyle 10/15/2009 QA80-14475 OC_WORKSHEET_ADD_DELETE_ROWS_METHOD
typedef enum tagWKSDELROWSCTRL
{
	WDR_INPUT_SORTED_ASC	= 0x0001, // input array has been sorted ascending which will del from end
	WDR_NO_SHOW_STATUS		= 0x0002, // default will show progress row index on status
	WDR_USE_SELECTIONS		= 0x0010, // this is the only way to support undo and styles, but much slower
	WDR_UNDO				= OCD_UNDO,	//0x01000000  must use together with WDR_USE_SELECTIONS

} WKSDELROWSCTRL;


///End OC_WORKSHEET_ADD_DELETE_ROWS_METHOD

/// RVD 7/25/2003 v7.0633 PAGE_VIEWMODE_FROM_OC
// moved from okconst.h
///Page View Mode
#define	OKPAGEVIEWMOVE_PREVIEW	0
#define	OKPAGEVIEWMOVE_PAGE		1
#define	OKPAGEVIEWMOVE_WINDOW	2
#define	OKPAGEVIEWMOVE_DRAFT	3
/// end PAGE_VIEWMODE_FROM_OC


///CPY 07/20/03 moved from okconst.h,original from IV 02/25/99 t5413 DATA_OK_TO_GROUP
#define GOGT_NORMAL	  0x0001
#define GOGT_NEVER	  0x0002
#define GOGT_ALWAYS	  0x0003
///end DATA_OK_TO_GROUP

/// YuI 8/4/03 v7.0644 QA70-4963 SAVE_AS_PROJECT_METHOD_TO_FOLDER_CLASS
typedef enum tagSAVEFOLDERCTRL
{
	SFC_INCLUDE_SUBFOLDERS		=	0x00000001,
	SFC_INCLUDE_ATTACHED_FILES	=	0x00000002,
}	SAVEFOLDERCTRL;
/// end SAVE_AS_PROJECT_METHOD_TO_FOLDER_CLASS

//--- CPY 9/4/03 v7.5684 USE_NULL_TREE_TO_CHECK_PLOT_DESIGNATION
// return values from MakeDataplotsTree
enum {
  MDPT_SUCCESS = 0, 
  MDPT_INCOMPLETE,  // column designations are not finished for the specified plot type. typically when X or Y is missing 
  MDPT_WRONG_ORDER // Example: for bubble plots the column that determines the size of symbols must be after the y-column. 
};
//----

/// YuI 10/22/03 v7.5728 QA70-5409 SET_RANGE_SHOULD_SUPPORT_AUTORANGE
enum
{	
	SETRANGE_FULL		= -1,
	SETRANGE_UNCHANGED	= -2,
};
/// end SET_RANGE_SHOULD_SUPPORT_AUTORANGE
//----- CPY 12/19/06 GET_OBJ_TYPE_ID_FROM_OC
/*
/// YuI 12/18/03 v7.5785 QA70-5737 OC_GRAPH_OBJECT_DERIVATION
typedef	enum tagGRAPHOBJECTTYPE
{
	GROT_TEXT,
	GROT_POLYLINE,
	/// RVD 3/15/2005 QA70-7591 v8.0218 CREATE_SET_GROBJ_FROM_OC
	GROT_BEZIER,
	GROT_LINE,
	GROT_LINE4,
	GROT_SPECTRUM,
	GROT_IMAGE,
	/// end CREATE_SET_GROBJ_FROM_OC
	GROT_POLYGON,
	GROT_RECT,
	GROT_ELLIPSE,
	GROT_POLYPOLYGON, /// YuI 02/03/04 v7.5814 QA70-5927 POLY_POLYLINE_GRAPH_OBJECT
	GROT_POLYPOLYLINE, /// YuI 02/03/04 v7.5814 QA70-5927 POLY_POLYLINE_GRAPH_OBJECT
	GROT_DATASELECTOR,/// YuI 3/24/04 v7.5846 QA70-6118 NEW_DATA_SELECTOR_TOOL
	GROT_MARKER,	/// RVD 4/15/2005 QA70-7597 v8.0223 MARKER_GROBJ
	GROT_CURSOR,	/// YuI 06/01/05 QA70-7755 CURSOR_OBJECT_IMPLEMENTATION
	GROT_TABLE,		/// RVD 5/10/2006 CREATE_TABLE_OBJECT
	GROT_SCALER,	/// SY 2006-10-20 QA70-9062 v8.0498 NEW_SCALER_GROBJ
}	GRAPHOBJECTTYPE;
/// end OC_GRAPH_OBJECT_DERIVATION
*/
/// YuI 12/06/01 v6.9144 OBJECT_TYPE_IN_DIALOG_LOCALIZATION
typedef enum	tagGROBJTYPENAME
{
	GROBJ_TN_UNKNOWN	=	0,
	GROBJ_TN_GROUP,
	GROBJ_TN_TEXT,
	GROBJ_TN_LEGEND,
	GROBJ_TN_LINE2,
	GROBJ_TN_LINE4,
	GROBJ_TN_POLYLINE,
	GROBJ_TN_BEZIER,
	GROBJ_TN_RECT,
	GROBJ_TN_ELLIPSE,
	GROBJ_TN_TRIANGLE,
	GROBJ_TN_POLYGON,
	GROBJ_TN_POLYGONBEZIER,
	GROBJ_TN_COLORSCALE,
	GROBJ_TN_BITMAP,
	GROBJ_TN_METAFILE,
	GROBJ_TN_EMETAFILE,
	GROBJ_TN_MEMORY,
	GROBJ_TN_LINK,
	//----- CPY 12/19/06 GET_OBJ_TYPE_ID_FROM_OC
	GROBJ_TN_POLYPOLYGON,
	GROBJ_TN_POLYPOLYLINE,
	GROBJ_TN_DATASELECTOR,
	GROBJ_TN_MARKER,
	GROBJ_TN_CURSOR,
	GROBJ_TN_TABLE,
	GROBJ_TN_SCALER,
	//-----
}	GROBJTYPENAME;
#define GROT_TEXT 			GROBJ_TN_TEXT
#define	GROT_POLYLINE		GROBJ_TN_POLYLINE
#define GROT_BEZIER			GROBJ_TN_BEZIER
#define GROT_LINE			GROBJ_TN_LINE2
#define GROT_LINE4			GROBJ_TN_LINE4
#define GROT_SPECTRUM		GROBJ_TN_COLORSCALE
#define GROT_IMAGE			GROBJ_TN_BITMAP
#define GROT_POLYGON		GROBJ_TN_POLYGON
#define GROT_RECT			GROBJ_TN_RECT
#define GROT_ELLIPSE		GROBJ_TN_ELLIPSE
#define GROT_POLYPOLYGON	GROBJ_TN_POLYPOLYGON
#define GROT_CURSOR			GROBJ_TN_CURSOR
/// end OBJECT_TYPE_IN_DIALOG_LOCALIZATION


//--- CPY v7.5701 9/22/03 SOME_OCOLOR_CONST_MOVED_TO_OC
#define HIGHEST_BIT						0X80000000UL
#define OCOLOR_RGB_BITS					0X00FFFFFFUL
#define OCOLOR_RGB_FLAG_BIT				0X01000000UL
#define OCOLOR_RGB_NONE_BIT				0X02000000UL	// make RGB to transparent and keep R, G, and B values

#define OCOLOR_IS_RGB(oc)				((((oc) & OCOLOR_RGB_FLAG_BIT) != 0) && ((oc & HIGHEST_BIT) == 0) && (((oc) & OCOLOR_RGB_NONE_BIT) == 0))
#define OCOLOR_IS_TRANSPARENT_RGB(oc)	((((oc) & OCOLOR_RGB_FLAG_BIT) != 0) && ((oc & HIGHEST_BIT) == 0) && (((oc) & OCOLOR_RGB_NONE_BIT) != 0))
#define GET_CRF_FROM_RGBOCOLOR(oc)		((oc) & OCOLOR_RGB_BITS)

#define RGB2OCOLOR(rgb)					(((DWORD)(rgb) & OCOLOR_RGB_BITS) | OCOLOR_RGB_FLAG_BIT)

#define	INDEX_COLOR_TRANSPARENT		(-4)
#define INDEX_COLOR_AUTOMATIC		(-9)

#define ModifyColBeg	99
/// Hong 07/15/10 ORG-437 COL_INX_SUPPORT_THOSE_ON_LEFT
// #define COLUMN_OFFSET_TO_INTERNAL_INDEX(_nColIndex)	((_nColIndex) + ModifyColBeg + 1)
/// end COL_INX_SUPPORT_THOSE_ON_LEFT
#define COLUMN_COLOR_DERICTRGB			0X00800000UL
#define COLUMN_COLOR_COLORMAP			0X00400000UL
/// Hong 07/15/10 ORG-437 COL_INX_SUPPORT_THOSE_ON_LEFT
#ifdef		_COL_IDX_SUPPORT_LEFT_COLS
#define COLUMN_COLOR_INDEX_IN_NEGATIVE		0x00080000UL
// Hong, COLUMN_COLOR_INDEX_IN_POSITIVE is necessary for user-defined symbol right now, not really used in color,
// but as COLUMN_COLOR_INDEX_IN_NEGATIVE is used for all column index indicate negative, like symbol size, so follow the same naming for positive.
#define COLUMN_COLOR_INDEX_IN_POSITIVE		0x00040000UL

#define COLUMN_OFFSET_TO_INTERNAL_INDEX(_nColIndex)	(((_nColIndex) >= 0 ? (_nColIndex) : (-(_nColIndex) | COLUMN_COLOR_INDEX_IN_NEGATIVE)) + ModifyColBeg + 1)
#else		//_COL_IDX_SUPPORT_LEFT_COLS
/// end COL_INX_SUPPORT_THOSE_ON_LEFT
#define COLUMN_OFFSET_TO_INTERNAL_INDEX(_nColIndex)	((_nColIndex) + ModifyColBeg + 1)
#endif		//_COL_IDX_SUPPORT_LEFT_COLS /// Hong 07/15/10 ORG-437 COL_INX_SUPPORT_THOSE_ON_LEFT
/// end COL_INX_SUPPORT_THOSE_ON_LEFT
#define OCOLOR_COL_OFFSET_RGB(_N)		(COLUMN_OFFSET_TO_INTERNAL_INDEX(_N) | COLUMN_COLOR_DERICTRGB)
#define OCOLOR_COL_OFFSET_COLORMAP(_N)	(COLUMN_OFFSET_TO_INTERNAL_INDEX(_N) | COLUMN_COLOR_COLORMAP)

//--- end SOME_OCOLOR_CONST_MOVED_TO_OC
/// TD 5-30-07 QA80-9845 COLORWELL_OPTIONS_ATTRIBUTE
#define COLORLIST_AUTO					0x0001
#define COLORLIST_NONE					0x0002
#define COLORLIST_SINGLE				0x0004
#define COLORLIST_CUSTOM				0x0008
#define COLORLIST_INCREMENT				0x0010
#define COLORLIST_INDEX					0x0020
#define COLORLIST_DIRECTRGB				0x0040
#define COLORLIST_COLORMAP				0x0080
#define COLORLIST_INCREMENT_LIST		0x0100
#define COLORLIST_MODIFIERS_MATRIX		0x0200	/// TD ML 07-16-2009 QA80-13860 MATRIX_SURFACE_COLOR_MODIFIERS_IN_CHOICE_BOX
/// Fisher	02/20/10 QA80-5494	WATERFALL_PLOT_WITH_COLORMAP_GUI
#define	COLORLIST_ZVALUE					0x0400
#define COLORLIST_YVALUE_COLORMAP_ITSELF	0x0800
/// End WATERFALL_PLOT_WITH_COLORMAP_GUI
#define COLORLIST_LT_INDEX				0x1000	//----- CPY 6/15/07 QA70-9929 COLOR_1_OFFSET_FROM_DYNA_CNTRL
#define COLORLIST_CMAP_PALETTE				0x2000	///Kyle 11/01/2010 ORG-1381 PALETTE_BUTTON_ON_STYLE_TOOLBAR
/// end COLORWELL_OPTIONS_ATTRIBUTE

/// EJP 10-09-2003 v7.5715 QA70-5317 ADD_DATE_FORMAT_TO_ASCIMP_STRUCT, moved to here from okconst.h
#define MAX_SIZE_CUSTOM_FORMAT				61		// 60 + one extra character for '\0'
/// end ADD_DATE_FORMAT_TO_ASCIMP_STRUCT

/// AW 01/10/04 QA70-2674 v7.0799 NEED_HANDLE_SPECIAL_CASE_IN_INVERF
enum
{
	MATH_ERR_GENERAL = 1,
	MATH_ERR_INFINITE,
	MATH_ERR_MINUS_INFINITE,
};
/// END NEED_HANDLE_SPECIAL_CASE_IN_INVERF

/// ML 1/21/2004 QA70-5871 OLECONTROL_DLGINIT_RESOURCE_LANGUAGE
// Resource language indices (possible values of the system variable @RL):
enum {
	ORESLANG_DEFAULT			= 0,
	ORESLANG_ENGLISH,
	ORESLANG_GERMAN,
	ORESLANG_JAPANESE,
	ORESLANG_CHINESE, /// DSC 11/27/06 QA70-3263 INTERNATIONAL_VERSION 


	///////////////////////////////////
	ORESLANG_LANG_MASK			= 0x07,
};
/// end OLECONTROL_DLGINIT_RESOURCE_LANGUAGE

/// ML 3/18/2008 QA70-10598 FORCE_REPORT_TO_ENGLISH
// System variable @RLS determines the behavior of temporary language switching by means of the function LanguageSwitch():
enum {
	LANGSWITCHSYS_NONE										= 0,
	LANGSWITCHSYS_ENG_ALWAYS,
	LANGSWITCHSYS_ENG_ONLY_RECALC_IF_FIRST_TIME_SWITCH,		// only switch on recalc if the previous time the operation was run it had been switched
};

// msg values for LanguageSwitch().
enum {
	LANGSWITCH_GET_SYSVAR						= 1,	// returns LANGSWITCHSYS_*
	LANGSWITCH_SET_SYSVAR,
	LANGSWITCH_BEFORE_RUN_FIRST_TIME,
	LANGSWITCH_BEFORE_RECALC,				// nParam should contain the first time language
	LANGSWITCH_RESTORE,						// nParam should contain the return value from the "BEFORE_" call.
};

/// end FORCE_REPORT_TO_ENGLISH


/// SY 01-22-2004 QA70-5350 v7.5806 OC_MOVE_SWAP_COLUMNS_METHODS
enum MCOPTION {
	MOVE_COL_TO_FIRST = 1,
	MOVE_COL_TO_LAST,
	MOVE_COL_TO_RIGHT,
	MOVE_COL_TO_LEFT,

	///------ Folger 10/28/2010 ORG-1311-S2 COLMOVE_SUPPORT_MOVE_COLUMNS_TO_SPECIFIED_INDEX
	MOVE_COL_TO_INDEX,
	///------ End COLMOVE_SUPPORT_MOVE_COLUMNS_TO_SPECIFIED_INDEX
};
/// end OC_MOVE_SWAP_COLUMNS_METHODS

/// SY 01-22-2004 QA70-4696 v7.5806 CONTROL_DATA_DISPLAY_WINDOW_FROM_OC
enum DDOPTION { 
	DD_SHOW, DD_DOCK
};
/// end CONTROL_DATA_DISPLAY_WINDOW_FROM_OC

/// TD 3-23-04 QA70-6053 PICTURE_IN_OC
//Module IDs  (User can Use a range MODULE_USER - to- MODULE_USER + 20 for their own DLLs)
enum
{
	MODULE_ORIGIN,
	MODULE_OK,
	MODULE_OD,
	MODULE_OU,
	MODULE_OIDE,
	MODULE_OKUTIL,


	MODULE_USER,
};

/// end PICTURE_IN_OC

/// RVD 3/27/2004 QA70-5367 v7.5721 NEW_WORKBOOK
typedef enum
{
	ROW_JUSTIFY_TOP,
	ROW_JUSTIFY_CENTER,
	ROW_JUSTIFY_BOTTOM,
} RowJustify;
/// end NEW_WORKBOOK

/// YuI 3/24/04 v7.5846 QA70-6118 NEW_DATA_SELECTOR_TOOL
typedef	enum	tagDATASELECTORTYPE
{
	DST_UNKNOWN = 0,
	DST_VERTICAL_LINES, // for couple of vertical lines
	DST_STANDARD,
	DST_REGIONAL,
}	DATASELECTORTYPE;
/// end NEW_DATA_SELECTOR_TOOL


/// ML 4/27/2004 QA70-6330 OPERATION_LINKS_REPLACEMENT_NOTATION
#define		OPERATION_ESCAPE_STRING_PREFIX				"?$OP:"
#define		TREE_INPUTRANGE_ADDITIONAL_DATA_NODE_NAME	"IRAdditionalData"
/// end OPERATION_LINKS_REPLACEMENT_NOTATION

/// EJP 05-19-2004 v7.5875 QA70-6426 GET_LICENSE_INFO_FROM_OC
enum {
	ORGPRODUCTTYPE_INVALID = 0,		// not initialized
	ORGPRODUCTTYPE_EVALUATION,
	ORGPRODUCTTYPE_STUDENT,
	ORGPRODUCTTYPE_REGULAR,
	ORGPRODUCTTYPE_PRO,
};
/// end GET_LICENSE_INFO_FROM_OC


/// ML 5/28/2004 QA70-6376 PROPER_COLUMN_LABEL_ACCESS
////////////////////////////////////////////////////////////////////////////////
// enum SPECHEADERBASETYPE
//				- The base types for special headers (labels):
////////////////////////////////////////////////////////////////////////////////
enum SPECHEADERBASETYPE {
	SPT_INVALID						= 0x00000000,
	SPT_UNITS						= 0x00000010,
	SPT_LONG_NAME					= 0x00000020,
	SPT_PARAMETERS					= 0x00000028,
	SPT_DATAFACT					= 0x00000050,
	SPT_COMMENTS					= 0x00000080,

	/////////////////////////////////////////////
	SPT_NEXT_TO_USE					= 0x000000b0,
};

#define			IS_MH_TYPE_LEGAL(_nType)				(SPT_UNITS <= (_nType) && (_nType) < SPT_NEXT_TO_USE)
/// end PROPER_COLUMN_LABEL_ACCESS


/// ML 6/17/2004 QA70-6376 NEW_COLUMN_ROW_LABEL_ARRANGEMENTS
/// ML 8/10/2006 QA70-8901 SAMPLE_RATE_LABEL_TYPE
/// RVD 8/30/2006 TOO_MANY_PARAMS
//#define		PARAMS_MAX_NUM							64
// do not change this number
#define		PARAMS_MAX_NUM							10
/// end TOO_MANY_PARAMS
/// end SAMPLE_RATE_LABEL_TYPE

/// RVD 12/8/2006 v8.0515 USER_DEFINED_LABELS
#define		UDL_MAX_NUM							128
/// end USER_DEFINED_LABELS
/**> Internal Origin Objects > DataSheet > Worksheet
*/
typedef enum {
	///------ Folger 07/28/10 ORG-50 WTRANSPOSE_SUPPORT_ALL_LABEL_ROWS
	RCLT_ALL_LABELS					= -4,	/// not a valid label type, just special id
	///------ End WTRANSPOSE_SUPPORT_ALL_LABEL_ROWS
	///------ Folger 05/27/10 ORG-120 DATA_DISPLAY_DIALOG_IMPROVEMENT
	RCLT_SHORT_NAME					= -3,	/// not a valid label type, just special id
	///------ End DATA_DISPLAY_DIALOG_IMPROVEMENT
	/// RVD 2/15/2006 FIX_TABLE_CONTEXT_MENU
	RCLT_CHECK_LINK					= -2,
	/// end FIX_TABLE_CONTEXT_MENU
	RCLT_INVALID					= -1,
	RCLT_LONG_NAME,
	RCLT_UNIT,
	RCLT_COMMENT,
	RCLT_PARAM,
	/// ML 8/10/2006 QA70-8901 SAMPLE_RATE_LABEL_TYPE
	RCLT_SAMPLE_RATE				= RCLT_PARAM + PARAMS_MAX_NUM,
	/// ML 9/7/2006 SPARKLINE_COLUMN_LABEL_TYPE
	//RCLT_MAX_TYPE					= RCLT_SAMPLE_RATE, 
	RCLT_SPARKLINE, 
	/// RVD 12/8/2006 v8.0515 USER_DEFINED_LABELS
	//RCLT_MAX_TYPE					= RCLT_SPARKLINE, 
	RCLT_UDL,
	RCLT_MAX_TYPE					= RCLT_UDL + UDL_MAX_NUM -1, 
	/// end USER_DEFINED_LABELS
	/// end SPARKLINE_COLUMN_LABEL_TYPE
	/// end SAMPLE_RATE_LABEL_TYPE
} ROWCOLLABELTYPE;


#define		IS_RCLT_ENUMERABLE(_nType)			((_nType) == RCLT_PARAM) 
#define		IS_RCLT_MULTILINE(_nType)			((_nType) == RCLT_COMMENT)
/// end NEW_COLUMN_ROW_LABEL_ARRANGEMENTS
/// TD 6-30-04 QA70-6400 CONTEXT_MENU_FOR_LABEL_CATEGORY_NAME_SHOW_HIDE	
#define         NXY_ROW         0x0004
#define         NXY_COL         0x0002
#define         NXY_OUT         0x0020
#define         NXY_CELLS       0x0100
#define			NYX_LABEL		0x0040
#define         NXY_RIGHT       0x00001000
#define         NXY_DOWN        0x00002000
#define         NXY_TOP         0x00004000
#define         NXY_LEFT        0x00008000
#define	NXY_IN_DRAG_REGION		0x00010000
#define	NXY_SETCOLWIDTH_REGION	0x00020000
#define	NXY_SETROWHEIGHT_REGION	0x00040000
#define	NXY_SET_HEADER_REGION	(NXY_SETCOLWIDTH_REGION|NXY_SETROWHEIGHT_REGION)
#define	NXY_COLCORNER_REGION	0x00080000
/// end CONTEXT_MENU_FOR_LABEL_CATEGORY_NAME_SHOW_HIDE
/// RVD 8/31/2004 QA70-5371 v8.0127 GRID_ORIGIN_TEXT_EDIT
#define	NXY_LABEL_AREA			0x00100000
#define	NXY_ACTIVE_CNTRL		0x00200000
/// end GRID_ORIGIN_TEXT_EDIT


/// ML 8/11/2004 QA70-6774 SEARCHING_ORIGIN
// String search modes:
enum {
	OSEARCHMODE_SUBSTRING					= 0,
	OSEARCHMODE_FULL_STRING,
	OSEARCHMODE_WILDCARDED_STRING,
	OSEARCHMODE_BASIC_MODE_MASK				= 0x0000000FUL,

	OSEARCHMODE_STRING_CASE_SENSITIVE		= 0x00010000UL,
};
/// end SEARCHING_ORIGIN
	
/// YuI 11/11/04 ADDITIONAL_ARGUMENT_TO_Operation::Execute
typedef enum tagOPERATIONEXECUTEMODE
{
	/// Iris 02/27/2007 v8.0571 CHANGE_PARAM_TO_OPEN_DLG_FIT_BUTTON_IS_GRAY
	// To fix if select Theme from menu, and do Change Parameter, Fit buttons all are gray. Select Theme and Open Dialog from menu is different, need to separate the two cases.
	OEXEM_ON_CREATE_OPEN_GUI,
	///end CHANGE_PARAM_TO_OPEN_DLG_FIT_BUTTON_IS_GRAY
	OEXEM_ON_CREATE,
	OEXEM_ON_AUTOUPDATE_MANUAL,
	OEXEM_ON_AUTOUPDATE_TASK,
	OEXEM_ON_CHANGEPARAM,
	OEXEM_ON_CALCULATE_ONLY,
}	OPERATIONEXECUTEMODE;
/// end ADDITIONAL_ARGUMENT_TO_Operation::Execute

/// YuI 07/24/06 QA70-8847 COLUMN_FORMULA_FROM_ORIGIN_C_REVAMP
typedef	enum tagAUTOUPDATEMODE
{
	AU_NONE, // no operation will be created as a result
	AU_AUTO,
	AU_ON_COMMAND,
}	AUTOUPDATEMODE;
/// Hong 11/07/07 v.8.0742 FIX_ERROR_LOCALIZED
//#define STR_RECALCULATE "Recalculate"	//--- CPY 7/13/06 QA70-8731 AUTO_UPDATE_CHANGED_TO_3_STATES
//#define STR_AU_COMBO	"None|Auto|Manual"
#define STR_RECALCULATE 	_LE("Recalculate")	//--- CPY 7/13/06 QA70-8731 AUTO_UPDATE_CHANGED_TO_3_STATES
#define STR_AU_COMBO		_LE("None|Auto|Manual")
/// end FIX_ERROR_LOCALIZED
/// end COLUMN_FORMULA_FROM_ORIGIN_C_REVAMP
///---Sim 06-02-2009 QA80-4584 EXTRACT_WKS_SUPPORT_AUTO_UPDATE
#define NODE_NAME_AUTO_UPDATE	AutoUpdate
#define STR_AUTO_UPDATE			"AutoUpdate" // must same as NODE_NAME_AUTO_UPDATE, only diff is it is string value
#define DEFAULT_AU_MODE			AU_ON_COMMAND
///---END QA80-4584 EXTRACT_WKS_SUPPORT_AUTO_UPDATE
//--- CPY ML 8/18/2004 QA70-6825 RLOG_QUERY
// the following bits are used in the IDs for Analysis Report
#define IDST_MASK_ONE_SET 0x20000000	// indicate the ID is part of a One-Set values, where an enumeration was used to pack a group of similar values

//--- end RLOG_QUERY

enum {DISPLAY_LEFT, DISPLAY_CENTER, DISPLAY_RIGHT};	   
//-------- CPY TD 3/9/06 GETN_OPTION_DISPLAY_FORMAT_HIWORD_FOR_MORE_INFO
// the enum above applies to text inside editor, but we also want to
// control the editor itself, so we can do like
//   			GETN_OPTION_DISPLAY_FORMAT( DISPLAY_RIGHT | DISPLAY_EDITOR_NEXT_LINE);
enum {
	DISPLAY_EDITOR_ES_RIGHT		= 0x00001000, /// TD 7-24-07 QA80-10087  ABILITY_TO_TAB_DYNACONTROL_ROWS
	DISPLAY_LABEL_POS_BRANCH	= 0x00002000, /// TD 7-24-07 QA80-10087  ABILITY_TO_TAB_DYNACONTROL_ROWS
	DISPLAY_EDITOR_USE_LABEL	= 0x00004000, //-------- CPY 12/7/2007 QA70-10793 XF_VAR_SHOW_LABEL_ONLY_NEED_TO_ALLOW_WRAP_AND_NOT_CHANGING_EDIT
	DISPLAY_EDITOR_NEXT_LINE	= 0x00010000,
	DISPLAY_EDITOR_HORZ			= 0x00020000, //----- CPY 2/2/2008 QA70-11043 BUTTONS_ALIGNED_SAME_LINE
	DISPLAY_EDITOR_POSITION_MASK= 0x00300000,  // Auto(default) is (DISPLAY_EDITOR_POSITION_MASK & dwCntrl)==0, or if STR_ATTRIB_DISPFMT attribute is missing
	DISPLAY_EDITOR_LEFT			= 0x00100000, // move editor (can be even static text) all the way to the left
	DISPLAY_EDITOR_CENTER		= 0x00200000,  // default is (DISPLAY_EDITOR_POSITION_MASK & dwCntrl)==0
	DISPLAY_EDITOR_RIGHT		= 0x00300000,
	DISPLAY_EDITOR_CHECK_ON_LEFT= 0x01000000, // place check box on the left, default is on the right as other editors
	DISPLAY_EDITOR_WRAPPED		= 0x02000000,/// TD 5-3-07 QA80-9714 ATTRIBUTE_TO_FORCE_WRAP
	DISPLAY_EDITOR_FIXED_FONT   = 0x04000000, //------ CPY 5/9/2007 QA70-9747 DYNA_FONT_CONTROL_FROM_OC
	DISPLAY_EDITOR_BOLD_FONT    = 0x08000000, //------ CPY 5/9/2007 QA70-9761 DYNA_FONT_CONTROL_FROM_OC_BOLD
	DISPLAY_EDITOR_ITALIC_FONT  = 0x10000000, //------ CPY 5/9/2007 QA70-9761 DYNA_FONT_CONTROL_FROM_OC_BOLD
	/// end ABILITY_TO_TAB_DYNACONTROL_ROWS

};
///-------- End	GETN_OPTION_DISPLAY_FORMAT_HIWORD_FOR_MORE_INFO	



enum{

	TNVAL_TYPE_INVALID = 0, 
	TNVAL_TYPE_CHAR,
	TNVAL_TYPE_SHORT,
	TNVAL_TYPE_INT,
	TNVAL_TYPE_FLOAT,
	TNVAL_TYPE_DOUBLE,
	TNVAL_TYPE_COMPLEX,			// for "complex"	(as structure with real and imaginary)
	TNVAL_TYPE_CSTRING,
	TNVAL_TYPE_POINTER,
	TNVAL_TYPE_VARIANT,
	TNVAL_TYPE_PICTURE,
	TNVAL_TYPE_RANGE,		/// TD 3-8-07 QA80-9435 RANGE_IN_TREE_NODES

	TNVAL_TYPE_BIT_VECTOR			= 0x00010000UL,
	TNVAL_TYPE_CHAR_VECTOR,
	TNVAL_TYPE_SHORT_VECTOR,
	TNVAL_TYPE_INT_VECTOR,
	TNVAL_TYPE_FLOAT_VECTOR,
	TNVAL_TYPE_DOUBLE_VECTOR,
	TNVAL_TYPE_COMPLEX_VECTOR,
	TNVAL_TYPE_CSTRING_VECTOR,
	TNVAL_TYPE_POINTER_VECTOR,
	TNVAL_TYPE_VARIANT_VECTOR,



	TNVAL_TYPE_BIT_MATRIX			= 0x00040000UL,
	TNVAL_TYPE_CHAR_MATRIX,
	TNVAL_TYPE_SHORT_MATRIX,
	TNVAL_TYPE_INT_MATRIX,
	TNVAL_TYPE_FLOAT_MATRIX,
	TNVAL_TYPE_DOUBLE_MATRIX,
	TNVAL_TYPE_COMPLEX_MATRIX,
	TNVAL_TYPE_CSTRING_MATRIX,
	TNVAL_TYPE_POINTER_MATRIX,
	TNVAL_TYPE_VARIANT_MATRIX,
};



/// ML 11/11/2004 QA70-6845 CELL_VALUE_LINKING
#define		STR_LINK_CELL_VALUE_PREFIX				"?$cell="

#define		STR_LINK_INFO_VALUE_PREFIX				"?$Info"
#define		STR_LINK_INFO_VALUE_PAGE_PART			"="
#define		STR_LINK_INFO_VALUE_LAYER_PART			".L="
#define		STR_LINK_INFO_VALUE_COLUMN_PART			".C="
/// end CELL_VALUE_LINKING

/// ML 11/17/2004 QA70-6845 GETTNG_CELL_VALUE_WITH_OPTIONS
enum 
{
	TCELL_VALUE					= 0,
	TCELL_EDIT,
	TCELL_RAW,
};
/// end GETTNG_CELL_VALUE_WITH_OPTIONS

/// YuI 11/02/04 V7.5158 QA70-7122 OC_DATA_PLOT_CREATION
typedef enum	tagLINKEDDATASETTYPE
{
	LDT_MODIFIER,
	// add other types	
}	LINKEDDATASETTYPE;
/// end OC_DATA_PLOT_CREATION


/// ML 11/18/2004 QA70-6845 LINKING_TO_LABELS
// The reserved range of "fake" ids for labels. Used when linking to labels.
#define		IDL_BEGIN			3330
#define		IDL_END				3350
/// ML 4/12/2005 QA70-7316 FULL_TABLE_AND_ROW_OR_COL_LABELS_PLUS_DATA_LINKS
#define		IDL_LABELS_AND_DATA	(-24680)		// indicates that in the dimension with this value all labels and data need to be taken

#define		IS_ALL_LABELS_AND_DATA(_nn)		((_nn) == IDL_LABELS_AND_DATA) 
/// end FULL_TABLE_AND_ROW_OR_COL_LABELS_PLUS_DATA_LINKS
/// end LINKING_TO_LABELS



typedef enum tagBOXCHARTWHISKERTYPE
{
	BCWT_NONE = 0,
	BCWT_9010,
	BCWT_9505,
	BCWT_9901,
	BCWT_SD,
	BCWT_SE,
	BCWT_OUTLIER,
	BCWT_MAXMIN,
	BCWT_CONSTANT,
	BCWT_QUANTILE,
}	BOXCHARTWHISKERTYPE;

typedef enum	tagBOXCHARTBOXTYPE
{
	BCBT_NONE,
	BCBT_SE,
	BCBT_SD,
	BCBT_25_75,
	BCBT_10_25_75_90,
	BCBT_CONSTANT,
}	BOXCHARTBOXTYPE;

/// ML 3/16/2005 QA70-7511 GETTING_CORRESPONDING_WKS_COLUMNS
/**> Internal Origin Objects > DataSheet > Worksheet
*/
enum FCOPTION {
	FCI_RIGHT				= 0x00001000, // direction, to the left if not set
	FCI_LAST_FOUND			= 0x00002000, // find 1st if not set
	///------ Folger 08/17/10 ORG-815 WKS_FIND_COL_INDEX_FAILED_TO_FIND_X_IF_REF_COL_IS_EVEN_SPACED
	FCI_NO_CHECK_EVEN_SPACED = 0x00004000,
	///------ End WKS_FIND_COL_INDEX_FAILED_TO_FIND_X_IF_REF_COL_IS_EVEN_SPACED
	///------ Folger 09/10/2010 ORG-1029 FIND_COL_INDEX_SUPPORT_SEARCH_DEPENDENT_COLS
	FCI_DEPENDENT			 = 0x00008000,
	///------ End FIND_COL_INDEX_SUPPORT_SEARCH_DEPENDENT_COLS
};
/// end GETTING_CORRESPONDING_WKS_COLUMNS

/// ML 3/24/2005 CONTEXT_MENU_X_FUNCS
#define		STR_VAR_USGCTXT					"UsageCtxt"
#define		STR_VAR_USGCTXT_GO				"GrObj"
#define		STR_VAR_USGCTXT_EV_MOVE			"Move"
#define		STR_VAR_USGCTXT_EV_MOVING		"Moving"
#define		STR_VAR_USGCTXT_EV_RESIZE		"Resize"
#define		STR_VAR_USGCTXT_EV_RESIZING		"Resizing"
#define		STR_VAR_USGCTXT_EV_DELETE		"Delete"
#define		STR_VAR_USGCTXT_EV_SELECT		"Select"
#define		STR_VAR_USGCTXT_EV_UNSELECT		"Unselect"
#define		STR_VAR_USGCTXT_EV_BTNCLICK		"BtnClick"

#define		STR_VAR_USGCTXT_WKS_SEL			"WksSel"
/// end CONTEXT_MENU_X_FUNCS

/// RVD 3/29/2005 QA70-7551 v8.0204 POLYLINE_SPAN_LAYER
typedef enum
{
	LINEDIR_NONE,
	LINEDIR_HORIZONTAL,
	LINEDIR_VERTICAL,
	/// RVD 4/7/2010 QA70-15270 GR_VIEWSTATE_NO_CONRNERS
	LINEDIR_NOCORNERS,
	LINEDIR_CORNERS,
	/// end GR_VIEWSTATE_NO_CONRNERS
}	LINEDIR;
/// end POLYLINE_SPAN_LAYER


/// YuI 09/16/08 QA70-12204 POSITION_CONTROL_FOR_CONNECT_TO
typedef enum tagCONNECTORTETHERINGPOINT
{
	CTP_AUTO = -1,
	CTP_LEFT_BOTTOM,
	CTP_LEFT,
	CTP_LEFT_TOP,
	CTP_TOP,
	CTP_RIGHT_TOP,
	CTP_RIGHT,
	CTP_RIGHT_BOTTOM,
	CTP_BOTTOM,
	CTP_RESTRICT_SIZE,
	//--- CPY 9/23/08 BASELINE_NEED_TO_BE_CONNECTED
	CTP_FREE_1 = CTP_RESTRICT_SIZE,
	CTP_FREE_2,
	//---
	CTP_FREE_3, //Sandy 2008-12-9 add
	CTP_FREE_4, //Sandy 2009-2-24 add
	CTP_FREE_5, //Sandy 2009-2-24 add
	/// Hong 12/12/08 v8.0986 CLEAN_MAGIC_NUMBER
	///Sophy 8/14/2009 IMPROVE_RISETIME_TOOL_TO_INDICATE_RISETIME_FALLTIME_RANGE
	//CTP_FREE_END = CTP_FREE_5,
	CTP_FREE_6,
	CTP_FREE_7,
	CTP_FREE_8,
	CTP_FREE_9,
	CTP_FREE_END = CTP_FREE_9,
	///end IMPROVE_RISETIME_TOOL_TO_INDICATE_RISETIME_FALLTIME_RANGE
	/// end CLEAN_MAGIC_NUMBER
	
	///Sophy 2/11/2010 QA81-15107 SUPPORT_EXTEND_POSITION_FOR_GRAPHOBJECT_CONNECT
	CTP_EXTEND_BEGIN = CTP_FREE_END,
	CTP_INNER_LEFT_BOTTOM,
	CTP_INNER_LEFT,
	CTP_INNER_LEFT_TOP,
	CTP_INNER_TOP,
	CTP_INNER_RIGHT_TOP,
	CTP_INNER_RIGHT,
	CTP_INNER_RIGHT_BOTTOM,
	CTP_INNER_BOTTOM,
	CTP_EXTEND_END,
	///end SUPPORT_EXTEND_POSITION_FOR_GRAPHOBJECT_CONNECT
	
	
	CTP_SIZE = CTP_EXTEND_END,///Sophy 9/13/2008 GRAPH_OBJ_TOOL_BASE_CLASS
}	CONNECTORTETHERINGPOINT;
/// end POSITION_CONTROL_FOR_CONNECT_TO
/// Hong 12/12/08 v8.0986 CLEAN_MAGIC_NUMBER
#define			CTP_FREE_NUM		(CTP_FREE_END - CTP_FREE_1 + 1)
/// end CLEAN_MAGIC_NUMBER
///Sophy 2/11/2010 QA81-15107 SUPPORT_EXTEND_POSITION_FOR_GRAPHOBJECT_CONNECT
#define			CTP_RESTRICT_NUM	(CTP_SIZE - CTP_FREE_NUM)
///end SUPPORT_EXTEND_POSITION_FOR_GRAPHOBJECT_CONNECT
/// YuI 03/29/05 QA70-7552 v7.5213 DATAPLOT_XINDEX_IMPLEMENTATION
typedef enum tagXINDEXCONTROL
{
	XIC_NEAREST_LEFT,
	XIC_NEAREST_RIGHT,
	XIC_NEAREST_ANY,
	/// YuI 11/02/09 QA70-14205 X_RANGE_POLYRANGE_SUPPORT
	// will return index of a point if its x value exactly matches value supplied
	XIC_EXACT_OR_NEAREST_LEFT, 
	XIC_EXACT_OR_NEAREST_RIGHT, 
	/// end X_RANGE_POLYRANGE_SUPPORT
}	XINDEXCONTROL;

typedef enum taxXINDEXRETURN
{
	XIR_ERROR = -1,
	XIR_WITHIN_RANGE,
	XIR_LEFT_OF_RANGE,
	XIR_RIGHT_OF_RANGE,
}	XINDEXRETURN;
/// end DATAPLOT_XINDEX_IMPLEMENTATION

/// Hong 01/12/09 QA80-12852 v8.0995c GETDATAPTS_REDUCE_DATA_REUSE_SPEED_MODE_ROUTINE
typedef enum tagGETDATAPTSCTRL
{	
	GETDATAPTS_SIMPLE_SKIP_PTS		= 0x01000000, // will keep missting data
	GETDATAPTS_RD_LARGEST_TRIANGLE	= 0x10000000, //LOWORD same as RD_*	, will skip missting data
}	GETDATAPTSCTRL;
#define			GETDATAPTS_REDUCE_METHOD_MASK		0x11000000
#define			GETDATAPTS_RD_METHOD_MASK			0x0000000F
/// end GETDATAPTS_REDUCE_DATA_REUSE_SPEED_MODE_ROUTINE

//--- CPY QA70-7860 7/6/05 LOOSE_DATASET_EDITOR
typedef enum   // general message for OC based dialogs
{
	OMSG_OPEN = 0,
	OMSG_CLOSE,
	OMSG_UPDATE,
	OMSG_IS_VISIBLE,
	OMSG_OUTPUT,
} ODLGMSG;
//---

/// RVD 3/15/2005 QA70-7498 v8.0204 XFUNCTION_ANCHORS
// used inside text label like this: \z(1) - draws windows minimize button
typedef enum
{
	OTCIC_CLOSE = 0,
	OTCIC_MIN,
	OTCIC_MAX,
	OTCIC_RESTORE,
	OTCIC_HELP,

	OTCIC_ARROW,
	OTCIC_BULLET,
	OTCIC_CHECK,

	OTCIC_GRIP,
	OTCIC_UP,
	OTCIC_DOWN,
	OTCIC_LEFT,
	OTCIC_RIGHT,
	OTCIC_COMBOBOX,

	OTCIC_LAST,		// must be last entry

}	OTEXTCONTROLID;
/// end XFUNCTION_ANCHORS

/// ML 4/18/2005 XFUNCTION_TREE_MANIPULATION_IN_VC
typedef enum tagXFATTACH
{
	XFATTACH_NONE,
	XFATTACH_AUTO,
	XFATTACH_COL,
	XFATTACH_LAYER,
	XFATTACH_PAGE,
	XFATTACH_PROJ,
XFATTACH_LAST_ENTRY } XFATTACHTYPE;


#define	TRGP_CHECK 		ONODETYPE_CHECKBOX
/// YuI 1/25/07 SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR
#define	TRGP_BRANCH_CHECK 		ONODETYPE_BRANCH_CHECKBOX
/// end SEPARATE_ROW_RANGE_CONTROL_FOR_INTERACTIVE_SELECTOR

/// YuI 04/09/08 QA70-11394 GETN_CONTROL_FOR_SYMBOL_WELL
#define	TRGP_SYMBOL 		ONODETYPE_SYMBOL
/// end GETN_CONTROL_FOR_SYMBOL_WELL
//---- CPY 10/7/04 CHANGE_STR_LIST_TO_ENUM_LIST, this seems very confusing with TRGP_STR_LIST used in GET_LIST, but we have a separate GET_STR_LIST
//#define TRGP_ENUM_COMBO	ONODETYPE_DROPDOWN_NUMERIC_FLOAT
//#define TRGP_STR_LIST	ONODETYPE_DROPLIST_STRINGS
#define TRGP_NUMERIC_LIST	ONODETYPE_DROPDOWN_NUMERIC_FLOAT
#define TRGP_ENUM_LIST		ONODETYPE_DROPLIST_STRINGS
// followings are kept in case users have harded these in their code
#define TRGP_ENUM_COMBO	TRGP_NUMERIC_LIST
#define TRGP_STR_LIST	TRGP_ENUM_LIST
//---- end CHANGE_STR_LIST_TO_ENUM_LIST
#define TRGP_STR		ONODETYPE_EDIT_BOX_ONELINE_TEXT
#define TRGP_DOUBLE		ONODETYPE_EDIT_BOX_NUMERIC_FLOAT
#define TRGP_COLOR		ONODETYPE_DROPLIST_COLORS
#define TRGP_RANGE		ONODETYPE_EDIT_RANGE
#define TRGP_BRANCH		ONODETYPE_BRANCH
#define	TRGP_INTERACTIVE	ONODETYPE_EDIT_BOX_INTERACTIVE
#define	TRGP_SLIDER		ONODETYPE_SLIDER
#define	TRGP_SLIDEREDIT	ONODETYPE_EDITSLIDER
#define	TRGP_DATA_RANGE	ONODETYPE_DATA_RANGE
#define	TRGP_MULTILINE_TEXT	ONODETYPE_MULTILINE_TEXT
#define TRGP_ORIGIN_TEXT	ONODETYPE_ORIGIN_TEXT

#define TRGP_STR_GROUP	ONODETYPE_STR_GROUP //--- CPY 11/19/05 QA70-8339 ROC_CURVE_NEEDS_STATE_VALUES

#define TRGP_SYSTEM_EVENTS			-100		///DG 3/30/05 GETN_ADVANCED_SHOWN_IN_TREE


#define	TRGP_XY_DATA_RANGE	ONODETYPE_XY_DATA_RANGE/// YuI 01/03/2005 v7.5183 QA70-7253 VECTORIAL_NUMERIC_FUNCTIONS

/// YuI 03/23/09 QA70-12160 XYRANGE_XERROR_SUPPORT
#define	TRGP_XY_YERR_XERR_DATA_RANGE	ONODETYPE_XY_YERR_XERR_DATA_RANGE
#define	TRGP_XY_YERR_XERR_SUB_RANGE		ONODETYPE_XY_YERR_XERR_SUB_RANGE
#define	TRGP_XY_YERR_XERR_RANGE_ROOT	ONODETYPE_XY_YERR_XERR_RANGE_ROOT
/// end XYRANGE_XERROR_SUPPORT

/// YuI 07/19/06 PROPER_INTERACTIVE_DROP_DOWN_FOR_MATRIX_OBJECT
#define	TRGP_LAYER		ONODETYPE_LAYER
#define	TRGP_MATRIX		ONODETYPE_MATRIX
#define	TRGP_PAGE		ONODETYPE_PAGE
/// end PROPER_INTERACTIVE_DROP_DOWN_FOR_MATRIX_OBJECT

/// YuI 09/28/06 OWN_PROPERTY_CLASS_FOR_IMAGE_CONTROL
#define	TRGP_ORIGIN_IMAGE	ONODETYPE_ORIGIN_IMAGE
/// end OWN_PROPERTY_CLASS_FOR_IMAGE_CONTROL

/// YuI 02/21/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL
#define	TRGP_XYZ_DATA_RANGE			ONODETYPE_XYZ_DATA_RANGE
#define	TRGP_XY_SUB_RANGE			ONODETYPE_XY_SUB_RANGE
#define	TRGP_XYZ_SUB_RANGE			ONODETYPE_XYZ_SUB_RANGE
#define	TRGP_COMPOSITE_SUB_RANGE_LEAF	ONODETYPE_COMPOSITE_SUB_RANGE_LEAF
#define	TRGP_DATA_RANGE_EX			ONODETYPE_DATA_RANGE_EX
/// end NEW_COMPLEX_RANGE_CONTROL

/// YuI 03/30/06 COMPLEX_VECTOR_AND_RANGE_DATA_TYPES
#define	TRGP_XY_COMPLEX_DATA_RANGE				ONODETYPE_XY_COMPLEX_DATA_RANGE
#define	TRGP_XY_COMPLEX_SUB_RANGE				ONODETYPE_XY_COMPLEX_SUB_RANGE
#define	TRGP_XY_COMPLEX_SUBRANGE_YBRANCH		ONODETYPE_XY_COMPLEX_SUBRANGE_YBRANCH
#define	COMPLEX_STRING_REAL_IMAGINARY_SEPARATOR			','
#define	COMPOSITE_RANGE_STRING_SUBRANGE_SEPARATOR		'|'
/// end COMPLEX_VECTOR_AND_RANGE_DATA_TYPES

/// YuI 04/26/06 FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL
#define	TRGP_XY_RANGE_ROOT			ONODETYPE_XY_RANGE_ROOT
#define	TRGP_XYZ_RANGE_ROOT			ONODETYPE_XYZ_RANGE_ROOT
#define	TRGP_XY_RANGE_COMPLEX_ROOT	ONODETYPE_XY_RANGE_COMPLEX_ROOT
/// end FURTHER_IMPROVEMENT_TO_INTERACTIVE_CONTROL

/// YuI 05/18/06 COMPLEX_VECTOR_GUI
#define	TRGP_VECTOR_COMPLEX			ONODETYPE_VECTOR_COMPLEX
#define	TRGP_VECTOR_COMPLEX_ROOT	ONODETYPE_VECTOR_COMPLEX_ROOT
/// end COMPLEX_VECTOR_GUI

/// YuI 05/26/06 NLSF_INPUT_DATA_EXPANDED_GUI
#define	TRGP_FITTER_DATA							ONODETYPE_FITTER_DATA
#define	TRGP_FITTER_DATA_ROOT						ONODETYPE_FITTER_DATA_ROOT
#define	TRGP_FITTER_DATA_ONE_SET					ONODETYPE_FITTER_DATA_ONE_SET
#define	TRGP_FITTER_DATA_INDEPDENDENT_DATA			ONODETYPE_FITTER_DATA_INDEPDENDENT_DATA
#define	TRGP_FITTER_DATA_DEPDENDENT					ONODETYPE_FITTER_DATA_DEPDENDENT
#define	TRGP_FITTER_DATA_DEPDENDENT_ROOT			ONODETYPE_FITTER_DATA_DEPDENDENT_ROOT
#define	TRGP_FITTER_DATA_DEPDENDENT_DATA			ONODETYPE_FITTER_DATA_DEPDENDENT_DATA
#define	TRGP_FITTER_DATA_DEPDENDENT_WEIGHT			ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT
#define	TRGP_FITTER_DATA_DEPDENDENT_WEIGHT_METHOD	ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT_METHOD
#define	TRGP_FITTER_DATA_DEPDENDENT_WEIGHT_DATA		ONODETYPE_FITTER_DATA_DEPDENDENT_WEIGHT_DATA
/// end NLSF_INPUT_DATA_EXPANDED_GUI

#define TRGP_STR_BUTTON	ONODETYPE_STR_BUTTON	//CPY 9/21/05

///---Sim 11-18-2009 QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER
#define TRGP_DATE	ONODETYPE_DATE
#define TRGP_TIME	ONODETYPE_TIME
///---END QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER

#define STR_ATTRIB_BRANCH			"Branch"
#define STR_XF_VAR_NODE_PREFIX		"v"

#define STR_INTERACTIVE_DROP_DOWN_BUTTON_ID_ATTRIB			"_DROP_DOWN_BUTTON_ID"
#define STR_GUI_INTERFACE_NODEID_ATTRIB		"GUINodeID"	///DG DISABLE_GUI_INTERFACE_IN_FO


#define STR_ATTRIB_MULTILINE_EDIT_DISPLAY_ROW_HEIGHT_RANGE		"RowHeightRange"
#define STR_ATTRIB_EDIT_DISPLAY_WIDTH_RANGE						"EdtWidthRng"/// TD 7-5-06 QA70-8792 DYNACONTROL_MIN_MAX_CTRL
#define	STR_REPEAT_ID_ATTRIB		"RepeatID"   ///Iris 03/02/05 QA70-7455

#define STR_XF_VARIABLE_NODE_ATTRIB	"_XFUNCTION_VAR"

#define STR_ATTRIB_HANDLER			"Handler"
#define STR_ATTRIB_HANDLER_RC		"HandlerRC"	//-----------CPY 5/19/05 GETN_NODE_EVENT_ROW_COL_FOR_LIST_VIEW

/// AW 05/23/07 QA80-9821 v8.0622 SUPPORT_GETN_OC_EVENT
#define STR_ATTRIB_FORCE_NODE_EVENT_ON	"__ForceNodeEventOn__"
#define STR_ATTRIB_FORCE_CALL_NODE_EVENTS	"__ForceCallNodeEvents__"	
/// END  SUPPORT_GETN_OC_EVENT

#define STR_VARTYPE_NODE		"type"


/// YuI 03/17/09 QA70-13292 TWEAKING_INTERACTIVE_CONTROL_FOR_PA_BASELINE
#define	STR_ATTRIB_PA_SOURCE_DATARANGE		"PASourceDataRange"
/// end TWEAKING_INTERACTIVE_CONTROL_FOR_PA_BASELINE

/// YuI 09/22/08 QA70-12243 EXTENSION_TO_DOC_E_LABTALK_COMMAND
#define	STR_ANALYSIS_ATTRIB				"AnalysisName"
/// end EXTENSION_TO_DOC_E_LABTALK_COMMAND

/// TD 11-02-06 ENABLE_2_BLUE_TEXT_MORE_WORK
//#define ENABLE_READ_ONLY		2
enum{
	DISABLE, 
	ENABLE, 
	ENABLE_READ_ONLY,
	ENABLE_READONLY_SCROLL,/// TD 4-2-07 QA80-9531 EDITORS_HAVE_NEW_READONLY_STATE 
	ENABLE_SEPARATOR, //---- CPY 8/9/09 QA70-14110 GETN_SEPARATOR_FROM_XF

	//------ CPY 2/28/08 QA70-11043-P2 GETN_BUTTONS_SEPARATELY_ENABLE_DISABLE
	// user low bits for each control(button), support up to 30 buttons
	ENABLE_INDEP_BY_BITS = 0x40000000, 
	//------
};
/// end ENABLE_2_BLUE_TEXT_MORE_WORK

/// YuI 02/21/06 QA70-8549 NEW_COMPLEX_RANGE_CONTROL
// complex range type may be PDS_NEW, PDS_ACTIVE, PDS_USER
#define	STR_ATTRIB_COMPOSITE_RANGE_TYPE	"RangeType"
/// end NEW_COMPLEX_RANGE_CONTROL

/// YuI 01/09/07 QA70-8806 AUTO_SUPPORT_FOR_XF_VARIABLES
#define	STR_ATTRIB_AUTO					"Auto"
/// end AUTO_SUPPORT_FOR_XF_VARIABLES

/// YuI 03/05/09 QA70-13220 WHOLE_WORKSHEET_INPUT_XYRANGE
#define	STR_ATTRIB_ENTIRE_WORKSHEET		"_EntireWorksheet"
/// end WHOLE_WORKSHEET_INPUT_XYRANGE

/// ML 1/30/2007 QA70-9318 P2 PREPARING_RANGE_XF_ARG_WITH_FACTOR
// The name of the attribute that goes into the XF GetN node to hold D: Option string (subrange designations for preparing DataRange)
#define		STR_ATT_XFGETN_RANGE_DESIGS				"RngDesigs"
/// end PREPARING_RANGE_XF_ARG_WITH_FACTOR



enum {
	DBTY_X_FUNC_VAR						= 0,
	DBTY_CURVE_OUTPUT
};
#define			DATA_BRANCH_TYPE(_dwOptions)				(_dwOptions)

/// end XFUNCTION_TREE_MANIPULATION_IN_VC

/// ML 4/28/2005 XFT_GETTING_IO
enum { IO_INPUT, IO_OUTPUT, IO_INOUTPUT };
/// end XFT_GETTING_IO

/// RVD 5/6/2005 v8.0231 WKS_MERGE_FLOAT_CELLS_THEME_ACCESS
// grid cells
typedef enum
{
	GMC_NONE = 0,
	GMC_HORZ,
	GMC_VERT,
	GMC_BOTH,
}	GRIDMERGECELLS;
/// end WKS_MERGE_FLOAT_CELLS_THEME_ACCESS

/// YuI 09/08/05 QA70-8061 PROJECT_PAGE_LAYER_PASSWORD_PROTECTION
typedef enum	tagPASSWORDLOCKCTRL
{
	/// RVD 4/27/2006 v8.0382 HIERARCHY_CHECK_ACCESS
	//PLC_DATA			= 0x00000001,
	//PLC_GRAPHOBJECTS	= 0x00000002,
	///// TD 10-31-05 QA70-8061 EXTEND_PASSWORD_PROTECTION_TO_CONTROL_DATA_READ_ACCESS
	//PLC_DENYREAD		= 0x00000010,
	///// end EXTEND_PASSWORD_PROTECTION_TO_CONTROL_DATA_READ_ACCESS 
	///// TD 12-14-05 QA70-8061 PROTECTION_SETTINGS_TO_SHOW_GRAPH_HIDE_DATA
	//PLC_DENYDRAW		= 0x00000020,
	///// end PROTECTION_SETTINGS_TO_SHOW_GRAPH_HIDE_DATA
	PLC_READ			= 0x00010000,
	PLC_WRITE			= 0x00020000,
	/// end HIERARCHY_CHECK_ACCESS
	PLC_RENAME			= 0x00040000,	/// RVD 2/3/2010 qa70-15068 PREVENT_LAYER_RENAME
}	PASSWORDLOCKCTRL;
/// end PROJECT_PAGE_LAYER_PASSWORD_PROTECTION

/// TD 5-13-05 QA70-7717 WKS_SAVE_AS_OTW_OGW
enum {
   OOSAS_DATA       = 0x00010000,   // data together with template (like OGW of this sheet only; if the bit is off, then it'll be like saving template)
   OOSAS_STORAGE    = 0x00020000,  // info storage
};
/// end WKS_SAVE_AS_OTW_OGW

enum {	//----- CPY 5/23/05 QA70-7756 SEND_POST_MSG_FOR_ORIGINOBJECT
	PCMD_ORIGIN_INTERNAL = 0x0001,
};

/// RVD 5/25/2005
// moved from okconst.h
typedef enum
{
	OEGI_COLOR				= 0,
	OEGI_BKCOLOR,
	OEGI_STYLE,
	OEGI_SHAPE,
	OEGI_EDGECOLOR,
	OEGI_FILLCOLOR,
	OEGI_PATTERN,
	OEGI_PATTERNCOLOR,
	OEGI_INTERIOR,
	OEGI_CHARACTER,
/// Kenny 08/04/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
#ifdef __TWO_COLOR_SHADING__
	OEGI_BKCOLOR2,
	OEGI_GRADIENT_TYPE,
#endif // __TWO_COLOR_SHADING__
/// End QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
	OEGI_END,
}	OENUMGROUPINDEX;

/// Kenny 11/02/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
// moved from okconst.h
#define	OEG_BIT(_OEGI_index)		(1 << (_OEGI_index))

typedef enum
{
	OEG_COLOR				= OEG_BIT(OEGI_COLOR),
	OEG_BKCOLOR				= OEG_BIT(OEGI_BKCOLOR),
	OEG_STYLE				= OEG_BIT(OEGI_STYLE),
	OEG_SHAPE				= OEG_BIT(OEGI_SHAPE),
	OEG_EDGECOLOR			= OEG_BIT(OEGI_EDGECOLOR),
	OEG_FILLCOLOR			= OEG_BIT(OEGI_FILLCOLOR),
	OEG_PATTERN				= OEG_BIT(OEGI_PATTERN),
	OEG_PATTERNCOLOR		= OEG_BIT(OEGI_PATTERNCOLOR),

	// this is the set of 8 bits that were used by O7
/// Kenny 10/28/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
#ifdef __TWO_COLOR_SHADING__
	OEG_BKCOLOR2			= OEG_BIT(OEGI_BKCOLOR2),
	OEG_GRADIENT_TYPE		= OEG_BIT(OEGI_GRADIENT_TYPE),

	OEG_ALL					= OEG_COLOR | OEG_BKCOLOR | OEG_STYLE | OEG_SHAPE | OEG_EDGECOLOR | OEG_FILLCOLOR | OEG_PATTERN | OEG_PATTERNCOLOR | OEG_BKCOLOR2 | OEG_GRADIENT_TYPE,
#else
/// End QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
	OEG_ALL					= OEG_COLOR | OEG_BKCOLOR | OEG_STYLE | OEG_SHAPE | OEG_EDGECOLOR | OEG_FILLCOLOR | OEG_PATTERN | OEG_PATTERNCOLOR,
#endif // __TWO_COLOR_SHADING__		/// Kenny 10/28/2009 QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS
}	OENUMGROUP;
/// End QA80-14025 TWO_COLOR_SHADING_2D_3D_BAR_PLOTS


//---- CPY 6/15/05 QA70-7752 DATA_READER_EVENT_TO_CALL_OC
#define	DTM_BEGIN	1
#define	DTM_TRACK	100 /// a big number that is bigger than any tool number
#define	DTM_END		0	/// same as tool number zero the pointer
//----

/// EJP 2005-06-24 v8.0256 QA70-5705 ADD_NUM_SEPARATOR_TO_IMPORT_OPTIONS
enum {
	///------ Folger 10/08/2010 ORG-1207-P1 IMPORT_ASCII_NUMERIC_SEPARATOR_AUTO_SUPPORT
	NF_IS_AUTO	= -2,
	///------ End IMPORT_ASCII_NUMERIC_SEPARATOR_AUTO_SUPPORT
	NF_IS_ORIGIN = -1, // follow current Origin Tools:Options settings
	NF_IS_WINDOWS = 0, // follow Windows settings
	NF_IS_AMERICAN,	 // 100,123.45
	NF_IS_EUROPEAN,	 //actually German, 100.123,45
	NF_IS_FRENCH,
	NF_IS_SWISS,
	NF_IS_UNKNOWN,
};
/// end ADD_NUM_SEPARATOR_TO_IMPORT_OPTIONS

/// EJP 2008-07-23 v8.0908 QA80-11837 ADD_PREF_FOR_IMPORT_SEPARATORS
#define IS_IMPORT_SEPARATOR(_nSep) (NF_IS_WINDOWS <= (_nSep) && (_nSep) <= NF_IS_SWISS)
/// end ADD_PREF_FOR_IMPORT_SEPARATORS

//-------------------------------------------- CPY QA70-7895 7/15/05 XF_LT_FUNC_CALLS
//------- CPY 3/4/03 QA70-3995 v7.0527 BETTER_FUNC_LOOKUP_FOR_LABTALK
// arg to IsUsableInLabTalk, usually never 0, so use 0 to indicate quick 1st round test before we
// do more detailed test
#define OC_LABTALK_QUICK_TEST	0
//------- BETTER_FUNC_LOOKUP_FOR_LABTALK
#define OC_MUST_RETURN_DOUBLE	0x0010	  // ok to ret char,int, etc, but not other types, also not void
#define OC_MUST_RETURN_VECTOR	0x0020	  // nothing but vector, dataset
//-------------- CPY v6.9082 8/31/01 t9470 ORIGIN_C_FUNC_RETURN_STR
//#define	OC_CAN_RETURN_ANY		3
#define OC_MUST_RETURN_STRING	0x0040
#define OC_MUST_RETURN_VOID		0x0080
///Kyle 12/30/2008 v8.0992 OKUTIL_FIND_LT_FUNCTIONS_ADD_MATRIX_AS_RETURN_TYPE
//#define OC_CAN_RETURN_ANY		0x00F0
#define OC_MUST_RETURN_MATRIX	0x0001
///------ Folger 12/07/09 QA81-14807 ALLOW_OC_FUNCTION_WITH_VECTOR_COMPLEX_ARGUMENT_INVOKED_FROM_LT
#define OC_MUST_RETURN_COMPLEX	0x0002
///------ End ALLOW_OC_FUNCTION_WITH_VECTOR_COMPLEX_ARGUMENT_INVOKED_FROM_LT
#define OC_CAN_RETURN_ANY		0x00FF
///End OKUTIL_FIND_LT_FUNCTIONS_ADD_MATRIX_AS_RETURN_TYPE
#define OC_SKIP_TEMP_FOLDER		0x0100	///Arvin 06/28/07 QA70-9982 SET_COL_VALUE_FUNCTION_LIST_SUPPORT_FOR_OC_FUNCTIONS
#define OC_ALLOW_LIMITED_LT		0x0200 //CPY 12/6/08 QA70-12736 LT_NEED_MORE_CNTRL_ON_ALLOWING_OC_FUNCS
#define OC_SKIP_LT_AS_FUNC		0x0400 //--- CPY 10/29/09 QA70-14563 SUPPORT_OC_FUNC_NO_NEED_TO_BE_USED_AS_LT_CMD
#define OC_SKIP_XF_TEST			0x0800 //--- CPY QA70-7895 7/15/05 	XF_LT_FUNC_CALLS
//-------------- end CPY v6.9082 8/31/01 t9470 ORIGIN_C_FUNC_RETURN_STR
#define OC_SKIP_COMPILED_TEST   0x1000/// TD 8-2-03 QA70-____ LABTALK_SPEED_IMPROVAMENT
#define OC_INCLUDE_EXTERNAL		0x2000	//-------- CPY t9613 10/18/01 v6.9105 OC_CONTROL_FOR_LABTALK_ACCESS
#define OC_NO_STR_ARG			0x4000	//------- CPY 9/14/01 t9310 v6.9089 ORIGIN_C_DOUBLE_ARG_DOUBLE_RET_AS_VECTOR
// LOWORD use bits above like OC_MUST_RETURN_VECTOR
enum {
	///------ Folger 02/02/10 QUICKFIT_SUPPORT_WITHOUT_ROI_BOX_WITH_CNTRL_KEY_DOWN
	/// In order to save 1 bit, use dwCntrl == 0 means xf listing
	//LTXF_LIST		=			0x10000000,
	LTXF_FROM_HOTKEY		=	0x10000000,
	///------ End QUICKFIT_SUPPORT_WITHOUT_ROI_BOX_WITH_CNTRL_KEY_DOWN
	LTXF_CHECK_NAME =			0x20000000, //--- CPY QA70-7895 7/15/05 	XF_LT_FUNC_CALLS , low word might contain OC_MUST_RETURN_DOUBLE etc
	LTXF_EXECUTE	=			0x40000000,
	LTXF_EXEC_RECALCULATE = 	0x80000000, //---- CPY 5/17/07 QA70-9794 XF_SEPARATE_INTO_TWO_CLASSES_AND_CACHE
	/// ML 3/1/2006 XFUNCTION_IN_VC_AUTOUPDATE_INTERNAL_WORK
	LTXF_NO_CALL			=	0x01000000,		// only pushes and pops stack
	/// end XFUNCTION_IN_VC_AUTOUPDATE_INTERNAL_WORK
//----- CPY 2/3/2007 QA70-9335 XF_RESULTS_LOG_DUMP_MORE_CONTROL
//	LTXF_OUT_RESULTS_LOG =		0x02000000, //--- CPY 2/10/2006 QA70-8324 GLOBAL_NO_RESULTS_CONTROL
	LTXF_NO_CREATE_LT_TREE =	0x02000000, //---- CPY 1/27/2007  XF_RESULTS_LOG_OUTPUT_OPTIONS
//-----
	LTXF_NONUNDOABLE	=		0x04000000,		/// ML 8/29/2005 QA70-7547 UNDOABLE_XF_EXECUTION
	LTXF_BY_FILENAME=			0x08000000, //--- CPY QA70-7895 7/15/05 	XF_LT_FUNC_CALLS, use xf filename instead of composite name
	LTXF_DUMP_OUTPUT_TREE =		0x00100000, /// Iris 9/14/05  QA70-8101 ADD_CONTROL_OUTPUT_RESULT_TREE_OR_NOT, to control if print result tree or not, the bit will not be useful unless LTXF_EXECUTE is up. 
	LTXF_FROM_GUI_MENU =		0x00200000, //--- CPY 10/10/05 XF_EXEC_FROM_GUI_ALSO_NEED_RESULTS_LOG, menu derived dialog
	LTXF_FROM_GUI_PROMPT =		0x00400000, //--- CPY 10/10/05 XF_EXEC_FROM_GUI_ALSO_NEED_RESULTS_LOG, command prompt
	LTXF_FROM_AUTO_UPDATE =		0x00800000, //--- CPY 10/10/05 XF_EXEC_FROM_GUI_ALSO_NEED_RESULTS_LOG
	LTXF_FROM_FUNCTION =		0x00010000, //CPY QA70-8324 3-24-2006	v8.0780 XF_LT_AUTO_OUTPUT_LHS_AS_FUNC, xf(a,c:=1)
	LTXF_SHOW_DIALOG =			0x00020000, /// EJP 2006-06-30 v8.0436 ALWAYS_ASSIGN_ARGS_FROM_CMDLINE
	LTXF_XFBAR =				0x00040000,	//---- CPY 10/10/06 QA70-9039 XF_WIZARD_BAR
	LTXF_THEME_USED	=			0x00080000,	//---- CPY 10/23/06 FFT_LAST_USED_THEME_NOT_CALLING_BEFORE_EXECUTE
	LTXF_CHANGE_PARAM =			0x00001000,	//---- AW 11/15/06 v8.0512 MORE_ON_XF_CALLING
	LTXF_NO_UPDATE_RANGES =		0x00002000,	/// ML 1/5/2007 TRANSLATING_ESCAPED_INPUT_DATA_STRINGS_XF_FOR_RESULTS_LOG
//----- CPY 2/3/2007 QA70-9335 XF_RESULTS_LOG_DUMP_MORE_CONTROL
//	LTXF_OUT_RESULTS_LOG_1ST =	0x00000200,	//---- CPY 1/27/2007  XF_RESULTS_LOG_OUTPUT_OPTIONS
	LTXF_OUT_COMMAND_LOG	=	0x00004000, //---- CPY 2/10/2007 QA70-9335 CMD_WIN_OUTPUT_SHOULD_NOT_SHOW_RESULTS_LOG
	LTXF_USE_FAST_ACCESS	=	0x00008000,	//--------- CPY 5/17/07 QA70-9794 XF_SEPARATE_INTO_TWO_CLASSES_AND_CACHE
	
	LTXF_DO_NOT_RESOLVE_ACTIVE =0x00000100,	  /// YuI 05/24/07 QA70-9829 OPTIONAL_ACTIVE_RESOLUTION_IN_GET_TRANSLATED_TREE
	LTXF_FROM_MRU_MENU		=	0x00000200,   //CPY 7/11/2007 QA70-10010 LAST_USED_THEME_WHEN_RUN_FROM_MOST_RECENT_COMMAND
	LTXF_FROM_MENU_OPEN_DLG =	0x00000400,		//----- CPY 8/24/2007 QA70-10231 ALLOW_THEME_TO_BE_REMEMBER_IF_USER_CHANGED_FROM_DIALOG
	LTXF_SUPPRESS_BEFORE_EXECUTE = 0x00000800, /// YuI 06/24/08 NEED_TO_OPTIONALLY_SUPRESS_BEFORE_EXECUTE
	LTXF_PREFER_LAST_USED_WITH_DIALOG = 0x00000010,	///------ Folger 03/12/09 QA80-13258 SUPPORT_OPEN_DIALOG_WITH_LAST_USED_FROM_MRU
	LTXF_SUPPRESS_ERROR_REPORTING =		0x00000020, /// YuI 04/09/09 QA70-13435 OPTION_TO_SUPPRESS_LT_ERROR_FOR_XF_INVOCATION

	LTXF_SUPRESS_INFO_MSG		=		0x00000040, //---- CPY 8/14/09 QA70-14154 XF_CMD_LINE_OPTN_TO_SUPRESS_INFO_MSG

	LTXF_ALWAYS_SUPPORT_LT		=		0x00000080,	///------ Folger 08/24/09 QA80-10703 RUN_XFM_NOT_WORK_FOR_XF_WITHOUT_DIALOG

	///------ Folger 02/02/10 QUICKFIT_SUPPORT_WITHOUT_ROI_BOX_WITH_CNTRL_KEY_DOWN
	//LTXF_FROM_HOTKEY			= 		0x00000001, /// Hong 12/24/09 QA80-14832 NLFIT_OPEN_BY_HOTKEY_SOPPORT_APPLY_SETTING_FROM_QUICKFIT_WITHOUT_ANY_THEME
	//LTXF_FROM_CONTEXT_MENU		=		0x00000002, ///Sophy 1/11/2010 SUPPORT_OPEN_NLFIT_FROM_QUICKFIT_CONTEXT_MENU
	//LTXF_OUT_RESULTS_LOG_MASK=	0x0000000F,
	////////////////////////////////////////// Special //////////////////////////////////////////
	/// All bits under LTXF_OUT_RESULTS_LOG_MASK should not be used by default.
	/// For Sophy's case,  LTXF_FROM_CONTEXT_MENU is used in QuickFit and NLFit only,
	/// but not go through XF standard exectuion. So anyone who is in similar situation
	/// can use the same mechanism. 
	LTXF_FROM_CONTEXT_MENU		=		0x00000001, ///Sophy 1/11/2010 SUPPORT_OPEN_NLFIT_FROM_QUICKFIT_CONTEXT_MENU
	////////////////////////////////////////// Special //////////////////////////////////////////

	__LAST_BIT_UNUSED__				=	0x00000008,
	LTXF_OUT_RESULTS_LOG_MASK		=	0x00000007,
	///------ End QUICKFIT_SUPPORT_WITHOUT_ROI_BOX_WITH_CNTRL_KEY_DOWN
//-----
};
#define LTXF_MASK_LT_EXEC	0x00F00000	//------ CPY 9/15/05 QA70-8101 CNTRL_FROM_LT_EXECUTE_PASS_ALONG
//-------------------------------------------- end XF_LT_FUNC_CALLS

//----- CPY 2/3/2007 QA70-9335 XF_RESULTS_LOG_DUMP_MORE_CONTROL
//All|Report Tree|First Input|First Output|All Outputs|All Except Trees
enum {
	XF_OUTRLOG_ALL = 1,
	XF_OUTRLOG_REPORT_TREE,
	XF_OUTRLOG_1ST_INPUT,
	XF_OUTRLOG_1ST_OUTPUT,
	XF_OUTRLOG_OUTPUTS,
	XF_OUTRLOG_NO_TREE,
};
//-----

//------- CPY 9/20/06 BETTER_OPEN_DIALOG_FROM_MENU
enum {
	XF_EXEC_OPERATION = 0x01,
	XF_EXEC_USE_THEME_IN_DIALOG = 0x02,
	XF_EXEC_PREFER_DIALOG = 0x04,
	XF_EXEC_PREFER_XFBAR  = 0x08, //----- CPY 10/10/06 QA70-9039 XF_WIZARD_BAR
	XF_EXEC_FROM_MRUAC = 0x10, //CPY 7/11/2007 QA70-10010 LAST_USED_THEME_WHEN_RUN_FROM_MOST_RECENT_COMMAND
	XF_EXEC_PREFER_LAST_USED_WITH_DIALOG = 0x20,	///------ Folger 03/12/09 QA80-13258 SUPPORT_OPEN_DIALOG_WITH_LAST_USED_FROM_MRU
	XF_EXEC_FROM_HOTKEY = 0x40, /// Hong 12/24/09 QA80-14832 NLFIT_OPEN_BY_HOTKEY_SOPPORT_APPLY_SETTING_FROM_QUICKFIT_WITHOUT_ANY_THEME
};
//-------

/// YuI 11/27/06 QA70-9156 MORE_OPTIONS_TO_CONNECTING_OBJECTS
typedef enum tagOBJECTCONNECTORRIGID
{
	OCR_SITE1 = 0x00000001, // if bit is set and site1 is moving - site2 will follow
	OCR_SITE2 = 0x00000002, // if bit is set and site2 is moving - site1 will follow
	///------ Folger 01/23/10 QA81-15025 SUPPORT_NOT_DRAW_GROBJ_EDGE_BY_CONNECTION_IF_UNSELECTABLE
	OCR_CNTRL_BITS_MASK							= 0xFFFF0000,
	OCR_CNTRL_NOT_DRAW_EDGE_IF_UNSELECTABLE		= 0x00010000,
	///------ End SUPPORT_NOT_DRAW_GROBJ_EDGE_BY_CONNECTION_IF_UNSELECTABLE
}	OBJECTCONNECTORRIGID;
/// end MORE_OPTIONS_TO_CONNECTING_OBJECTS


///DSC 8/18/06 QA70-8925 COMPILE_ALL_XF 
#define XF_PC_DO_COMPILE  0x1
#define XF_PC_DO_XFC  0x2
///end COMPILE_ALL_XF 




// OpenExcel options
//----- CPY 4/22/07 QA70-9323 OC_ACCESS_TO_IMPORT_EXCEL
//enum {EXLOM_OPEN, EXLOM_OPEN_READONLY, EXLOM_IMPORT_AS_WKBOOK, EXLOM_UNKNOWN, EXLOM_UNKNOWN_READONLY};	//------------------- CPY 8/8/05 QA70-7978 SEPARATE_EXCEL_OPEN_AS_ORIGIN_BOOK
enum {XL_OPEN, XL_OPEN_READONLY, XL_IMPORT, XL_UNKNOWN, XL_UNKNOWN_READONLY};
//-----
/// TD 8-8-05 QA70-7977 CODE_EDIT_CONTROL_COLOR_OPTIONS
enum
{
	CODEEDIT_PARSE_NO_C_COMMENT				= 0x00000001,
	CODEEDIT_PARSE_NO_CPP_COMMENT			= 0x00000002,
	CODEEDIT_PARSE_NO_OPERATORS				= 0x00000008,
	CODEEDIT_PARSE_NO_QUOTED_STRINGS		= 0x00000010,
	CODEEDIT_PARSE_NO_CHARS					= 0x00000020,
	CODEEDIT_PARSE_NO_CPP_KEY_WORDS			= 0x00000040,
	CODEEDIT_PARSE_NO_LABTALK_KEY_WORDS		= 0x00000080,
	CODEEDIT_PARSE_NO_KEY_WORDS				= 0x000000c0,
};
/// end CODE_EDIT_CONTROL_COLOR_OPTIONS


enum
{
	AUTOCOMPLETE_LT_CMD,
	AUTOCOMPLETE_CMD_SWITCHES,
	AUTOCOMPLETE_XFUNCTION,
	AUTOCOMPLETE_LABTALK_VARIABLE,
	AUTOCOMPLETE_TREE_VARIABLE,
	AUTOCOMPLETE_XF_VAR_IN,
	AUTOCOMPLETE_XF_VAR_OUT,
	AUTOCOMPLETE_XF_VAR_IN_OUT,
	AUTOCOMPLETE_OGS, /// EJP 2007-06-11 v8.0639 QA70-9389 MOVE_AUTOCOMPLETE_TO_VC
	AUTOCOMPLETE_XF_NTH_ARG,	// actual argument before var:=value list
	AUTOCOMPLETE_LT_FUNCS,
	AUTOCOMPLETE_MATH_FUNCS,
};

/// end AUTO_COMPLTE_IN_CODEEDIT


enum RMDATA {
	///////////////////////////////////////////////////////
	// These values are all failures (they are all negative):
	RMDATA_ERR_MULTIPLE_SUBJECTS_DATA						= -100,
	RMDATA_ERR_NO_SUBJECTS_DATA,

	RMDATA_ERR_ONE_WAY_MULTIPLE_SUBJECT_DATA,
	RMDATA_ERR_ONE_WAY_MISSING_SUBJECT_DATA,
	RMDATA_ERR_ONE_WAY_MISSING_VALUES_FOUND,
	RMDATA_ERR_ONE_WAY_GENERAL_ILLEGAL_DATA,


	RMDATA_ERR_TWO_WAY_MULTIPLE_SUBJECT_DATA,
	RMDATA_ERR_TWO_WAY_MISSING_VALUES_FOUND,
	RMDATA_ERR_TWO_WAY_GENERAL_ILLEGAL_DATA,

	RMDATA_ERR_MORE_THAN_ONE_DATA_COLUMN,
	RMDATA_ERR_INVALID_NUMBER_OF_FACTOR_DATA,

	RMDATA_ERR_CANCELED_BY_USER,			///Kyle 09/25/2009 QA80-13617 ALLOW_USER_CANCEL_THE_OPERATION

	///////////////////////////////////////////////////////
	// These values are all successes (they are all positive):
	RMDATA_ONE_WAY									= 1,
	RMDATA_TWO_WAY_ONLY_FIRST_FACTOR_REPEATED,
	RMDATA_TWO_WAY_ONLY_SECOND_FACTOR_REPEATED,
	RMDATA_TWO_WAY_BOTH_FACTORS_REPEATED,
};



/// ML 10/20/2005 ANOVA_INPUT_DATA_TO_DATARANGE
enum {
	DRTREE_DEFAULT					= 0,
	DRTREE_ONE_DATA,
	DRTREE_ANOVA_ONE_WAY_RAW,
	DRTREE_ANOVA_ONE_WAY_INDEXED,
	DRTREE_ANOVA_TWO_WAY_RAW,
	DRTREE_ANOVA_TWO_WAY_INDEXED,
};
/// end ANOVA_INPUT_DATA_TO_DATARANGE
/// TD 11-23-05 QA70-8321 SCREENPTS_CLASS_IN_OC
enum
{
	CURSOR_VERTICAL_GRID_LINES,
	CURSOR_HORIZONTAL_GRID_LINES,
};
/// end SCREENPTS_CLASS_IN_OC

/// ML 1/13/2006 XVARIABLEBASE_TO_VC
typedef enum {
	ERR_UNKNOWN,
	ERR_DATASEL_NO_DATA_SELECTED,
	ERR_DATASEL_MUST_HAVE_Z,
	ERR_DATASEL_MUST_HAVE_Y,
	ERR_DATASEL_MUST_HAVE_X, //for MR
} ORIGIN_ERROR_CODES;
/// end XVARIABLEBASE_TO_VC
 

/// YuI 12/19/05 XFUNCTION_OC_TO_VC_CONVERSION
#define	XFUNCTION_VC_BASED
#ifdef	XFUNCTION_VC_BASED
	#define REPORT_TREE_VC_BASED
	#define SELF_CREATING_RANGE_VC_BASED
	//#define _XVARIABLEBASE_VC_BASED
	#define	XFUNCTION_ENGINE_VC_BASED
	#define	INFO_TYPES_VC_BASED
#endif//XFUNCTION_VC_BASED
/// end XFUNCTION_OC_TO_VC_CONVERSION

//------------- CPY 04/20/07 QA80-9657 v8.0605 IMPROVE_EXPORT_GRAPH_BY_SKIP_HIDDEN
// I noticed that DYNACONTROL_* and DYNALAYOUT_* bits are or together, so they can run into each other, I better clean this up
/*
/// TD 3-3-06 QA70-8490 UPDATE_COMBO_AND_RADIO_CHOICES
// Bits used in dynacontrol update function
enum
{ 
	DYNACONTROL_UPDATE_SHOWHIDE =	0x00000001, 
	DYNACONTROL_UPDATE_ENABLE	=	0x00000002,
	DYNACONTROL_UPDATE_VALUE	=	0x00000004,
	DYNACONTROL_UPDATE_CHOICES	=	0x00000008,
};

/// Bits used in DynaControls CreateControl method
enum
{ 
	DYNACONTROL_CREATE_IN_XFBAR	= 0x00000001,
};
*/
// Bits used in dynacontrol update function
enum
{ 
	DYNACONTROL_UPDATE_SHOWHIDE 	= 0x00010000, 
	DYNACONTROL_UPDATE_ENABLE		= 0x00020000,
	DYNACONTROL_UPDATE_VALUE		= 0x00040000,
	DYNACONTROL_UPDATE_CHOICES		= 0x00080000,
	DYNACONTROL_UPDATE_LABELS		= 0x00100000,
	DYNACONTROL_UPDATE_COMBOS		= 0x00200000, ///---Sim 02-05-2009 QA80-13072 FIX_DYNA_DLG_UPDATE_COMBO_STR_ON_TREE_NODE_EVENT
	DYNACONTROL_UPDATE_NO_SETTREE	= 0x01000000,//----- CPY 4/23/07 QA70-9651 NLFIT_DATA_MODE_CHANGE_PROPER_EVENT
	DYNACONTROL_UPDATE_NUM_FORMAT	= 0x00400000,	///------ Folger 02/09/09 QA80-12786 NODE_NUMBER_FORMAT_CHANGE_SHOULD_UPDATE_DYNACONTROL_BY_SET_TREE
	DYNACONTROL_UPDATE_GROUP_BRANCH	= 0x00800000,	///------ Folger 04/14/09 GROUP_BRANCH_LABEL_FAILS_TO_UPDATE_DYNAMICALLY_IN_2DBINNING
};

//----- CPY 4/23/07 QA70-9651 NLFIT_DATA_MODE_CHANGE_PROPER_EVENT
#define DYNACONTROL_UPDATE_BITS	0x01FF0000
//-----
	

/// Bits used in DynaControls CreateControl method
enum
{ 
	DYNACONTROL_CREATE_IN_XFBAR		= 0x10000000,
};
//------------- end IMPROVE_EXPORT_GRAPH_BY_SKIP_HIDDEN
/// Bits used in DynaControls SetTree method
enum
{ 
	/// SY 2006-12-18 QA70-9217 v8.0528 EDITABLE_PART_ON_NEXT_LINE_FROM_LABEL
	///	DYNACONTROL_BACKGROUND_GRAY				=	0x00000001, per CP request, rename it.
	DYNALAYOUT_NO_AUTO_CLR_ERR_MSG	= 0x00000001, //------------- CPY 4/21/07 QA70-9659 OPTION_TO_CLEAR_ERR_MSG_ON_EVENT
	DYNALAYOUT_SKIP_HIDDEN_BRANCHES	= 0x00000002, //------------- CPY 04/20/07 QA80-9657 v8.0605 IMPROVE_EXPORT_GRAPH_BY_SKIP_HIDDEN
	DYNALAYOUT_BACKGROUND_GRAY		= 0x00000004,
	DYNALAYOUT_1COL_INDENT			= 0x00000008,
	DYNALAYOUT_KEEP_BTN_STATUS		= 0x00000010, ///---Sim 06-22-2007 OPTION_TO_KEEP_BUTTON_STATUS_ON_EVENT
	DYNALAYOUT_PREVIEW_BUTTON		= 0x00000020, ///---Sim 07-09-2007 AUTO_PREVIEW_MECHANISM
	DYNALAYOUT_CONTROL_APPLY_UNDO_BTN_STATUS_SEPARATELY		= 0x00000040, ///---Sim 07-30-2007 SUPPORT_APPLY_AND_UNDO_FOR_DYNA_BOX
	//------ Folger 12/03/07 ADD_AUTO_APPLY_CHECKBOX_TO_ENABLE_AUTO_ALLPY_IN_XF_DYNA_DIALOG
	DYNALAYOUT_AUTO_APPLY_CHKBOX	= 0x00000080,
	//------
	DYNALAYOUT_NO_SET_FOCUS			= 0x00000100, ///Sophy 6/30/2009 v8.1051 QA80-13804 FAIL_TO_SEL_MULTIPLE_COLUMNS_WITH_COLUMN_PROPERTIES_DIALOG_OPEN
	DYNALAYOUT_NO_RESTORE_FOCUS		= 0x00000200, ///---Sim 2009-08-04 QA81-14036 FIX_LOST_FOCUS_ON_COMMAND_WINDOW_WHEN_SHOW_WB_ORGANIZER
	/// end EDITABLE_PART_ON_NEXT_LINE_FROM_LABEL
	DYNALAYOUT_TOOLTIP_TAGNAMES		= 0x00000400, /// TD ML 10/26/2009 QA80-14502_S1 TOOLTIP_TAG_NAMES
	///---Sim 11-13-2009 QA81-14623 NOT_CLOSE_DLG_WHEN_ENTER_PRESSED
	DYNALAYOUT_NOT_CLOSE_ON_ENTER_KEY						= 0x00000800,
	///---END QA81-14623 NOT_CLOSE_DLG_WHEN_ENTER_PRESSED
};
/// end UPDATE_COMBO_AND_RADIO_CHOICES


/// TD 3-9-06 QA70-8490 WRAPPED_CONTROLS_JUSTIFICATION
// moved from GetNBox.h

#define STR_ATTRIB_VERT_GRID_LINES	"GridLines"
#define STR_ATTRIB_LABEL_COLOR		"LabelColor"
#define STR_ATTRIB_BKGRND_COLOR		"BkGrndColor"
#define STR_ATTRIB_TREE_ROW_COLOR	"RowColor"	///Danice 11/15/04 QA70-7169 TREE_ROW_SHOW_ALTERNATE_COLORS
#define STR_ATTRIB_TREE_INDICATOR_COLOR	"IndicatorColor"	///Danice 11/16/04 QA70-7169 MARK_EMPTY_GETN_STR
#define STR_ATTRIB_DISPFMT			"DispFormat" //CPY v7.5763 QA70-5162 11/18/03 GETNBOX_JUSTIFICATION_AND_ENABLE_EDIT ///Frank 10/16/05 COMMENT_NOT_USE_MARCO
#define STR_ATTRIB_EDIT				"Edit" //CPY 6/11/04 GETN_SAVE_SETTINGS_ONLY_LOAD_DEFAULT_IF_NEW
#define STR_ATTRIB_EDITCOL_ALIGN	"EditCol"
#define STR_ATTRIB_MAX_HEIGHT_WIDTH	"HeightWidth"	///DG SUPPORT_MAX_HEIGHT_WIDTH_SETTING
#define STR_ATTRIB_COLOR_READONLY_TEXT	"ReadOnlyTextColor"	/// TD 11-06-06 COLOR_CHOICE_FOR_READONLY
#define STR_ATTRIB_ADDITIONAL_TAB		"AdditionalTabInDynactrl"	/// TD 7-20-07 QA80-10087  ABILITY_TO_TAB_DYNACONTROL_ROWS

/// TD 11-15-06 QA70-9127 DYNACONTROL_USE_CHECK
#define STR_ATTRIB_DYNACONTROL_USE_CHECK			"DynaUseChck"
/// end DYNACONTROL_USE_CHECK
/// TD 7-31-2009 QA80-14044 UNDEFINED_STATE_FOR_SOME_DYNACONTROL_CONTROLS
#define STR_ATTRIB_DYNACONTROL_UNDEFINED			"_Dyna_Undefined"
/// end UNDEFINED_STATE_FOR_SOME_DYNACONTROL_CONTROLS

/// end WRAPPED_CONTROLS_JUSTIFICATION
/// TD 5-30-07 QA80-9845 COLORWELL_OPTIONS_ATTRIBUTE
#define STR_ATTRIB_COLOROPTIONS						"ColorOptionBits"
/// end COLORWELL_OPTIONS_ATTRIBUTE

/// Kenny 02/21/2010 QA81-15136 NEW_MECHANISM_TO_ACCESS_AUTO_COLOR_OF_GETN_COLOR
#define STR_ATTRIB_AUTO_COLOR				"AutoColor"
/// End QA81-15136 NEW_MECHANISM_TO_ACCESS_AUTO_COLOR_OF_GETN_COLOR


/// TD 9-20-2007 QA80-10392  PROJECT_FOLDER_UPDATE_PATH_GUI_IMPROVEMENT
#define STR_ATTRIB_ROOT_FOLDER						"RootFolder"
/// end PROJECT_FOLDER_UPDATE_PATH_GUI_IMPROVEMENT

/// YuI 02/22/08 QA80-11156 DEFAULT_XF_APPLY_BUTTON_IMPLEMENTATION
#define	STR_ATTRIB_SUPPRESS_COMMAND_ERROR_MESSAGE	"SuppressCmdErrMsg"
/// end DEFAULT_XF_APPLY_BUTTON_IMPLEMENTATION

///---Sim 11-18-2009 QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER
#define STR_ATTRIB_DATE_TIME_CUSTOM_FORMAT			"DateTimeCustomFormat"
///---END QA81-14641 DYNA_CTRL_SUPPORT_DATE_TIME_PICKER

/// RVD 3/30/2006 v8.0382 POLYRANGE_THEME
// Unlike the OXLSELECTION above, here
// we need to make sure that the values are ALWAYS 0 offset
// and that r2 and c2 are INCLUSIVE.
/** >Internal Origin Objects>Worksheet
*/
typedef	struct	tagORANGE {
	int			r1;
	int			c1;
	int			r2;
	int			c2;
} ORANGE;
#if defined(_MSC_VER) || defined(__AFX_H__)
typedef ORANGE *LPORANGE;
#define PORANGE LPORANGE
#endif
/// end POLYRANGE_THEME		   

#define STR_GUI_THEME_FILE_ATTRIB		"AdvanThemeFile"	///Hong 09/05/06 STR_GUI_THEME_FILE_ATTRIB
#define STR_MULTI_EDT_EXPSHR_ATTRIB		"MultilineEditExpShrink"/// TD 2-7-07 QA70-9353 MULTILINE_EDITCONTROL_SHRINK_BUTTON


//---------------- CPY Yuri 5/9/2006 INPUT_DATA_USE_DATA_MODE_IN_DYNA_CONTROL
// these were in various places in OC
//
//	Enumeration identifying how GetN analysis dialog is to consider worksheet selections spanning multiple columns.
//
enum {
	INPUTDATA_RANGES, // Each column is considered its own range.
	INPUTDATA_SINGLE_CURVE, // Two columns considered as one XY paired range.
	INPUTDATA_RANGES_CAN_COMBINE, // One or more columns which can be considered as one or more ranges.
	INPUTDATA_CURVES, // Multiple columns considered as multiple XY paired ranges.
	INPUTDATA_NLFIT_CURVES, /// Iris 02/27/2007 v8.0571 REMOVE_GLOBAL_FIT_DATA_MODE_IN_LR_PR_MR, only support Global Fit in NLSF
	INPUTDATA_CURVES_RELATED // Multiple columns considered as related (weights, factors) multiple XY paired ranges.
};
/// ML 10/7/2004 MULTIPLE_DATASET_OPER_TREATMENT
// How multiple report is to be done:
enum 
{
	MDOUT_INVALID				= -1,
	MDOUT_CONSOLIDATED			= 0,
	MDOUT_SEPARATE,
	
	
	MDOUT_DEFAULT 				= MDOUT_CONSOLIDATED, 
	MDOUT_DISABLE_COMBO			= MDOUT_INVALID
};

// How multiple input is to be treated:
enum
{
	MDINPUT_INVALID				= -1,
	MDINPUT_INDEPENDENT			= 0,
	MDINPUT_INDEPENDENT_CONSOLID = MDINPUT_INDEPENDENT,
	MDINPUT_INDEPENDENT_SEPARATE,	
	MDINPUT_CMBND_SIMPLE,
	MDINPUT_GLOBAL_FIT,		/// Iris 2/25/2007 v8.0570 SUPPORT_INDEP_FIT_MODE
	MDINPUT_CMBND_AVE_SE,
	MDINPUT_CMBND_AVE_SD,
	
	
	MDINPUT_DEFAULT				= MDINPUT_INDEPENDENT,
};
/// end MULTIPLE_DATASET_OPER_TREATMENT 
//----------------

/// RVD 6/13/2006 QA70-8615 TABLE_HEADER
typedef enum tagTABLEHEADER
{
	TH_DEFAULT = 0,
	TH_REPORT,
	TH_USER,
}	TABLEHEADER;
/// end TABLE_HEADER

/// RVD 7/5/2006 EXPAND_SERIES_FILL
typedef enum tagEXPANDSERIESFILL
{
	ESF_MISSING = 0,
	ESF_ZERO,
	ESF_BLANK,
}	EXPANDSERIESFILL;
/// end EXPAND_SERIES_FILL

/// RVD 7/10/2006 GRID_CNTRL_THEME
typedef enum tagGRIDCNTRL
{
	GC_EXPAND			=	0x00010000,			// expand report table
	/// RVD 8/24/2006 QA80-8922 v8.0470 CLIENT_RESIZE_ROWCOL
	GC_CLIENT_RESIZE	=	0x00020000,			// recalculate row heights and column widths on client resize
	/// end CLIENT_RESIZE_ROWCOL
}	GRIDCNTRL;
/// end GRID_CNTRL_THEME


/// ML 7/10/2006 QA70-8768 KEEPING_TRACK_OF_GRAPHS_CREATED_FROM_OPERATION
enum OPERIDTOUIDTYPE
{
	OPERIDTOUIDTYPE_GRAPH		= 1,
};
/// end KEEPING_TRACK_OF_GRAPHS_CREATED_FROM_OPERATION

///Kyle 01/12/2009 QA80-12943 v8.0995c ADD_METHOD_TO_GET_AND_SET_LAYER_BORDER_SYTLE
// moved from OKConst.h
typedef enum
{
	OBS_BLACKLINE = 0,
	OBS_SHADOW,
	OBS_DARKMARBLE,
	OBS_WHITEOUT,
	OBS_BLACKOUT,
}	OLDBOLDERSTYLE;

typedef enum
{
	BS_NONE				= -1,
	BS_BLACKLINE		= OBS_BLACKLINE,
	BS_SHADOW			= OBS_SHADOW,
	BS_DARKMARBLE		= OBS_DARKMARBLE,
	BS_WHITEOUT			= OBS_WHITEOUT,
	BS_BLACKOUT			= OBS_WHITEOUT,
}	BORDERSTYLE;
///End ADD_METHOD_TO_GET_AND_SET_LAYER_BORDER_SYTLE

//----- CPY 7/20/06 QA70-8844 LAYER_RESCALE_OPTIONS
/// Axis Type
#define OKAXISTYPE_X	0x0002
#define OKAXISTYPE_Y	0x0004
#define	OKAXISTYPE_Z	0x0001
// low bits OKAXISTYPE_X etc can be used to hold that dim fixed 
enum 
{
	ANL_FIT			=			0x00000010,
	ANL_NO_ROUNDING =			0x00000020,
	ANL_OVERIDE_FIX =			0x00000040,
	ANL_AFTER_ZOOM	=			0x00000080, /// CPY v3.782 ZOOM_DATE_INC 4/16/95

	ANL_NO_EXPAND=				0x00000100,// no X expand 
	ANL_NO_YMIN_EXPAND =		0x00000200,
	ANL_NO_Y_EXPAND =			0x00000400,
	ANL_NO_INIT_LIMITS =		0x00000800,
	//---- CPY 3/20/09 QA70-13031 WINDROSE_ANGLE_MANUAL_SCALE_BUT_STILL_CHANGED_WHEN_PLOTTING
	//ANL_Y =						0x00001000,
	ANL_FROM_NEW_PLOT =			0x00001000,
	//----
	ANL_CHK_EXPAND_SCALE  =		0x00002000,
	ANL_CHECK_TYPE  =	        0x00004000,
	ANL_XY_FIT_NO_EXPAND =		0x00008000, //--- CPY 11/29/04 v8.0169 XYZ_CONTOUR_NEED_FIT_XY_SCALE_WITH_NO_EXTRA
	
	ANL_FIT_TO_MAJOR_TICK =		0x00010000,	///---------change ANL_* into DWORD CPY v4.97 b1813 3/12/97 LOG_SCALE_LIMITS_ROUNDING
	ANL_NO_UPDATE =				0x00020000,	//--------------- CPY 11/16/98 t4263 PROPER_AXIS_SCALE_CHANGE
	ANL_REAL_TIME =				0x00040000,  /// ML 2/2/99 FRAME_BUFFERING_IN_SCROLLING_MODE
	ANL_NO_XINC_CHANGE =		0x00080000,		/// ML QA70-10736 P3 DONT_RECALC_INC_WHEN_TICKLBLS_TEXT
	
	ANL_USE_DATA_IN_XRANGE=		0x00100000,	//---- CPY 12/02/2008 QA70-12691 RESCALE_Y_FROM_AXIS_SCROLL_BAR_TO_SHOW_CURRENT_DATA
	ANL_NEW_1ST_PLOT	=		0x00200000, //--- CPY 7/10/09 QA70-13925 SR5_11063_11731_LEAD_TO_POOR_INC_IN_NEW_PLOTS
	/// Hong 05/14/10 ORG-119-P2 FIX_TICKLBLS_WRONG_INC_WHEN_CATEGORICAL
	ANL_NO_YINC_CHANGE =		0x00400000,
	/// end FIX_TICKLBLS_WRONG_INC_WHEN_CATEGORICAL
	ANL_UNDO	=				0x01000000,//same as OCD_UNDO ///------ CPY ML 8/21/2007 QA70-10058 DRAG_AND_DROP_DATAPLOTS_UNDOABLY
	ANL_NO_INC_CHANGE =			0x02000000, //---- CPY 9/21/09 QA70-14347 INC_SAVED_IN_TEMPLATE_SHOULD_BE_KEPT_IF_POSSIBLE
	ANL_RUN_LT_SIZEMOVE =		0x10000000,
	ANL_CHK_DATA_OUTSIDE =		0x20000000, //----- CPY 7/30/2007 QA70-10133 LAYER_RESCALE_ALLOW_CHECK_IF_DATA_OUTSIDE_FIRST
	ANL_ALL_LINKED_LAYERS_IN_FAMILY = 0x40000000, /// YuI Folger 11/19/09 QA81-14619-P2 LT_COMMAND_LAYER_MA_TO_RESCALE_ALL_LINKED_LAYERS_IN_ONE_FAMILY
};
//----- end	LAYER_RESCALE_OPTIONS

//---CPY RVD 8/11/2006 QA80-8896 v8.0461 THEME_ACCESS_GR_SCRIPT 
//!!!!!!!!!!!! These enumeration maybe remembered in GraphObject and should NOT change their order, new events should be added just before GRCT_LIST_SIZE!!!!!!!!!!!!!//
enum {
	GRCT_NONE,					//0
	GRCT_MOUSEUP,//				1
	GRCT_MOVE, //					2
	GRCT_SIZE, //					3
	GRCT_SIZEMOVE,	//				4
	GRCT_REDRAW,	//					5
	GRCT_DDE,	//					6
	GRCT_WINCREATE,	//				7
	GRCT_WINCLOSE, //				8
	GRCT_WINACTIVATE, //			9
	GRCT_WINDEACTIVATE, //			10
	GRCT_NEWSELECTION, //			11
	GRCT_BEFORE_SAVE, //			12
	GRCT_AFTER_SCALE_CHANGE, //		13
	GRCT_ANY_EVENT,  //				14
	GRCT_DATAMASK_CHANGE,		//	15	///Sophy 12/4/2009 QA80-14799 EXPOSE_DATAMASK_EVENT_TO_OC_GRAPHOBJECT
	GRCT_LIST_SIZE};


enum
{
	GOC_NO_RESIZE			= 0x00000001,
	GOC_NO_ROTATE			= 0x00000002,
	GOC_NO_SKEW				= 0x00000004,
	GOC_NO_EDIT				= 0x00000008,
	GOC_NO_IN_PLACE_EDIT	= 0x00000010,
	GOC_NO_BORDERSIZE		= 0x00000020,
	GOC_NO_HMOVE			= 0x00000040,
	GOC_NO_VMOVE			= 0x00000080,
	/// RVD 11/14/2005 QA70-9124 v8.0511 GROBJ_AUTOHIDE_STATE
	GOC_AUTOHIDE			= 0x00000100,
	GOC_NO_SELECT			= 0x00000200,
	GOC_REV_USER_DEL		= 0x00000400, //---CPY 3/19/2007 QA70-9481 CMD_GR_OBJ_NEED_TO_ALLOW_DEL_WHILE_NORMAL_OBJ_NEED_NO_DEL
	/// end GROBJ_AUTOHIDE_STATE
	GOC_NO_DEL_SEL_PT		= 0x00000800,	/// RVD 4/1/2008 QA70-11338 v8.0836 DELETE_POLYLINE_SELECTED_POINT
	/// YuI 09/24/08 QA70-12264 OPTION_TO_SELECT_GR_OBJECT_BEFORE_DATA
	GOC_HITTEST_BEFORE_DATA	= 0x00001000,
	/// end OPTION_TO_SELECT_GR_OBJECT_BEFORE_DATA
	GOC_MM_TEXT				= 0x00002000,	/// RVD 10/23/2008 QA70-12444 v8.0961 UIM_DIALOG_FONTS_NO_RESIZE
	/// YuI 08/20/09 QA70-14169 OPTION_TO_PRINT_GR_EVEN_IF_PROGRAMMING_CONTROL
	GOC_EXPORT_PROGRAMMED	= 0x00004000,
	/// end OPTION_TO_PRINT_GR_EVEN_IF_PROGRAMMING_CONTROL
	GOC_NO_TRANSPARENT		= 0x00008000,	/// RVD 6/1/2010 NO_TRANSPARENT_HITTEST
	GOC_NO_MOVE				= GOC_NO_HMOVE|GOC_NO_VMOVE,
	GOC_NO_STATE			= GOC_NO_MOVE|GOC_NO_RESIZE|GOC_NO_ROTATE|GOC_NO_SKEW|GOC_NO_EDIT,
};

//----

/// TD 8-21-06 OPTIONAL_STRETCHING_OF_BMP_IN_PICTURE_CONTROL
//PictureControl DrawMode values
#define PCDM_STRETCH_MASK 0x000F
enum
{
	PCDM_STRETCH_FILL				= 0,
	PCDM_STRETCH_KEEP_ASPECT_RATIO,	 // and center
	PCDM_STRETCH_TOP_LEFT,	 // keep aspect ratio but align top left
	PCDM_NO_STRETCH
};
/// end OPTIONAL_STRETCHING_OF_BMP_IN_PICTURE_CONTROL

/**> Internal Origin Objects > DataSheet
*/
typedef enum tagAUTOSIZE   //--- RVD 8/28/2006 QA70-8941
{
	AS_SELECTION	= 0x00010000,
	AS_NOWIDTH		= 0x00020000,
	AS_NOHEIGHT		= 0x00040000,
	AS_INVALIDATE	= 0x00080000,
} AUTOSIZE;

//----- CPY 9/10/06 QA70-2167 WKS_SCRIPT_CHANGES_FOR_80
// Worksheet Script to run on the following changes
#define	WKSC_CNTL_IMPORT	0x01
#define	WKSC_CNTL_PASTE		0x02
#define	WKSC_CNTL_DATA		0x04
// script to be LT for or CNF form
#define WKSC_CNTL_LT_MULTILINES	0x08	// before 80, wks script is cnf type line by line execution without needing to add ;
//-----	end WKS_SCRIPT_CHANGES_FOR_80
///------ Folger 03/26/09 QA80-13350 RUN_WKS_SCRIPT_AFTER_COLUMNS_STRUCTURE_CHANGED
#define	WKSC_CNTL_EXEC			0x10	/// move from Frame.h
#define	WKSC_CNTL_WKS_STRUCT	0x20
///------ End QA80-13350 RUN_WKS_SCRIPT_AFTER_COLUMNS_STRUCTURE_CHANGED


/// TD 9-11-06 QA70-8950 NEW_SPARKLINE_GRAPHS
/*
enum
{
	GPGETPICT_SAVE_IN_PAGE			= 0x00010000,    // whether the image should be cached
	GPGETPICT_HIDE_AXES				= 0x00020000,    // hides Axes
	GPGETPICT_HIDE_LEGENDS			= 0x00040000,    // hides legends
	GPGETPICT_HIDE_SPECTRUMS		= 0x00080000,    // hides spectrums
	GPGETPICT_HIDE_TEXT_OBJS		= 0x00100000,    // hides texts
	GPGETPICT_SPARKLINE_MASK		= 0x001E0000,    // the "sparkline style" of drawing:
	GPGETPICT_SPARKLINE_LARGE		= 0x00000001,    // the copy in clipboard is larger than default
	GPGETPICT_SPARKLINE_CLIPBOARD	= 0x00000002,    // put a copy onto clipboard
};


enum
{
	EMBEDGRAPH_KEEP_ASPECT_RATIO	= 0x00000010,	 // Keep Aspect Ratio
	EMBEDGRAPH_IN_LABELS			= 0x00000400,	 // Embeds the graph in Label
	EMBEDGRAPH_HIDE_AXES			= 0x00000800,    // hides Axes
	EMBEDGRAPH_HIDE_LEGENDS			= 0x00001000,    // hides legends
	EMBEDGRAPH_HIDE_SPECTRUMS		= 0x00002000,    // hides spectrums
	EMBEDGRAPH_HIDE_TEXT_OBJS		= 0x00004000,    // hides texts
	EMBEDGRAPH_SPARKLINE_MASK		= 0x00007800,    // the "sparkline style" of drawing:
	EMBEDGRAPH_CACHE_IN_PAGE		= 0x00008000,    // cache image in page

};
*/


enum EMBEDGRAPHOPTION
{
	EMBEDGRAPH_KEEP_ASPECT_RATIO	= 0x00000010,	 // Keep Aspect Ratio
	EMBEDGRAPH_IN_LABELS			= 0x00000020,	 // Embeds the graph in Label
	EMBEDGRAPH_DO_UNDO				= 0x00000040,	 /// TD 10-10-2007 QA80-10510 UNDO_SUPPORT_FOR_ATTACHMENTS_IN_WKS_CELL	
	EMBEDGRAPH_DISPLAY_MASK			= 0x000000F0,	 // Embeds the graph in Label

	EMBEDGRAPH_HIDE_AXES			= 0x00000100,    // hides Axes
	EMBEDGRAPH_HIDE_LEGENDS			= 0x00000200,    // hides legends
	EMBEDGRAPH_HIDE_SPECTRUMS		= 0x00000400,    // hides spectrums
	EMBEDGRAPH_HIDE_TEXT_OBJS		= 0x00000800,    // hides texts
	EMBEDGRAPH_SPARKLINE_LARGE		= 0x00004000,    // the copy in clipboard is larger than default
	EMBEDGRAPH_SPARKLINE_CLIPBOARD	= 0x00008000,    // put a copy onto clipboard
	EMBEDGRAPH_SPARKLINE_MASK		= 0x0000FF00,    // the "sparkline style" of drawing:

	EMBEDGRAPH_CACHE_IN_PAGE				= 0x00100000,    // cache image in page
	EMBEDGRAPH_NO_RESIZE_CELL				= 0x00200000,	//----- CPY 12/9/06 INSERT_GRAPH_NEED_OPTION_NOT_TO_RESIZE_CELL
	EMBEDGRAPH_MOVE_IF_ALREADY_EMBEDDED		= 0x00400000, /// YuI 09/20/07 QA70-10397 SHOULD_ALLOW_SETREPORTTREE_TO_MOVE_EMBEDDED_GRAPH_TO_DIFFERENT_LOCATION
	EMBEDGRAPH_NO_PASTE_FROM_CLIPBOARD		= 0x00800000,		///------ Folger 04/08/09 QA80-13397-P1 PASTE_LONG_STR_CAUSE_INFINITE_LOOP_OF_EMBEDING_NOTES
/// end SHOULD_ALLOW_SETREPORTTREE_TO_MOVE_EMBEDDED_GRAPH_TO_DIFFERENT_LOCATION
};

#define	EMBEDGRAPH_SPARKLINE_DEFAULT (EMBEDGRAPH_HIDE_AXES|EMBEDGRAPH_HIDE_LEGENDS | EMBEDGRAPH_HIDE_SPECTRUMS | EMBEDGRAPH_HIDE_TEXT_OBJS | EMBEDGRAPH_SPARKLINE_LARGE)

#define GPGETPICT_HIDE_TEXT_OBJS 	   EMBEDGRAPH_HIDE_TEXT_OBJS
/// end NEW_SPARKLINE_GRAPHS

/// RVD 9/11/2006 QA80-8781 v8.0479 PLOT_STACK_WITH_OFFSET
typedef enum
{
	PLOTSTACK_NONE = 0,
	PLOTSTACK_CUMULATIVE,
	PLOTSTACK_CONST,
	PLOTSTACK_AUTO,
	PLOTSTACK_INDIVIDUAL,
}	PLOTSTACK;
/// end PLOT_STACK_WITH_OFFSET

/// RVD 10/4/2006 QA70-9021 v8.0493 INCREMENT_LIST_STRETCH
typedef enum
{
	ISM_NONE = 0,
	ISM_ONE,
	ISM_STRETCH,
	/// YuI 07/17/09 QA70-13962_P1 BINNED_STRETCH_INCREMENT_MODE
	ISM_STRETCH_BINNED,
	/// end BINNED_STRETCH_INCREMENT_MODE
}	INCSTRETCHMODE;
/// end INCREMENT_LIST_STRETCH

//---- CPY 10/13/06 QA70-9050 DATA_ACCESS_AS_TEXT
enum { 
	GDAT_FULL_PRECISION = 0x0001,
	GDAT_MISSING_AS_DASHDASH = 0x0002,
};
//-----

/// SY 2006-10-20 QA70-9062 v8.0498 NEW_SCALER_GROBJ
typedef enum
{
	SAP_None = 0,
	SAP_Begin,
	SAP_Middle,
	SAP_End,
}	SCALERAXISPOS;
/// end NEW_SCALER_GROBJ

//----- CPY 10/23/06 QA70-9074 EXPORT_ASCII_FOUND_TEXT_EXCLUDED_IF_ON_TOP_OR_BOTTOM
/**> Import Export
*/
enum GDROPTION { 
	GDR_NO_ADJUST, GDR_SKIP_NON_NUMERIC, GDR_SKIP_MISSING_BLANK
};
//-----

/// RVD 11/6/2006 SCALER_UNITS
// moved from okconst.h
typedef enum
{
	UNITS_INCH	=	0,
	UNITS_CM,
	UNITS_MM,
	UNITS_PIXEL,
	UNITS_POINT,
	UNITS_SCALE,
	UNITS_LAYER,
	UNITS_PAGE,
} DISPLAY_UNITS;
/// end SCALER_UNITS

//--- CPY 3/2/2007 QA70-9433 CONVERT_LAYER_AREA
// moved from okconst.h
/** >Internal Origin Objects > Page
*/
typedef enum
{
	M_PERCENT,
	M_INCH,
	M_CM,
	M_MM,
	M_PIXEL,
	M_PT,
	M_LINK,
}	LAYER_OMETRICS;
//----
///Jasmine 03/06/07 QA70-9433 CONVERT_LAYER_UNITS
enum
{
	WIDTH_POS, 
	HEIGHT_POS, 
	LEFT_POS, 
	TOP_POS, 
	TOTAL_POS
};	
///End CONVERT_LAYER_UNITS

/// YuI 11/25/06 QA70-9091 BIN_WKS_AUTOUPDATE
#define	 HISTOGRAM_STORAGE_TAG	"_HISTOGRAM"
/// end QA70-9091 BIN_WKS_AUTOUPDATE

/// YuI 11/27/06 QA70-9156 MORE_OPTIONS_TO_CONNECTING_OBJECTS
#define	CONFINE_CONNECTOR_RECT_ZERO_MARGIN	(-123456789)
/// end MORE_OPTIONS_TO_CONNECTING_OBJECTS

/// ML 12/7/2006 COLUMN_LABELS_STRINGS
#ifdef _MSC_VER	   // VC
	#define		_OL(_arg)		_arg
#endif // _MSC_VER

#define STR_LONG_NAME_LABEL				_OL("Long Name")
#define STR_UNIT_LABEL					_OL("Units")
#define STR_COMMENTS_LABEL				_OL("Comments")
#define STR_SPARKLINE_LABEL				_OL("Sparklines")
#define STR_SAMPLE_RATE_LABEL			_OL("Sampling Interval")
/// end COLUMN_LABELS_STRINGS

//---- CPY QA70-9221 IMPORT_ASV_NEED_READING_MULTI_LINE_CELLS
#define FRS_EOL_CRLF_ONLY	0x0001	// only consider \r\n as end of line, \n will be read as part of string
#define FRS_EOL_LF_OR_CRLF	0x0002	// supports both \r\n and \n	//---- CPY 8/16/2007 QA70-10260 CSV_FROM_MAC_WITH_LF_ONLY 
#define FRS_TYPE_UNICODE	0x1000	/// AW 12/24/06 QA80-9231 SUPPORT_READ_UNICODE_FILE 
//----

//---- CPY 1/2/2007 QA70-9168-P2 POPUP_MENU_FOR_COMMON_COL_CHOICES
//m_nCommonColsMode = 0; 	
enum {
	COMMCMODE_SHORT_NAMES,
	COMMCMODE_LONG_NAMES,
	COMMCMODE_COL_INDEX, // of first sheet
	COMMCMODE_MASK						= 0x000F,
	COMMCMODE_KEEP_ORDER				= 0x1000,

};
//---

///Cheney 2006-12-28 QA80-9231 SUPPORT_READ_UNICODE_FILE
//move from OUnicode_utils.h
typedef enum
{
	UNICODE_NON		= 0,
	UNICODE8		= 0x1000,
	UNICODE16_LITLE = 0x2000,
	UNICODE16_BIG	= 0x3000,
	UNICODE32_LITLE = 0x4000,
	UNICODE32_BIG	= 0x5000,
	UNICODE_ANY		= 0x7000,///Cheney 2007-8-24 CLEAN_HARD_CODE
}UniCode_Type;
///end 	SUPPORT_READ_UNICODE_FILE

//Worksheet::GetReportTree 
typedef enum 
{
	GRT_TYPE_RESULTS,
	GRT_TYPE_GUI,
} ReportTreeNodeType;



/// ML 1/16/2007 QA70-9272 CLEARING_OPERATION_OUTPUTS_ON_CLEARING_INPUT_WORKSHEET
enum {
	CWOD_SHRINK_COLS						= 0x00000001,
	CWOD_WARNING							= 0x00000002,
	CWOD_CLEAR_OPERATIONS_OUTPUTS_ETC		= 0x00000004,
	CWOD_CLEAR_EMBEDDINGS					= 0x00000008,/// TD 09-06-2007 QA80-10266 CLEAR_WORKSHEET_TO_CLEAR_EMBEDDINGS
	CWOD_ONLY_ADD_TO_ARRAY					= 0x00000010,	/// ML 1/21/2009 QA70-12996 SAVING_OGW_OR_OPJ_AS_ANALYSIS_TEMPLATE
	CWOD_NO_CLEANUP_UNDO_STACK				= 0x00000020,	///------ Folger 09/14/09 CLEAR_DATA_SUPPORT_NO_CLEAUP_UNDO_STACK
};
/// end CLEARING_OPERATION_OUTPUTS_ON_CLEARING_INPUT_WORKSHEET
/// TD 1-18-07 QA70-9274  ALLOW_SPECIFIC_STORAGE_TYPES_NAME_ACCESSS
enum
{
	STORAGE_TYPE_INI	= 0x00000001,
	STORAGE_TYPE_BINARY = 0x00000002,
	STORAGE_TYPE_ALL	= 0x00000003,
};
/// end  ALLOW_SPECIFIC_STORAGE_TYPES_NAME_ACCESSS
/// TD 1-17-07 QA70-9274  READONLY_STATUST_TO_STORAGE_AND_ITS_SECTIONS
enum
{
	OSA_READONLY			= 0x00000001,
	OSA_STRUCTURE_CONTROLLED	= 0x00000002,
};
// end  READONLY_STATUST_TO_STORAGE_AND_ITS_SECTIONS

///Cheney 2007-1-30 MOVE_SOME_FUNCTION_FOR_NLFIT_REPORT_TO_VC
enum {
	ESC_LABEL_ADD_NONE, 
	ESC_LABEL_ADD_RANGE, 
	ESC_LABEL_ADD_INDEX
};
///end MOVE_SOME_FUNCTION_FOR_NLFIT_REPORT_TO_VC

///Cheney 2007-2-6 ADD_OPTION_TO_SUPPORT_SPECIAL_NUM_FORMAT_FOR_ASCIMP	
enum{
	ASC_IMP_DECIMAL_FORMAT,
	ASC_IMP_BIN_FORMAT,
	ASC_IMP_HEX_FORMAT,
};
///end ADD_OPTION_TO_SUPPORT_SPECIAL_NUM_FORMAT_FOR_ASCIMP


/// RVD 2/19/2007 QA70-9371 v8.0566 WKS_SELECTION_FILL
#define		POLYRANGE_AUTOFILL	"AutoFill"
#define		BEFORE_AUTOFILL		"Before"
#define		AFTER_AUTOFILL		"After"
/// end WKS_SELECTION_FILL

#define STR_OP_VERSION	"OperationVersionNum" //----- CPY 11/19/2007 QA70-10708 OPERATION_NEED_VERSIONING_TO_FIX_BUGS_IN_OUR_CODE 
#define STR_OP_INDV_VERSION	"OperationIndividualVersionNum" ///---Sim 04-02-2009 QA80-13403 ADD_INDIVIDUAL_OP_VERSION_FOR_CONVERT_GUI_TREE
#define STR_XF_VERSION	"XF_Version_Num" 	///Joseph	02/06/07	ADD_VERSION_NUMBER_ATTRIBUTE
///---Sim 04-20-2007 QA70-9659 OPTION_TO_CLEAR_ERR_MSG_ON_EVENT
#define STR_XF_BITS		"XF_Bits"
///---END QA70-9659 OPTION_TO_CLEAR_ERR_MSG_ON_EVENT

/// ML 2/26/2007 LAYER_CONTENTS_SETTING_ACTIVE_LAYER_NODE_EXPANDED_OTHER_COLLAPSED_ON_SETTREE
#define		STR_ACTIVE_LAYER			"ActiveLayer"	// attribute in resulting tr if applicable
/// end LAYER_CONTENTS_SETTING_ACTIVE_LAYER_NODE_EXPANDED_OTHER_COLLAPSED_ON_SETTREE

//------- CPY 6/7/07 QA70-9891 LOAD_EXCEL_OPTION_TO_SKIP_STYLES
/* moved to okconst.h
/// RVD 3/2/2007 SPEEDUP_EXCEL_IMPORT
typedef enum
{
	RXC_VALUE				= 0x00010000,
	RXC_STYLE				= 0x00020000,
	RXC_DEFAULT				= RXC_VALUE|RXC_STYLE,
}	READEXCELCNTRL;
/// end SPEEDUP_EXCEL_IMPORT
*/
enum {
	XLIMP_SKIP_STYLES = 0x01,
};
//------ end LOAD_EXCEL_OPTION_TO_SKIP_STYLES

/// SY 2007-03-06 QA70-9440 v8.0577 OC_METHOD_REDUCE_SIZE
enum {
	DORS_DEL_BEFORE_AFTER		= 0x01,
	DORS_UPDATE_SAMPLE_INTERVAL = 0x02,
	DORS_UNDO					= 0x04,
};

enum {
	DORS_ERR_NUM_SKIP				= -100,
	DORS_ERR_NUM_BLOCK				= -101,
	DORS_ERR_UPDATE_SAMPLE_INTERVAL	= -102,
	DORS_ERR_SERIES_COPY			= -103,
};
/// end OC_METHOD_REDUCE_SIZE

/// SY 2007-03-07 QA70-9388 v8.0577 MRU_FOR_TEMPLATE_OGW
enum {
	PAGE_ST_ADD_TO_MRU_LIST			= 0x00000001,
};
/// end MRU_FOR_TEMPLATE_OGW

/// TD 3-13-07 QA70-9473 OC_CALLBACK_FOM_NLFIT
enum 
{
	NLFCBK_BEGIN,
	NLFCBK_NEW_ITERATE,
	NLFCBK_END,
};
/// end OC_CALLBACK_FOM_NLFIT

/// SY 2007-03-19 QA70-9471 v8.0585 LOCALIZE_XF_DESCRIPTION
// Move from DataIDs.h
//---- CPY 8/26/05 ADD_HELP_TO_XF
// various language help are all inside branch ID =  IDV_HELP_BRANCH, but with diff repeat id
enum {
	IDRS_HELP_E = 0x0100, // we need 2 levels of repeat id, so help will go to higher bits in the repeat id WORD
	IDRS_HELP_J = 0x0200,
	IDRS_HELP_G = 0x0300,
	IDRS_HELP_C = 0x0400, // Chinese
};
//----
/// end LOCALIZE_XF_DESCRIPTION

enum {LABELS_NUM_DEC,LABELS_NUM_SCI,LABELS_NUM_ENG,LABELS_NUM_COMMA, MAX_NUM_NUMERIC_FORMATS};	///Jasmine 03/26/07 MOVE_MAKE_FORMAT_STR_TO_LABUTILS, from frame.h

/// RVD 4/4/2007 QA70-9574 GRID_PRINT_SETTINGS
typedef enum
{
	/// RVD 3/17/2009 QA70-13294 WKS_PAGE_ORIENTATION
	GPC_PAGE_PORTRAIT	= 0x00000001,	// DMORIENT_PORTRAIT
	GPC_PAGE_LANDSCAPE	= 0x00000002,	// DMORIENT_LANDSCAPE
	/// end WKS_PAGE_ORIENTATION
	GPC_HORZ_GRIDS		= 0x00010000,
	GPC_VERT_GRIDS		= 0x00020000,
	GPC_ROW_HEADER		= 0x00040000,
	GPC_COL_HEADER		= 0x00080000,
	GPC_PAGE_HEADER		= 0x00100000,
	GPC_PAGE_FOOTER		= 0x00200000,
	GPC_BACKGROUND		= 0x00400000,
	GPC_EMPTY_ROWS		= 0x00800000,
	GPC_EMPTY_COLS		= 0x01000000,
	GPC_FRAME			= 0x02000000,
	GPC_PAGE_BOUNDS		= 0x04000000,	/// RVD 2/22/2008 QA70-11158 v8.0811 DRAW_GRID_PAGE_BOUNDS

	GPC_GRIDS			= GPC_VERT_GRIDS|GPC_HORZ_GRIDS,
	GPC_PAGE			= GPC_PAGE_HEADER|GPC_PAGE_FOOTER,
	GPC_EMPTY			= GPC_EMPTY_ROWS|GPC_EMPTY_COLS,
	GPC_PAGE_ORIENTATION	= GPC_PAGE_PORTRAIT|GPC_PAGE_LANDSCAPE,	/// RVD 3/17/2009 QA70-13294 WKS_PAGE_ORIENTATION

	/// RVD 2/21/2008 qa70-8609 NEW_DEFAULT_GRID_LINES
	//GPC_DEFAULT			= GPC_GRIDS | GPC_ROW_HEADER | GPC_COL_HEADER | GPC_BACKGROUND | GPC_FRAME,		/// SY 2007-05-22 QA70-9575 v8.0624 PRINT_OPTIONS_FOR_WKS_PRINT
	GPC_DEFAULT			= GPC_ROW_HEADER | GPC_COL_HEADER | GPC_BACKGROUND,
	/// end NEW_DEFAULT_GRID_LINES

}	GRIDPRINTCNTRL;

#define		GRID_PRINT_MARGIN_FACTOR_MM		100
/// end GRID_PRINT_SETTINGS

//--------------- CPY 4/13/07 QA70-9623 CENTRALIZED_MSG_OUT_FOR_OC_AND_INTERNAL
enum {
	OUTMSG_NONE,
	OUTMSG_CMD_OUT,	 // current command prompt output, can be Command Window or Script Window
	OUTMSG_CMD_OUT_OPEN_SCRIPT_WIN,	// if no current command prompt output, will open Script Window
	OUTMSG_CB_CMD_OUT,		  // CodeBuilder command output
	OUTMSG_CB_COMPILER_OUT,	  

	OUTMSG_SCRIPT_WIN,		// classic script window regardless of current command prompt
	OUTMSG_SCRIPT_WIN_FORCE_OPEN,
};
//---------------


/// ML 4/19/2007 QA70-9643 XOUTPUT_AS_XINPUT_CHECKING
enum {
	RNGINTSCT_NONE			= 0,	// no intersections
	RNGINTSCT_FULL,					// all exact matches
	RNGINTSCT_PARTIAL,				// some intersect, but not exact matches
};
/// end XOUTPUT_AS_XINPUT_CHECKING

/// TD 5-18-07 QA80-9654 OPTION_FOR_MULTI_SELECTION
enum
{
	SCD_SINGLE_SELECTION	= 0x00000001,
	/// TD 10-03-2007 QA80-10447  CONFUSING_BIT_NAMES_CLEANUP
	//SCD_SINGLE_XYRANGE		= 0x00000002,/// TD 6-21-07 QA80-9947 COLUMN_BROWSER_AT_XYSUBRANGES
	//SCD_MULTIPLE_XYRANGE	= 0x00000004, /// TD 7-13-07 QA80-10054  COLUMN_BROWSER_AT_XYRANGES
	// We see no need for identifing the root and brach nodes of XYRanges any more
	// since we see that the OC codes only needs to know if this is a XYrange or not
	SCD_XYRANGE				= 0x00000002,
	/// end CONFUSING_BIT_NAMES_CLEANUP
	
	SCD_NO_RESULT_SHEET		= 0x00000010,///Jasmine 09/28/07 QA70-10305 FILTER_OUT_NON_IMAGE_MATRIX
	SCD_IMAGE_MATRIX_ONLY	= 0x00000020,
	SCD_VECTOR_TYPE			= 0x00000040, /// TD 10-29-2007 QA80-10415  NEW_BIT_TO_INDICATE_VECTOR
	SCD_ONLY_SELECTABLE_IN_LAYER  = 0x00000080, /// Iris 03/26/2009 QA80-13295-P3 GOTO_DLG_SUPPORT_COL_BROWSER

};
/// end OPTION_FOR_MULTI_SELECTION

/// YuI 07/18/07 QA70-10083 RANGE_NOTATION_FOR_PLOT_REFER_TO_COLUMN
enum
{
	CCB_NOT_HANDLED,
	CCB_HANDLE_OK,
	CCB_HANDLE_CANCEL,
};
/// end RANGE_NOTATION_FOR_PLOT_REFER_TO_COLUMN

/// ML 5/21/2007 QA70-9805 EXTRACTING_DATA_BY_ROWS_BETTER
// Possible rrrors when extracting data by rows (DRR_BY_ROWS):
enum {
	EXTRACTBYROWSERR_MULTIPLE_SHEETS					= -100,	// data coming from multiple sheets is illegal
	EXTRACTBYROWSERR_UNEVEN_COLUMNS,							// all selected ranges columnwise must have the same starting and ending columns
};
/// end EXTRACTING_DATA_BY_ROWS_BETTER

/// ML 5/24/2007 QA70-8342 RECALCULATING_WHISKERS_ETC_ON_PD_DLG_CHANGE
enum 
{
	STATPLOTUPDATE_DEFAULT								= 0,
	STATPLOTUPDATE_STYLE_CHANGE_ONLY,
};
/// end RECALCULATING_WHISKERS_ETC_ON_PD_DLG_CHANGE


//----- CPY 6/12/07 QA70-9908 PERCENT_TEXT_NEED_MORE_OPTIONS
enum {
	PT_SKIP_MISSING = 0x01,
	PT_SKIP_MASKED  = 0x02,
	PT_UNIQUE_TEXT	= 0x04, // count unique text only, ignore all sequencial repeats
};
//-----

/// YuI 06/15/07 QA70-9920 MOUSE_POINTER_CONTROL_FROM_ORIGIN_C
typedef enum tagGRAPHOBJECTMOUSEPOINTER
{
	GOMP_NONE				= -1,
	GOMP_SIZE_ALL			= 18,
	GOMP_CROSS				= 23,
	GOMP_OBJECT_WITH_SCRIPT = 61,
	//-------------Folger 07/04/07 ADD_SOME_MOVE_CURSOR_IS_NEEDED
	GOMP_MOVE_HORIZONTAL		= 62,
	GOMP_MOVE_VERTICAL			= 63,
	GOMP_MOVE_SQUARE			= 64,
	GOMP_MOVE_SQUARE_HORIZONTAL	= 65,
	GOMP_MOVE_SQUARE_VERTICAL	= 66,		
	//-------------end ADD_SOME_MOVE_CURSOR_IS_NEEDED
}	GRAPHOBJECTMOUSEPOINTER;
/// end MOUSE_POINTER_CONTROL_FROM_ORIGIN_C


/// ML 7/12/2007 OPTIONALLY_NOT_TO_SET_COLUMN_NAMES_FROM_TAGNAMES
// SetReportTree options:
enum {
	SETGRTR_REUSE_EXISTING_COLUMNS_FIRST_TIME				= 0x00010000,
	SETGRTR_NO_SET_COLUMN_NAME_IN_FLAT_FOR_VECTOR			= 0x00020000,
	SETGRTR_USE_SUPPLIED_POLYRANGE_FIRST_TIME				= 0x00040000,/// YuI 08/28/07 QA70-10285 REPORT_DATA_FAILS_IF_CREATED_AFTER_CHANGE_PARAM
	SETGRTR_USE_STATIC_LABEL_ROW_POS						= 0x00080000, //CPY 11/02/08 QA70-12480-P4 STATS_ON_ROWS_PUT_LN_INTO_1ST_LABEL_ROW_WHICH_COULD_BE_UNITS
	SETGRTR_FROM_RECALC_NO_DLG								= 0x00100000, ///---Sim 2009-08-10 QA81-14062-P1 UPDATE_OLD_PRJ_XF_OUTPUT_COMMENT
	SETGRTR_ALWAYS_UPDATE_COLUMN_LABELS						= 0x00200000, ///------ Folger 10/12/09 QA80-14449 REPORTDATA_SHOULD_NOT_UPDATE_SN_LN_WHEN_RECALCULATE
	SETGRTR_UNDO											= 0x00400000UL,		///------ Folger 10/28/09 QA81-14554 XF_REPORTDATA_OUTPUT_UNDO_SUPPORT
};
/// end OPTIONALLY_NOT_TO_SET_COLUMN_NAMES_FROM_TAGNAMES

/// Hong 07/20/07 QA80-9828-P7 v8.0664 FIX_REIMPORT_BINARY_DIADEM_DUPLICATE_STORAGE_INFO
// DataSheet::ImportASCII options:
enum {
	IMPASC_NOT_SAVE_STORAGE_INFO	= 0x00010000,
	/// Hong 07/10/08 QA80-11785 v8.0899 SPEED_UP_CSV_IMPORT_USING_IMPORTASCII
	IMPASC_EOL_CRLF_ONLY			= 0x00020000, // refer to FRS_EOL_CRLF_ONLY
	/// end SPEED_UP_CSV_IMPORT_USING_IMPORTASCII
	IMPASC_SKIP_QUOTED_EOL			= 0x00040000,	/// Hong 08/20/09 QA80-10260 FIX_FAIL_CORRECTLY_IMPORT_MULTILINES_IN_ONE_CELL_CSV_FILE_CREATED_IN_MAC
};
/// end FIX_REIMPORT_BINARY_DIADEM_DUPLICATE_STORAGE_INFO


//----- CPY 7/25/2007 QA70-10105 GET_RANGE_STR_NEED_ACCESS_TO_INTERNAL_CONTROL
enum NTYPEOPTION {
	NTYPE_AUTO, 
	NTYPE_INDEX, 
	NTYPE_INDEX_ONLY, 
	NTYPE_SHORT, 
	NTYPE_LONG, 
	NTYPE_SHORT_NAME_ONLY,
	NTYPE_SHORT_TYPE_LONG, //For now Only for DataObjects Format :ShortName(Designation) : LongName
	
	NTYPE_FOR_RANGE,  /// ML 7/20/2007 QA70-10083 LONG_NAMES_SHOWN_IN_RANGE_NOTATION

	NTYPE_SHORT_LONG,//----- CPY 7/30/2007 USE_SIMPLER_COL_NAMES_IN_RANGE_COMBO

	NTYPE_GOOD_LN_OR_SN,		///Kyle 07/20/2009 QA80-13746-P2 SCV_COL_COLUMN_BROWSER_AND_RANGE_BROWSER_SHOW_SN_LN_CLEANUP
	NTYPE_NAMED_RANGE,			/// YuI 12/14/09 QA70-13806 VIRTUAL_MATRIX_IMPLEMENTATION

	NTYPE_MASK					= 0x0000000F,

	NTYPE_LAYER_NO_EXCLAMATION  = 0x00000100,
	NTYPE_ADD_ROW_RANGE			= 0x00000200, // cannot use together with GETLC_NO_ROWS
	/// YuI 08/28/09 QA70-14224 INIT_FROM_SELECTION_SHOULD_SKIP_HIDDEN_PLOTS
	NTYPE_ADD_NON_AUTO_ROW_RANGE = 0x00000400, // same as NTYPE_ADD_ROW_RANGE but only if not auto
	/// end INIT_FROM_SELECTION_SHOULD_SKIP_HIDDEN_PLOTS
	NTYPE_CHECK_ADD_MANGLE_TO_NUMERIC_SN = 0x00000800,		///Kyle 11/27/2009 QA80-11347-P6 FORCE_TO_CHECK_ADD_MANGLE_TO_NUMERIC_SHORT_NAME
	NTYPE_BOOKSHEET_XY_RANGE	= 0x00100000, //DRR_GET_DEPENDENT= 0x00100000UL,
	
	/// YuI 08/06/07 QA70-10107 RANGE_STRING_FROM_RANGE_IS_NEEDED
	NTYPE_BOOKSHEET_XY_RANGE_WITH_DESIGNATIONS 
								= 0x00200000,
	/// end RANGE_STRING_FROM_RANGE_IS_NEEDED

	NTYPE_QUOTE_LN_ONLY_IF_SPACE= 0x00400000, /// CPY 07/26/08 QA70-11868 AUTOMATIC_GENERATION_OF_COMMENTS_FOR_XF_OUTPUTS

	NTYPE_NO_BOOKSHEET			= 0x00800000, //--- CPY 7/21/09 QA80-13746-P2 SCV_COL_COLUMN_BROWSER_AND_RANGE_BROWSER_SHOW_SN_LN_CLEANUP_VC_CHANGE

	// means without Col(), Mat(), Plot()
	NTYPE_NO_OBJ				= 0x01000000, ///---Sim 2009-08-04 QA81-14062-P2 SUPPORT_OUTPUT_COMMENT_AS_LONG_NAME_ONLY

	//----------------------------0xFFFF0000 are reserved for GETLC_PAGE_SHORT_NAME etc
};
//-----

/// RVD 7/30/2007 QA70-10131 v8.0671 AddPlot_SHOULD_ADD_ERRORBAR
enum
{
	ADDPLTPFROMPLT_FAIL_IF_DATASET_ALREADY_PRESENT					= 0x00000001,
	ADDPLTPFROMPLT_ERRORBAR											= 0x00000002,
	ADDPLTPFROMPLT_ADD_EVEN_IF_DATASET_PRESENT						= 0x00000004,	/// ML 9/7/2007 QA70-10313 ALLOW_ADDING_DATAPLOT_VIA_DATPLOT_EVEN_IF_PRESENT
};
/// RVD 7/30/2007 QA70-10131 v8.0671 AddPlot_SHOULD_ADD_ERRORBAR

//------ CPY 8/9/2007 QA70-10199 WKS_SET_SIZE_NEED_MORE_OPTIONS
enum {
	WSS_CLEAR_DATA	= 0x0001,  // default fill with missing 
	WSS_FILL_ZERO	= 0x0002,
	WSS_FILL_BLANK	= 0x0004,
};
#define WSS_FILL_TYPES 0x00000006


/// ML 8/14/2007 QA70-7183 QA70-6454 FLEXIBLE_INTERMEDIARY_BITMAP_COLOR_DEPTH_FOR_RASTER_EXPORTS
enum {
	COLORDEPTHCHOICE_AUTO					= 0,
	COLORDEPTHCHOICE_MONOCHROME,
	COLORDEPTHCHOICE_16,
	COLORDEPTHCHOICE_256,
	COLORDEPTHCHOICE_65536,
	COLORDEPTHCHOICE_TRUE_COLOR,
};
/// end FLEXIBLE_INTERMEDIARY_BITMAP_COLOR_DEPTH_FOR_RASTER_EXPORTS


//---- CPY 9/26/2007 COPY_FOLDER_FOR_GROUP_NEED_RESET_ATTRIB for copy_file function
#define LUCF_MAKE_FOLDER		0x00000001
#define LUCF_COPY_ATTRIBUTES	0x00000002
#define LUCF_FAIL_IF_EXIST		0x00000004
#define LUCFR_ERR_MAKE_FOLDER	1
#define LUCFR_ERR_COPY_FILE		2
//----

//---- CPY 10/4/07 QA80-10375 CENTRALIZED_FONT_MANAGER_IN_MOCAVC
#define FONT_STYLE_BOLD			0x0008			// = BF_BOLD
#define	FONT_STYLE_ITALIC		0x0002			// = DF_ITALIC  
#define	FONT_STYLE_UNDERLINED	0x0001			// = DF_UNDERLINE 
//----

//---------- CPY 10/27/2007 QA70-10605 OC_ACCESS_TO_PAGE_NOTSAVED_BITS
// Page control bits that are not saved into OPJ, only for transient controls
// page->SetFlag(DWORD dwBit, BOOL bSet)
// page->TestFlag(DWORD dwBit)
// please note that HIWORD bits are used internally, not visible here
#define PGDWNS_DISABLE_LT_EVENTS						0x0001
#define	PGDWNS_PLOT_EXCLUDED_FROM_MANAGER				0x0002  /// TD 6-1-07 QA80-9854  SOME_PAGES_TO_BE_EXCLUDED_FROM_MANAGER
//----------

//----- CPY 11/09/2007 NLFIT_REPORT_NEED_BETTER_RESCALE_CONTROL
enum RESCALECONTROL {
	GORR_DATA_ZERO_WIDTH = -5,
	GORR_DATA_ZERO_HEIGHT = -4,

	GORR_NO_OVERLAP = 0,

	GORR_OVERLAPPED = 1,
};
//------ end NLFIT_REPORT_NEED_BETTER_RESCALE_CONTROL

//------

/// ML 11/14/2007 QA70-10619 P1 DELETING_COLUMNS_WITHOUT_DESTROYING_OPERATION
// The method Worksheet::DeleteCol() dwCtrls:
enum WKSDELCTRL {
	WKSDELETECOL_LEAVE_OPER_RANGES				= 0x00010000,		// it will not remove ranges/operations if an intersecting column is being deleted
};
/// end DELETING_COLUMNS_WITHOUT_DESTROYING_OPERATION

/// RVD 12/3/2007 QA70-10771 v8.0760 FIX_THEME_LIMIT_REACHED_ERROR
typedef enum
{
	OTERROR_UNKNOWN	= 0,
	OTERROR_MEMORY,
	OTERROR_SETSTYLE,
	OTERROR_GETSTYLE,
	OTERROR_STRUCTURE,
	OTERROR_INSERTBRANCH,
	OTERROR_INSERTLEAF,
	OTERROR_INSERTVALUE,
	OTERROR_SETVALUE,
	OTERROR_CLIPBOARD,
	OTERROR_ELEMENT,
	OTERROR_TRANSLATE,
	OTERROR_SETINDEX,
	OTERROR_CONVERT,
	OTERROR_CREATE,
	OTERROR_XML,
}	OTHEMEERROR;
/// end FIX_THEME_LIMIT_REACHED_ERROR

//---- CPY 12/24/07 QA70-10867 IMPORT_EXCEL_INTO_EXISTING_SHEET
// moved here from okconst.h
/// RVD 3/2/2007 SPEEDUP_EXCEL_IMPORT
typedef enum
{
	RXC_VALUE				= 0x00010000,
	RXC_STYLE				= 0x00020000,
	/// RVD 1/1/2008 qa70-10872 v8.0778 IMPORT_EXCEL_GRID_STYLE_FORMAT
	//RXC_DEFAULT				= RXC_VALUE|RXC_STYLE,
	RXC_VALUE_FORMAT		= 0x00040000,
	RXC_DEFAULT_VALUE		= RXC_VALUE|RXC_VALUE_FORMAT,
	RXC_DEFAULT				= RXC_DEFAULT_VALUE|RXC_STYLE,
	/// end IMPORT_EXCEL_GRID_STYLE_FORMAT
}	READEXCELCNTRL;
/// end SPEEDUP_EXCEL_IMPORT
//----

///---Sim 01-22-2008 MOVE_FROM_NLFIT_SESSION
///Jasmine 01/22/08 SIM_ASK_FOR_NUMBER_DATASET_AND_NUMBER_PARAMS
#define STR_FIT_DATASET_NUM_ATTRIB			"NumberDataset"
#define STR_FIT_1_DATASET_PARA_NUM_ATTRIB	"OneDSParaNum"
///End SIM_ASK_FOR_NUMBER_DATASET_AND_NUMBER_PARAMS
///---END MOVE_FROM_NLFIT_SESSION

//------------- CPY 2/13/2008 QA70-11016 AUTO_FILL_CHECK_CELL_TYPE
enum {
	GEMSK_CELL_LINK = 0x00000001, // cell://a[1], but can also be a tree var link to another cell which might be GEMSK_EMBED or GEMSK_OBJ_LINK type

	GEMSK_OBJ_LINK	= 0x00000002,	// link to graph, link to matrixobj etc, cell holds the link string like graph://graph1

	GEMSK_EMBED		= 0x00000004,	// any kind of embedded object, graph, EMF, bitmap etc that has a separate container
								// to hold the actual object, cell will only contain a signature string as shown on status bar
								// this signature string will be used to decide if neighbouring cells should merge

	GEMSK_OTHER_LINK= 0x00000008,	// similar to GEMSK_CELL_LINK, so no separate cache, but not linked to another cell.
								// maybe link to a LT variable or link to a tree node. But if linked to a treenode that has embedded or linked graph, then
								// should use the GEMSK_CELL_LINK bit since in that case, we know for certain that it is really linked to another cell
	GEMSK_EMBED_INT = 0x00000040, // for notes embedded into cell, which requires in-place edit inside the cell

	//---- CPY 05/22/09 QA70-13659 NO_AUTOFILL_IF_EMBEDDINGS_IN_BEGIN_RANGE
	// the followings are enabled by GETVALOPTS_GET_EMPTY_INFO only
	GEMSK_NANUM		= 0x00001000,
	GEMSK_EMPTY_STR = 0x00002000,
	GEMSK_OUTSIDE	= 0x00004000, // < i1 or > i2, imax
	//----
	GEMSK_RESERVED	= 0xFFFF0000,
};
#define GEMSK_LINK_CELLS_MASK		(GEMSK_CELL_LINK | GEMSK_OBJ_LINK | GEMSK_OTHER_LINK)
#define GEMSK_SPECIAL_CELLS_MASK	0x0001F	 // any linking embedding cell
//------------- end AUTO_FILL_CHECK_CELL_TYPE

///Justin 2007-06-22 QA-9951 FILTER_OUT_PEAKS_THAT_SIGN_NOT_CORRESPONDING_TO_DIRECTION
/////Arvin 2006-4-17 ADD_FOR_FIND_PEAKS_BY_1ST_DERIVATIVE
//enum
//{
//	POSITIVE_DIRECTION = 1,
//	NEGATIVE_DIRECTION,
//	BOTH_DIRECTION
//};
///END ADD_FOR_FIND_PEAKS_BY_1ST_DERIVATIVE
///control how to find peak:
#define POSITIVE_DIRECTION			0x00000001  
#define NEGATIVE_DIRECTION			0x00000002
#define BOTH_DIRECTION				(POSITIVE_DIRECTION | NEGATIVE_DIRECTION)
#define KEEP_OPPOSITE_SIDE			0X00000004  //	keep the postitive-direction peaks that less than 0 and negative-direction peaks that large than 0 
///-----Arvin 03/11/08 REPLICA_AUTO_INIT_PARAMS_FOR_SURFACE_FIT
// combo entries are organized in the same order of Pos,Neg,Both
#define PK_DIRECTION_MASK			0x00000003
#define PK_DIR_INDEX_TO_BITS(_NCOMBOINDEX)  (_NCOMBOINDEX + 1)
///-----

///Jack	12/26/2008 CHANGE_BOOL_CONTROL_INTO_DWORD_OPTIONS_CTRL
#define	OCMATH_NONE_OPTION							0x00000000
#define OCMATH_INTEGRATE_WITH_BOUNDS_SORT			0x00000001
#define OCMATH_INTEGRATE_WITH_BOUNDS_EXTRAPOLATE	0x00000002
///End CHANGE_BOOL_CONTROL_INTO_DWORD_OPTIONS_CTRL

//------ Folger 04/17/08 CLEAN_UP_ORIGIN_INI_FILE_NAME
#define	STR_ORIGIN_INI_FILE_NAME		"Origin.ini"	// was origin.ini /// DSC 4/6/09 QA70-13396 STANDARDIZE_ORIGIN_INI_CASE
//------

/// TD 05-20-2008 QA80-11576 COLORED_TEXT_STATIC_IN_OC
enum
{
	COLORTEXTBLINK_OFF,
	COLORTEXTBLINK_NORMAL,
	COLORTEXTBLINK_SLOW,
	COLORTEXTBLINK_FAST,
	COLORTEXTBLINK_DEFAULT, //May or may not blink with normal frequency depending upon the seetings in origin.ini/// TD 06-13-2008 QA80-11576 DOUBLE_CLICK_TO_DISABLE_BLINK
};
/// end COLORED_TEXT_STATIC_IN_OC

//------ Folger 07/08/08 IMPROVE_OKUTIL_GET_TOKENS_BY_SUPPORTING_IGNORE_QUOTES
enum {
	GT_IGNORE_QUOTES		= 0x0001,
};
//------

/// Hong 07/23/08 v8.0907 IMPROVE_IMPORT_EXCEL_ERROR_MESSAGE
enum
{
	EXCEL_ERR_UNKNOWN = -20,
	EXCEL_ERR_FILE_NO_FOUND,
	EXCEL_ERR_FILE_ALREADY_EXIST,
	EXCEL_ERR_SHARE_VIOLATION,
};
/// end IMPROVE_IMPORT_EXCEL_ERROR_MESSAGE

//---- CPY YURI 10/3/08 QA70-12327 WKS_CROSSTAB_FUNCTION 
enum {
	CRTB_PRIMARY_KEY_COL_SORTED = 0x0001,  // nvRow already sorted assending to make the call much faster
	CRTB_ADD_COL_SUM			= 0x1000,
	CRTB_ADD_ROW_SUM			= 0x2000,
};

/**> Internal Origin Objects > DataSheet
*/
enum CPYTOPTION {
	CPYT_EXTERN_UPDATE_ORIGIN		= 0x00000001,
	/// YuI 11/05/08 QA70-12530 WORKSHEET_COPYTO_EXPANSION
	CPYT_COPY_COLUMN_FORMAT			= 0x00000002,
	CPYT_COPY_COLUMN_DESIGNATIONS	= 0x00000004,
	/// end WORKSHEET_COPYTO_EXPANSION

	CPYT_COPY_COLUMN_LABELS			= 0x00000008,			  ///Kyle 11/19/2008 ADD_COPY_LABELS_OPTION_TO_WORKSHEET_COPYTO
	CPYT_COPY_COLUMN_SN				= 0x00000010,			  ///Kyle 11/21/2008 ADD_COPY_SHORT_NAMES_OPTION_TO_WORKSHEET_COPYTO
/// Hong 02/16/09 QA80-13108 FIX_WKS_EXTRACTED_FAIL_DO_RECALCULATION
	CPYT_COPY_COLUMN_STORAGE		= 0x00000020,
/// end FIX_WKS_EXTRACTED_FAIL_DO_RECALCULATION

	CPYT_APPEND_BY_ROW				= 0x00000040,				///------ Folger 04/24/09 QA80-4588 BATCH_PROCESS_ANALYSIS_TEMPLATE_WITH_MULTIPLE_DATA
	CPYT_APPEND_INDIVIDUAL_COL_BY_ROW	= 0x00000080,			/// Hong 04/27/09 QA80-8454 SUPPORT_MORE_WKS_DATA_MANIPULATION_CAPABILITIES
	CPYT_ALLOW_SAME_LAYER_IF_NOT_INTERSECT	= 0x00000100,		/// Hong 10/22/09 QA80-14475-S1 USE_RANGE_INPUT_OUTPUT_TO_SUPPORT_COLUMN_RANGE
	CPYT_COPY_MASK					= 0x00000200,				///---Sim 12-09-2009 QA81-14524-P6 FIX_REDUCE_ROW_TO_NEW_COL_MISS_MASK_STATUS
	///------ Folger 03/17/10 QA81-15215 BATCH_PROCESS_SHOULD_SKIP_EMPTY_CELLS_WHEN_APPENDING
	CPYT_SKIP_EMPTY					= 0x00000400,
	///------ End BATCH_PROCESS_SHOULD_SKIP_EMPTY_CELLS_WHEN_APPENDING
};
//----


/// ML 10/24/2008 QA70-12327 CROSSTABBING
// Crosstabbing quantities:
/**> Internal Origin Objects > DataSheet > Worksheet
*/
enum CTTYPE {
	CT_COUNT				= 1,
	CT_MIN,
	CT_MAX,
	CT_SUM,
	CT_MEAN,
};

/// end CROSSTABBING

///Kyle 08/21/2009 QA80-14189 CrossTab_CALCULATE_ROW_TOTAL_AND_COLUMN_TOTAL
// Worksheet::CrossTab() control bits
enum CrossTabCntrl
{
	CROSS_TAB_ROW_TOTAL		= 0x00000001,
	CROSS_TAB_COL_TOTAL		= 0x00000002,

	///Kyle 08/25/2009 QA80-14189-P2 CrossTab_MOVE_NORMALIZE_BY_COLUMN_TOTAL_TO_VC
	CROSS_TAB_NORMALIZE_BY_COLUMN_TOTAL		= 0x00000004,
	CROSS_TAB_NORMALIZE_PERCENT				= 0x00000008,			// this bit will be use only when CROSS_TAB_NORMALIZE_BY_COLUMN_TOTAL is on, by percent if check, otherwise by fraction
	///End CrossTab_MOVE_NORMALIZE_BY_COLUMN_TOTAL_TO_VC
};
///End CrossTab_CALCULATE_ROW_TOTAL_AND_COLUMN_TOTAL

//--Sandy 2008-12-17 ADD_PROGRESSBOX_THRESHOLD_NUM
#define NLFIT_DATA_POINTS_THRESHOLD_TO_SHOW_PROGRESSBOX 100000
#define NLFIT_NUM_PEAKS_THRESHOLD_TO_SHOW_PROGRESSBOX 20
#define PAINT_NUM_PEAKS_THRESHOLD_TO_SHOW_PROGRESSBOX 100
//end ADD_PROGRESSBOX_THRESHOLD_NUM

///------ Folger 02/03/09 QA80-13032 SUPPORT_COPY_LAYER_SCALE_FOR_COPY_IMAGE_DATA
enum
{
	IMAGE_COPY_SCALE			= 0x00010000,
};
///------ End SUPPORT_COPY_LAYER_SCALE_FOR_COPY_IMAGE_DATA

///Kyle 03/03/2009 QA80-13149 RoundBinningRange_SUPPORT_SPECIFYING_INCREMENT
// used in RoundBinningRange argument dwSpecify
enum {
	RBR_ROUND_TO_MINOR_TICKS	= 0x0001,
	RBR_SPECIFY_WIDTH			= 0x0002,
};
///End RoundBinningRange_SUPPORT_SPECIFYING_INCREMENT

///------ Folger 03/20/09 QA80-13326 SUPPORT_ACCESS_AXIS_POSITION_IN_OC
/// move from okconst.h
typedef enum
{
	AXIS_POS_DEFAULT = 0,
	AXIS_POS_PERCENT,
	AXIS_POS_REAL,

	AXIS_POS_LOGICAL,		/// used in OCAxisObj::SetPosition
}	AXISPOS;
///------ End SUPPORT_ACCESS_AXIS_POSITION_IN_OC

/// RVD 3/27/2009 QA70-13357 THEME_CUSTOM_TICK_LABELS
typedef enum
{
	OK_MT_AUTO = 0,
	OK_MT_HIDE,
	OK_MT_SHOW,
	OK_MT_MANUAL,
}	AXISMANUALTICK;

typedef enum
{
	ALA_CENTER = 0,
	ALA_BETWEEN,
	ALA_NEXT,
}	AXISLABELALIGN;
/// end THEME_CUSTOM_TICK_LABELS

/// RVD 3/31/2009 QA70-13368 THEME_CONTOUR_BOUNDARY
enum
{
	TRICONTBOUNDARYTYPE_DATA = 0,
	TRICONTBOUNDARYTYPE_LAYER,
	TRICONTBOUNDARYTYPE_CUSTOM,
};
#define		STR_COL_OFFSET_B		"Col (offset "
#define		STR_COL_OFFSET_E		")"
/// end THEME_CONTOUR_BOUNDARY

///------ Folger 04/10/09 QA80-13420 ACCESS_AXIS_LABEL_TYPE_AND_FORMAT_FROM_OC
/// move from okconst.h
typedef enum
{
	OULABEL_NUMERIC,
	OULABEL_TEXT,
	OULABEL_TIME,
	OULABEL_DATE,
	OULABEL_MONTH,
	OULABEL_DAYOFWEEK,
	OULABEL_COLUMN,
	OULABEL_DATASET,
	/// YuI 09/27/01 v6.9091 t9456 IMPLEMENTATION_OF_CATEGORICAL_PLOT
//#ifdef CATEGORICAL_PLOT_SUPPORTED
	OULABEL_CATEGORICAL,		/// assume OULABEL_CATEGORICAL is always defined
//#endif
	/// end IMPLEMENTATION_OF_CATEGORICAL_PLOT
	OULABEL_STROBJ,	/// RVD 3/20/2009 qa70-13324 STRING_TICK_LABELS
	OULABEL_ERROR,
}	OULABELTYPE;
/// end IMPLEMENT_THEME_DEPENDENCY

typedef enum
{
	AXISLABELACCESS_INVALID_TYPE				= -100,
	AXISLABELACCESS_MISMATCHED_TYPE_AND_FORMAT,

	AXISLABELACCESS_NO_ERROR = 0,
} AXISLABELACCESSERROR;

///------ End ACCESS_AXIS_LABEL_TYPE_AND_FORMAT_FROM_OC

/// Hong 04/27/09 QA80-8454 SUPPORT_MORE_WKS_DATA_MANIPULATION_CAPABILITIES
enum
{
	WKSSTACKCOL_BY_ROW					= 0x00000001,
	WKSSTACKCOL_DROP_NON_STACKED		= 0x00000002,
	WKSSTACKCOL_REMOVE_MISSING_VALUE	= 0x00000004,
};

enum
{
	WKSJOINROWS_BY_MATCH_COLUMN		= 0x00000001,
	WKSJOINROWS_DROP_MULTIPLES		= 0x00000002,			// only available when WKSJOIONROWS_BY_MATCH_COLUMN is present
	WKSJOINROWS_INCLUDE_NON_MATCHES	= 0x00000004,			// only available when WKSJOIONROWS_BY_MATCH_COLUMN is present
};
/// end SUPPORT_MORE_WKS_DATA_MANIPULATION_CAPABILITIES

/// Hong 06/29/09 QA80-8454 REWRITE_UNSTACK_COLS_WITH_NEW_REQUIEMENT
enum
{
	WKSUNSTACKCOL_INCLUDE_MISSING_AS_ONE_GROUP			= 0x00000001,
	WKSUNSTACKCOL_INCLUDE_NON_UNSTACK_COLUMNS			= 0x00000002,
	///------ Folger 09/04/09 UNSTACK_SUPPORT_ALL_DATA_ALIGNMENT
	WKSUNSTACKCOL_KEEP_ALL_DATA_ALIGNMENT				= 0x00000004,
	///------ End UNSTACK_SUPPORT_ALL_DATA_ALIGNMENT
};
/// end REWRITE_UNSTACK_COLS_WITH_NEW_REQUIEMENT

/// YuI 06/08/09 QA70-13748_P1 IMAGE_CROP_CORRUPTS_DATA_MODE
typedef enum	tagSETLEADBITMAPCONTROL
{
	SLB_NO_RESET_XYMAP			= 0x00000001,
	SLB_SET_DATA_DIMENSIONS		= 0x00000002,
}	SETLEADBITMAPCONTROL;
/// end IMAGE_CROP_CORRUPTS_DATA_MODE
///------ Folger 05/11/09 QA80-13571 CHECK_ADD_FILE_EXT_SHOULD_RETURN_PROPER_ERROR
typedef enum
{
	CHECKADDFILEEXT_EXCEED_MAXFILENAME	= -100,
		
	CHECKADDFILEEXT_UPDATE_SUCCESSFULLY	= 0,
	CHECKADDFILEEXT_UPDATE_NO_NEED,
	
	CHECKADDFILEEXT_HAS_EXTENSION,
	CHECKADDFILEEXT_HAS_NOT_EXTENSION,
} CHECKADDFILEEXTERROR;
///------ End CHECK_ADD_FILE_EXT_SHOULD_RETURN_PROPER_ERROR

///---Sim 05-20-2009 QA80-13612 MOVE_TEMPLATE_UTILS_FROM_OC_TO_VC
#define STR_USER_PATH_ATTRIB "User"
///---END QA80-13612 MOVE_TEMPLATE_UTILS_FROM_OC_TO_VC

/// ML 6/5/2009 QA70-13617 MEMORY_FAILURE_CHECKING_ON_HUGE_PIVOTTABLES
enum {
	CTERROR_BEGIN						= -27000,
	CTERROR_GENERAL						= CTERROR_BEGIN,
	CTERROR_INVALID_COLUMN_INDEX,
	CTERROR_INVALID_WKS,
	CTERROR_OUT_OF_MEMORY,
	CTERROR_CANCELED_BY_USER,				///Kyle 09/25/2009 QA80-13617 ALLOW_USER_CANCEL_THE_OPERATION
};
/// end MEMORY_FAILURE_CHECKING_ON_HUGE_PIVOTTABLES

/// TD ML 06-19-2009 QA80-13551_P4 OC_ACCESS_TO_PAGE_SLIDE_SHOW
enum
{
	SLIDE_SHOW_TERMINATE	= 0x00000000,
	SLIDE_SHOW_STAY_LAST	= 0x00000001,
	SLIDE_SHOW_REPEAT		= 0x00000002,
	SLIDE_SHOW_STAY_BLACK	= 0x00000003,
	SLIDE_SHOW_MODE_MASK	= 0x0000000F,

	SLIDE_SHOW_INFOLINE_TOP		= 0x00001000,
	SLIDE_SHOW_INFOLINE_BOTTOM	= 0x00002000,
	SLIDE_SHOW_FOLLOW_ORIGIN	= 0x00004000,	///Sophy 3/25/2010 QA80-15232 SLIDE_SHOW_DISPLAY_ON_SAME_MONITOR_AS_ORIGIN_APP_WIN_SUPPORT
};
/// end OC_ACCESS_TO_PAGE_SLIDE_SHOW

#define STR_GROBJ_NUMERIC_VARS_SIGNIFICANT_DIGITS					"SD"	///Kenny 06/10/2009 ADD_SIGNIFICANT_DIGITS_STORAGE_NAME_FOR_VERTICAL_CURSOR

///Kenny 06/12/2009 SHARE_STORAGE_NAME_FOR_VERTICAL_CURSOR
#define STR_VERTICAL_CURSOR_BINARY_STORAGE_NAME						"VerticalCursor"
//  All the tagname of node in the BinaryStorage of page that representing UID must suffixed with this text since we depend on it to reuid in VC level.
#define STR_VERTICAL_CURSOR_BINARY_STORAGE_UID_NODE_NAME_SUFFIX		"UID"
///End SHARE_STORAGE_NAME_FOR_VERTICAL_CURSOR

///------ Folger 07/03/09 QA80-13876 FIND_AND_REPLACE_IMPROVEMENT_IN_DATARANGE
enum
{
	DATARANGE_FIND_NEXT_SUCCESSFULLY_FOUND				= 0x00010000,
	DATARANGE_FIND_NEXT_INPUT_MATCHED_CONDITIONS		= 0x00020000,
	DATARANGE_FIND_NEXT_SUCCESSFULLY_REPLACE_INPUT		= 0x00040000,

	DATARANGE_FIND_NEXT_INVALID_ARGUMENT				= 0x00000001,	/// Kenny 08/04/2009 QA80-13876-P2 FIX_BUG_IN_NUMERIC_FIND_REPLACE_FOR_NOT_EQUAL_CONDITION
};

enum
{
	DATARANGE_REPLACE_FAIL_TO_SET_CELL_VALUES			= 0x00000001,
	
	DATARANGE_REPLACE_INVALID_ARGUMENT					= 0x00000002,	/// Kenny 08/04/2009 QA80-13876-P2 FIX_BUG_IN_NUMERIC_FIND_REPLACE_FOR_NOT_EQUAL_CONDITION
};
///------ End FIND_AND_REPLACE_IMPROVEMENT_IN_DATARANGE

///------ Folger 07/23/09 QA80-13420-P2 XF_BASED_PLOTTING_NEEDS_GETN_TREE_AND_AUTO_UPDATE_SUPPORT
#define			XF_BASED_OC_PLOTTING_FUNCTION_FORMAT		"%s_CreatePlots"
///------ End XF_BASED_PLOTTING_NEEDS_GETN_TREE_AND_AUTO_UPDATE_SUPPORT

/// RVD 8/4/2009 qa70-14064 DELETE_WKS_NAMED_STYLE_PROPERTY
enum
{
	STYLE_NOCHILDREN	= 0x00000001,	// set or get style to object, but not its children, e.g. if you want to get page styles, but not layers, set this bit and GetFormat will execute much faster
	STYLE_COMPLETE		= 0x00000002,	// theme tree is complete, which means during setting style it will clecanup the collection first. Only applicable to named styles in wks so far.
	STYLE_UNDO			= 0x00000004,	// if bit is set, it will enable undo, otherwise undo objects are not created (faster)
	STYLE_REPAINT		= 0x00000008,	// if bit is set, it will repaint object after SetFormat is called
	STYLE_RELATIVE		= 0x00000010,	// if bit is set, format tree is returned relative to the object level, if not if is always absolute, e.g. starting with page level (for graphs).
};
/// end DELETE_WKS_NAMED_STYLE_PROPERTY

/// TD 07-06-2009 QA80-14093 PAGEBASE_STATUS_IN_FOLDER_ACCESS_READONLY
enum
{
	PBFS_SHORTCUT					= 0x00000001,
	PBFS_HIDDEN						= 0x00000002,
	PBFS_SELECTED					= 0x00000004,
	PBFS_SLIDE_HIDDEN				= 0x00000010,//---- CPY 8/15/09 QA70-14109-P1 HIDE_SHOW_SLIDE_FROM_PE
};
/// end PAGEBASE_STATUS_IN_FOLDER_ACCESS_READONLY

///---Sim 08-20-2009 QA81-14175 SUPPORT_GET_GETN_TREE_ON_XF_BODY
// moved from xfutils.h
//----- CPY 5/8/2007 QA70-9566 OUTPUT_TO_RESULTS_LOG_CHECKBOX_IN_GETN
enum {
	XFGETN_EX_FOLLOW_XF = -2,
	XFGETN_EX_NONE = -1,
	XFGETN_EX_UNCHECK = 0,
	XFGETN_EX_CHECK,
};
//----
///---END QA81-14175 SUPPORT_GET_GETN_TREE_ON_XF_BODY

///---Sim 08-27-2009 QA81-14222 SHOW_HINT_FOR_BOOK_SHEET_THEME_SAVE_AS
#define STR_HINT_BOOK_SHEET_THEME			"BookSheetThemeSaveAsHint"
///---END QA81-14222 SHOW_HINT_FOR_BOOK_SHEET_THEME_SAVE_AS

///---Sim 08-31-2009 QA81-14106 IMPROVE_ED_DIALOG
enum {
	LTVAR_TYPE_VAR_ALL,
	LTVAR_TYPE_VAR_ALIAS,
	LTVAR_TYPE_VAR_LOOSE_DATASET,
	LTVAR_TYPE_VAR_STR,
	LTVAR_TYPE_VAR_DOUBLE,
	LTVAR_TYPE_VAR_CONST,
	LTVAR_TYPE_VAR_INT,
	LTVAR_TYPE_VAR_STR_ARRAY,
	LTVAR_TYPE_VAR_TREE,
	LTVAR_TYPE_VAR_GROBJ,
	LTVAR_TYPE_VAR_FUNCTION,
};
///---END QA81-14106 IMPROVE_ED_DIALOG

#define	STR_STARTING_ROW_NUMBER			_L("Starting Row Number")		///------ Folger 08/28/09 QA80-4588 BATCH_PROCESS_SUPPORT_SPECIFY_START_ROW_FOR_APPENDING


/// ML 9/30/3009 QA70-13839 NEED_EVEN_LARGER_TEMP_STRING_SIZE
#define	TEMP_STRING_SIZE		(48 * 1024)		// 48K; after this change SYSTEM_STRING is stll under 100K  
/// end NEED_EVEN_LARGER_TEMP_STRING_SIZE

///------ Folger 10/09/09 XF_VECTOR_OUTPUT_SHOULD_ONLY_SET_COMMENT_TO_FIRST_COLUMN_IF_SET_AS_INPUT_COMPOSITE_RANGES
#define	VECTOR_OUTPUT_COMMENTS_PREFIX	"?$VEC:"
///------ End XF_VECTOR_OUTPUT_SHOULD_ONLY_SET_COMMENT_TO_FIRST_COLUMN_IF_SET_AS_INPUT_COMPOSITE_RANGES

///------ Folger 10/10/09 QA80-14448 SET_GET_GROUP_STATES_IN_LAYER
enum
{
	DPGP_NOT_GROUPED			= 0,
	DPGP_HEAD_OF_GROUP,
	DPGP_NOT_HEAD_IN_GROUP
};

enum
{
	GPGPERR_INVALID_DATAPLOT								= -100,
	GPGPERR_MISMATCH_PLOT_TYPE_AND_GROUP_TYPE,
	GPGPERR_GROUP_MUST_HAVE_AT_LEAST_TWO_MEMBERS,
	GPGPERR_GROUP_MUST_HAVE_ONE_HEAD,
	GPGPERR_ALL_PLOTS_IN_ONE_GROUP_MUST_HAVE_SAME_PLOT_TYPE,

	GPGPERR_NO_ERROR			= 0,
};
///------ End SET_GET_GROUP_STATES_IN_LAYER

///------ Folger 10/12/09 QA80-14449 REPORTDATA_SHOULD_NOT_UPDATE_SN_LN_WHEN_RECALCULATE
#define		STR_REPORT_TREE_ALWAYS_UPDATE_COLUMN_LABELS_ATTRIB			"RTAlwaysUpdateColLabels"
///------ End REPORTDATA_SHOULD_NOT_UPDATE_SN_LN_WHEN_RECALCULATE

///------ Folger 11/11/09 QA81-14630 SUPPORT_DUMPING_XF_SETTINGS_FROM_GETN_DIALOG
#define		STR_LABTALK_USAGE_ATTRIB				"LabtalkUsage"
///------ End SUPPORT_DUMPING_XF_SETTINGS_FROM_GETN_DIALOG

///Sophy 12/11/2009 QA80-14686 DATAPLOT_GET_DATAPOINTS_NEED_TO_SKIP_MASKED_DATA
enum {
	GDPS_AFTER_MASK = 0x0001,
};
///end DATAPLOT_GET_DATAPOINTS_NEED_TO_SKIP_MASKED_DATA

///------ Folger 12/11/09 QA81-14831-P2 OPEN_XF_DIALOG_FROM_LT_SUPPRESS_ERROR_WHEN_USER_CANCEL
#define		STR_LT_VAR_XF_EXECUTE_USER_ABORT		"_LTXFVAR_USER_ABORT_"

enum
{
	XFGETNDIALOG_USER_ABORT						= -15,
};
///------ End OPEN_XF_DIALOG_FROM_LT_SUPPRESS_ERROR_WHEN_USER_CANCEL

/// Kenny 12/22/2009 QA81-14845-P5 INSERT_USER_VAR_DLG_FOR_GOBJECT_SHOULD_NOT_CLOSE_ON_INSERT
// Insert string control
enum
{
	ISC_INSERT_AS_LINK		= 0x00000001,
};
#define WM_OTEXT_INSERT_STR							(WM_USER + 363)
/// End QA81-14845-P5 INSERT_USER_VAR_DLG_FOR_GOBJECT_SHOULD_NOT_CLOSE_ON_INSERT

#define  STR_QUICK_FIT_RELATED_DATASET		"QuickFit"		///Kyle 12/24/2009 QA80-14832 CHECK_IF_ACTIVE_PLOT_HAS_QUICK_FIT_OUTPUT_TO_ENABLE_FINDXY_MENU

///------ Folger 12/28/09 QA81-14630 GENERATE_SCRIPT_FOR_XF_OEPRATION
#define	STR_OP_XF_GETN_NODE "xfGetN"
///------ End GENERATE_SCRIPT_FOR_XF_OEPRATION

///------ Folger 12/29/09 QA81-14832 SET_GET_QUICK_FIT_SOURCE_PLOT_UID
#define QUICK_FIT_STORAGE_NAME 	"QuickFitResultInfo"
///------ End SET_GET_QUICK_FIT_SOURCE_PLOT_UID

///------ Folger 12/11/09 QA81-14831-P1 LT_USE_OC_GETN_SUPPRESS_ERROR_WHEN_USER_CANCEL
enum
{
	LTEXECUTE_ERROR_NONE						= 0,
	LTEXECUTE_ERROR_GENERAL,					/// 1, general error, use everywhere
	LTEXECUTE_ERROR_USER_ABORT,
};
///------ End LT_USE_OC_GETN_SUPPRESS_ERROR_WHEN_USER_CANCEL

///------ Folger 01/14/09 QA81-14832 SUPPORT_QUICK_FIT_THEME_WITH_PREFERENCE_SETTINGS
/// Iris 1/15/2010 NEW_QUICKFIT_ROI_XF_DLG
//#define		STR_QUICKFIT_CLASS_NAME_FOR_THEME		"quickfitPrefer"
#define		STR_QUICKFIT_CLASS_NAME_FOR_THEME			"addtool_quickfit"
///End NEW_QUICKFIT_ROI_XF_DLG
///------ End SUPPORT_QUICK_FIT_THEME_WITH_PREFERENCE_SETTINGS

/// Hong 01/28/10 QA80-14995-P2 FIX_OUTPUT_TO_WKS_FAIL_ALL_PUT_TO_ONE_SHEET_IF_NOT_VALID_SHORT_NAME
enum PAGE_RENAME {
	// Hong, NOTICE, value of PA_RENAME_SHORTNAME&PA_RENAME_LONGNAME should NOT be changed for backward compatiable
	PG_RENAME_SHORTNAME		= 0,
	PG_RENAME_LONGNAME,
	PG_RENAME_LONGNAME_IF_NOT_GOOD_SHORT_NAME,
};
/// end FIX_OUTPUT_TO_WKS_FAIL_ALL_PUT_TO_ONE_SHEET_IF_NOT_VALID_SHORT_NAME


///---Sim 01-22-2010 QA81-13423 SUPPORT_INSERT_CUSTOM_MAIN_MENU
#define STR_OMC_POS_ATTRIB							"Position"
enum
{
	OMC_POS_APPEND_END = 0,
	OMC_POS_INSERT_BEFORE_WINDOW,
	OMC_POS_DEFAUL_IF_POS_ABSENT = OMC_POS_APPEND_END, /// ML 2/15/2010 QA70-15113 81SR1_OMC_FILES_SHOULD_ALWAYS_APPEND_BUT_NEW_SHOULD_INSERT_BEFORE_WINDOW
};
///---END QA81-13423 SUPPORT_INSERT_CUSTOM_MAIN_MENU

//#define VSFLEX_CTRL_ID_HWORD 0x0300	 	//---- CPY 1/28/2010 VSFLEXGRID_NEEDS_IDENTIFIER_FOR_RANOREX

/// RVD 2/9/2010 qa70-15085 SCALEIN_PA_PEAK_RECT_LIMITED
enum	GETTEMPBOUNDBOX
{
	GTBB_LP		= 0x00000001,
	GTBB_CALC	= 0x00000002,
};
/// end SCALEIN_PA_PEAK_RECT_LIMITED

///------ Folger 03/18/10 QA81-14514 ALL_SHEETS_IN_EXCEL_BOOK_SHOULD_BE_SHOWN_IN_PLOT_SETUP
enum
{
	WKSPAGEUPDATEORIGIN_NO_COPY_DATA					= 0x00000001,
	WKSPAGEUPDATEORIGIN_ACTIVE_LAYER_ONLY				= 0x00000002,
	WKSPAGEUPDATEORIGIN_LAYER_NAMES_ONLY				= 0x00000004,
};
///------ End ALL_SHEETS_IN_EXCEL_BOOK_SHOULD_BE_SHOWN_IN_PLOT_SETUP

///------ Folger 03/22/10 QA81-14867 BATCH_PROCESS_TOO_MANY_FILES_THAT_FILL_UP_MESSAGE_QUEUE_CRASH_ORIGIN
enum
{
	PMBC_RUN_SCRIPT_AFTER_IMPORT						= 0x00000001,
	PMBC_SET_PAGE_CHANGED								= 0x00000002,
};
///------ End BATCH_PROCESS_TOO_MANY_FILES_THAT_FILL_UP_MESSAGE_QUEUE_CRASH_ORIGIN

///------ Folger 04/15/10 QA81-15315 NLFIT_SHOULD_CHANGE_OUTPUT_GRAPH_AXIS_SCALE_IF_MANUAL
enum
{
	AXIS_RESCALE_MANUAL,
	AXIS_RESCALE_NORMAL,
	AXIS_RESCALE_AUTO,
	AXIS_RESCALE_FIXED_BEG,
	AXIS_RESCALE_FIXED_END,
};
///------ End NLFIT_SHOULD_CHANGE_OUTPUT_GRAPH_AXIS_SCALE_IF_MANUAL

///------ Folger 04/23/10 QA81-15347 LT_ACCESS_TO_WKS_SELECTION_BY_XF
#define OKFCR_FOUND_LABEL_OFFSET				(-2000)	// labels will be -2000, -2001, -2002 etc
#define OKFCR_FOUND_LABEL_END					(-3000) // this can be more accurte but good enough for now
#define OKFCR_FOUND_TABLE_TREE_NODE_OFFSET		(-1000)
#define NEGATIVE_ROW_TO_LABEL_INDEX(_ROW)		(-(_ROW - OKFCR_FOUND_LABEL_OFFSET))
#define LABEL_INDEX_TO_NEGATIVE_ROW(_L)			(OKFCR_FOUND_LABEL_OFFSET - (_L))
#define IS_VALID_NEGATIVE_LABEL_ROW(_NN)		((_NN) <= OKFCR_FOUND_LABEL_OFFSET && (_NN) > OKFCR_FOUND_LABEL_END) 
///------ End LT_ACCESS_TO_WKS_SELECTION_BY_XF

///------ Folger 05/27/10 ORG-120 DATA_DISPLAY_DIALOG_IMPROVEMENT
enum
{
	DIS_MSG_OPEN_DIALOG				= 0,
	DIS_MSG_GET_DEFAUL_SETTINGS,
	///------ Folger 06/29/10 ORG-336 ADD_BACK_CURSOR_SUPPORT_FOR_DATA_INFO
	DIS_MSG_GET_CURSOR_VALUE,
	///------ End ADD_BACK_CURSOR_SUPPORT_FOR_DATA_INFO
	///------ Folger 07/05/10 ORG-436-S2 SUPPORT_COLUMN_HEADER_IN_DATA_INFO
	DIS_MSG_GET_COLUMN_HEADER,
	///------ End SUPPORT_COLUMN_HEADER_IN_DATA_INFO
};

enum
{
	DIS_WINDOW_POSITION_STAY_STILL				= 0,
	DIS_WINDOW_POSITION_FLOATING_FOLLOW,
};

enum
{
	///------ Folger 06/23/10 ORG-372-S2 ADD_SEPARATOR_COLUMN_TYPE
	DIS_INFO_FROM_SEPARATOR				= 0,
	///------ End ADD_SEPARATOR_COLUMN_TYPE
	DIS_INFO_FROM_DEADER,
	DIS_INFO_FROM_RAW_DATA,
	DIS_INFO_FROM_HIGHLIGHT_CELL,
};

#define			STR_BROWSE_BOOK_SHEET_ATTRIB				"BrowseBookSheet"

#define			STR_DATA_INFO_CLASS_SETTINGS				"DataInfoSettings"

#define			STR_DATA_INFO_SETTINGS_STORAGE_NAME			STR_DATA_INFO_CLASS_SETTINGS

enum
{
	DISTITLE_NONE					= 0,
	DISTITLE_BOOK_SHEET_INDEX,
	DISTITLE_SHEET_ONLY,
	DISTITLE_BOOK_LN_ONLY,
	DISTITLE_CUSTOM,
};

enum {
	DISSRC_INVALID					= -20,
	DISSRC_ROW_NUM,
	DISSRC_XINDEX,
	DISSRC_YINDEX,
	DISSRC_ZINDEX,
	///------ Folger 06/23/10 ORG-365-P4 MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS
	DISSRC_X,
	DISSRC_Y,
	DISSRC_Z,
	///------ End MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS
	///------ Folger 07/02/10 ORG-436-S4 DATA_INFO_ROW_SEPARATOR_SUPPORT
	DISSRC_SEP,
	///------ End DATA_INFO_ROW_SEPARATOR_SUPPORT
};

///------ Folger 06/23/10 ORG-365-P4 MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS
//#define		STR_SRC_X			"<X>"
//#define		STR_SRC_Y			"<Y>"
//#define		STR_SRC_Z			"<Z>"
///------ End MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS
#define		STR_SRC_INDEX		"<I>"
///------ End DATA_DISPLAY_DIALOG_IMPROVEMENT
///------ Folger 06/23/10 ORG-365-P4 MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS
#define		STR_SRC_X			"<XData>"
#define		STR_SRC_Y			"<YData>"
#define		STR_SRC_Z			"<ZData>"
#define		STR_DISP_X			"<X>"
#define		STR_DISP_Y			"<Y>"
#define		STR_DISP_Z			"<Z>"
///------ End MORE_FLEXIBLE_CUSTOMIZED_ON_DATA_INFO_ROWS

///------ Folger 07/02/10 ORG-436-S4 DATA_INFO_ROW_SEPARATOR_SUPPORT
#define		STR_DISP_SEP		"<S>"
///------ End DATA_INFO_ROW_SEPARATOR_SUPPORT

///Kyle 06/11/2010 ORG-294 EXPOSE_MOVE_OBJECT_TO_OC, moved from okconst2.h
typedef enum tagMOVEOBJECT
{
	MO_OBJ_MASK			= 0x000000FF,
	MO_TOP				= 0x00000001,
	MO_BOTTOM			= 0x00000002,
	MO_DATA_MASK		= 0x0000FF00,
	MO_BEHIND_DATA		= 0x00000100,
	MO_FRONT_DATA		= 0x00000200,
	MO_TOGGLE_DATA		= 0x00000300,
}	MOVEOBJECT;
///End EXPOSE_MOVE_OBJECT_TO_OC

///------ Folger 06/28/10 ORG-423 EDIT_FIT_FUNC_USING_WIZARD
enum
{
	FFWMSG_CHECKOPEN		= 1,
	FFWMSG_NEWOPEN,
};
///------ End EDIT_FIT_FUNC_USING_WIZARD

///------ Folger 06/29/10 ORG-336 ADD_BACK_CURSOR_SUPPORT_FOR_DATA_INFO
enum
{
	DIC_READER		= 0,
	DIC_CURSOR1,
	DIC_CURSOR2,
	DIC_DRC1,
	DIC_C1C2,
};

typedef struct tagCursorValue
{
	double	rValue;
	int		nCursorType;
	int		nValueType;
}CursorValue;

enum
{
	DIALOGBAR_CREATE_HIDDEN			= 0x00010000,
};
///------ End ADD_BACK_CURSOR_SUPPORT_FOR_DATA_INFO

///------ Folger 07/23/10 ORG-423-P3 SHOULD_NOT_COMPILE_FFW_IF_NAME_NOT_FITTING_FUNCTION
enum
{
	NLSFMSG_CHECKFUNC			= 1,
};
///------ End SHOULD_NOT_COMPILE_FFW_IF_NAME_NOT_FITTING_FUNCTION

///Kyle 07/26/2010 ORG-234-P5 APPLY_PALETTE_TO_MTRIX_OBJECT_IMAGE
typedef enum tagMATOBJPALETTE
{
	MOPAL_BY_ONE		= 0,
	MOPAL_STRETCH		= 1,
	MOPAL_BINNED		= 2,
	MOPAL_STRETCH_MODE	= 0x000F,

	MOPAL_REVERSE		= 0x0010,
}MATOBJPALETTE;

typedef enum tagMATOBJPALERROR
{
	MOPALERROR_NO_ERROR,
	MOPALERROR_INVALID_FILE			= -100,
	MOPALERROR_FAIL_TO_CREATE_PAL,
	MOPALERROR_NO_IMAGE,
	MOPALERROR_NO_PALETTE_IN_IMAGE,
	MOPALERROR_NO_COLORMAP,
}MATOBJPALERROR;
///End APPLY_PALETTE_TO_MTRIX_OBJECT_IMAGE

///------ Folger 08/18/10 ORG-815 VIRTUAL_MATRIX_TRANSPOSE_STATUS_WRONG
enum
{
	MATOBJATTACH_TRANSPOSE				= 0x00000001,
};
///------ End VIRTUAL_MATRIX_TRANSPOSE_STATUS_WRONG

///Kyle 10/18/2010 ORG-1253-S1 REDO_POP_REMINDER_MESSAGE_FOR_TRANSFER_USER_FILES_WHEN_STARTING_ORIGIN
typedef enum tagGETINSTALLEDORG
{
	GETINSTALLEDORG_SORT_BY_VERSION		= 0x00000001,
	GETINSTALLEDORG_OLDER_VERSIONS		= 0x00000002,
}GETINSTALLEDORG;
///End REDO_POP_REMINDER_MESSAGE_FOR_TRANSFER_USER_FILES_WHEN_STARTING_ORIGIN


///-----Kit 10/21/2010 RSRCH-29	REMOVE_TEXT_AT_BOTTOM_OF_IMAGE
#ifdef	__ADD_CTRL_BIT_FOR_POLYPOLYLINE_DRAWING__
enum
{
	POLYPOLYLINE_DRAW_OPTION_NEED_TEXT = 0x0001,
};
#endif	//__ADD_CTRL_BIT_FOR_POLYPOLYLINE_DRAWING__
///-----End REMOVE_TEXT_AT_BOTTOM_OF_IMAGE

////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
#endif // _OC_CONST_H

