/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/


#define UID_GROSSER_TEST_DLG    "AUTOMATION_UID_GROSSER_TEST_DLG"
#define UID_CheckBox            "AUTOMATION_UID_CheckBox"
#define UID_TriStateBox         "AUTOMATION_UID_TriStateBox"
#define UID_OKButton            "AUTOMATION_UID_OKButton"
#define UID_TimeField           "AUTOMATION_UID_TimeField"
#define UID_MultiLineEdit       "AUTOMATION_UID_MultiLineEdit"
#define UID_RadioButton1        "AUTOMATION_UID_RadioButton1"
#define UID_RadioButton2        "AUTOMATION_UID_RadioButton2"
#define UID_MultiListBox        "AUTOMATION_UID_MultiListBox"
#define UID_ComboBox            "AUTOMATION_UID_ComboBox"
#define UID_DateBox             "AUTOMATION_UID_DateBox"
