using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;

namespace INT_PT002.DataStore
{
    public class Define
    {
        public delegate void EventHandlerAlarmStateChange(Define.E_Trackingalarm alarm, string status);

        public enum E_EquipmentStatus
        {
            Stop = 0,
            Start = 1,
        }

        public enum E_FormStore
        {
            FormNone = 0,
            FormMainDisplay,
            FormMenu,
        }

        public enum E_EquipmentMode
        {
            Normal,
            Menu,
            IOTest,
            EquipmentTest,
        }

        public enum E_TopMenuStore
        {
            Recipe,
            User,
            Manual,
            Log,
            System,
        }
        public enum E_MenuRecipeStore
        {
            _0_None,
            _1_Setting,
        }
        public enum E_MenuUserStore
        {
            _0_None,
            _1_UserEditor,
            _2_GroupEditor,
        }
        public enum E_MenuManualStore
        {
            _0_None,
            _1_IoTest,
        }
        public enum E_MenuLogStore
        {
            _0_None,
            _1_Inspection,
            _2_History,
            _3_Alarm,
        }
        public enum E_MenuSystemStore
        {
            _0_None,
            _1_Information,
            _2_Status,
        }

        public enum E_DisplayModeStore
        { 
            MainDisplay,
            Recipe,
            UserEditor,
            UserGroupEditor,
            IOTest,
            LogInspection,
            LogHistory,
            LogAlarm,
            Information,
            Equipment,
        }

        public enum E_ProcessStatus
        {
            _0_None = 0,
            _1_Initial,
            _2_ProductEntry,
            _3_ChamberConbined,
            _4_VacuumStart,
            _5_VacuumHold,
            _6_Judgment,
            _7_VacuumBreak,
            _8_ChamberSeparation,
            _9_ProductRelease,
        }

        public enum E_JudgmentStatus
        {
            None,
            Pass,
            Ng,
            Error,
        }

        public enum E_ResponseData
        {
            NAK = 0,
            ACK = 1,
        }

        public enum E_UpdateCheck
        {
            Fail,
            Success,
            NoUsbMomery,
            NoUpdateFolder,
            NoFile,
        }

        public enum E_LanguageID
        {
            Korean,
            English,
        }

        public enum E_MessageBoxIcon
        {
            None,
            Hand,
            Question,
            Exclamation,
            Asterisk,
        }

        public enum E_UserGroup
        {
            f0_Level1 = 0,
            f1_Level2,
            f2_Level3,
            f3_Default,
            f4_Developer,
        }

        public enum E_UserStatus
        {
            None = 0,
            Level1,
            Level2,
            Level3,
            Admin,
            Developer,
            NotLogin,
            LogOff,
        }

        public enum E_TrackingOperation
        {
            None,
            PowerOn,
            BootingComplete,
            EquipmentStart,
            EquipmentStop,
            Login,
            Logout,
            Zero,
            Clear,
            UserEditor,
        }

        public enum E_TrackingParameter
        {
            ProductNumber,
            WeightOverRange,
            WeightPassRange,
            WeightUnderRange,
            WeightTareRange,

            JudgmentFilter,
            JudgmentDelayTime,
            JudgmentDamperDelayTime,
            JudgmentCount,
            SorterDelayTime,
            SorterRunTime,

            AutoZeroTime,
            AutoZeroRange,
            AutoZeroVariance,

            Com3Baurate,
            Com3Mode,

            CalMaxWeight,
            CalBalWeight,
            CalDigit,

            EtcDoubleEntry,
            EtcChattering,
            EtcBuzzerRunTime,
            EtcRelayRunTime,
            EtcDecimalpoint,

            MotorOriginOffset,
            MotorOriginSpeed,
            MotorSpeed,
            MotorPosition0,
            MotorPosition1,
            MotorPosition2,
        }

        public enum E_Trackingalarm
        {
            None,
            a1_ServoEmergencyStop,
            a2_Servo1Alarm,
            a3_Servo2Alarm,
            a4_Servo1TorqueAlarm,
            a5_Servo2TorqueAlarm,
            a6_PressureError,
            a7_SensorBoard1Error,
            a8_SensorBoard2Error,
            a9_SensorBoard3Error,
            a10_SensorBoard4Error,
            a11_SensorBoard5Error,
            a12_SensorBoard6Error,
            a13_SensorBoard7Error,
            a14_SensorBoard8Error,
            a15_SensorBoard9Error,
            a16_SensorBoard10Error,
        }

        public enum E_TrackingType
        {
            Operation,
            Parameter,
            Alarm,
        }

        public enum E_DataType
        {
            None,
            History,
            Inspection,
            Other,
        }
    }
}
