#pragma once #include "CHCommonControls/GridCtrl.h" #include "CHCommonControls/FontStatic.h" #include "CHReviewSetting/MotorParameter.h" #include "ModuleStatus.h" #include "DlgReviewCamera.h" #include "afxwin.h" #include "DlgKeyJogLogin.h" #include "akControlPack/akGroupCtrl.h" #include "akControlPack/akButtonColorCtrl.h" #include "akControlPack/akStaticTextCtrl.h" #include "akControlPack/akRadio.h" #define MOVE_CMD_X 0x01 #define MOVE_CMD_Y 0x02 #define MOVE_CMD_R 0x04 enum JogDirectionType { JogDirection_Stop = 0, JogDirection_Plus, JogDirection_Minus }; enum MoveMode { MoveMode_Review=0}; // MoveMode_Wsi enum MoveAxis { MoveAxis_Center=0}; // MoveAxis_Corner enum JogCommandType { JogCommand_Left=0, JogCommand_Right, JogCommand_Top, JogCommand_Bottom, JogCommand_Clock, JogCommand_AntiClock, JogCommand_Count }; interface IDialogControl2Parent { virtual void DC2P_SetSelectedCamera(int nModuleIndex, int nValue) = 0; virtual void DC2P_SetLightLevel(int nModuleIndex, int nValue) = 0; virtual void DC2P_SetZoomLevel(int nModuleIndex, int nValue) = 0; virtual void DC2P_SetCameraControl(int nModuleIndex, int nValue) = 0; virtual void DC2P_SetJogCommand(int nModuleIndex, int nValue) = 0; virtual void DC2P_SetAFMTracking(int nModuleIndex, BOOL bValue) = 0; virtual void DC2P_SetCameraGo(int nModuleIndex, int nMoveAxis, double dPosX, double dPosY) = 0; virtual void DC2P_SetCameraCenterGo(int nModuleIndex, int nMoveAxis, double dPosX, double dPosY) = 0; virtual void DC2P_MoveCommand(int nModuleIndex, int nCmdCode, double dX, double dY, double dR) = 0; virtual void DC2P_JogCommand(int nModuleIndex, int nAxisFlag, int nCommandFlag) = 0; virtual void DC2P_MoveCommandTheta(double dTheta) = 0; virtual void DC2P_JogCommandTheta(int nCommandFlag) = 0; virtual void DC2P_JogSpeed(double dSpeedValue) = 0; virtual void DC2P_ShowReviewPopUP() = 0; virtual void DC2P_SetOffSetOn() = 0; virtual void DC2P_SetSimulation() = 0; virtual CSequenceProcessor* IRP2P_GetSequenceProcessor() = 0; virtual CModuleStatus* DC2P_Get_Selected_module_Status() = 0; }; // CDlgControl 대화 상자입니다. class CDlgControl : public CDialog, public IUpdateCameraControl, public IUpdateSelectedModuleIndex { DECLARE_DYNAMIC(CDlgControl) public: CDlgControl(CWnd* pParent = NULL); // 표준 생성자입니다. virtual ~CDlgControl(); void SetDC2P(IDialogControl2Parent* pDC2P) { m_pDC2P = pDC2P; } void SetModuleIndex(int nModuleIndex); // 대화 상자 데이터입니다. enum { IDD = IDD_DLG_CONTROL }; protected: static CDlgControl* pDlgContol; IDialogControl2Parent* m_pDC2P; int m_nModuleIndex; int m_nMoveMode; int m_nMoveAxis; CFontStatic m_ctrlJogCommand[JogCommand_Count]; CFontStatic m_ctrlJogSpeed; CSliderCtrl m_ctrlSliderJogSpeed; CSliderCtrl m_ctrlLightLevel; //CButton m_ctrlCameraControl; CButton *m_pCtrlCameraControl; CButton *m_ctrlAFMTracking; CGridCtrl m_ctrlMotorPos; CGridCtrl m_ctrlGlassPos; CGridCtrl m_ctrlGlassCenterPos; CButton m_ctrlRadioSet[5]; CButton *m_ctrlJogUp; CButton *m_ctrlJogDown; CFontStatic m_ctrlKeyMoveJog; BOOL m_bAlignCamGrab; double m_dGoPosX; double m_dGoPosY; virtual void UpdateCameraControl(int nModuleIndex, const SCameraControl* pCameraControl, const SCameraInfo* pCameraInfo); virtual void UpdateSelectedModuleIndex(int nModuleIndex, const CModuleStatus* pModuleStatus); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다. DECLARE_MESSAGE_MAP() public: static CDlgControl* GetInstance(); virtual BOOL OnInitDialog(); void InitGridCameraPos(); virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnNMReleasedcaptureSliderJogSpeed(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnNMReleasedcaptureSliderLightLevel(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnBnClickedCheckCameraControl(); afx_msg void OnBnClickedRadioZoomLevel(); virtual void OnCancel(); virtual void OnBnClickedOk(); afx_msg void OnBnClickedButtonMotorGoXy(); afx_msg void OnBnClickedButtonGlassGoXy(); afx_msg void OnBnClickedButtonGlasscenterGoXy(); afx_msg void OnBnClickedCheckAfmTrack(); afx_msg LRESULT OnCameraStatusUpdate(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnUpdateSelectedModuleIndex(WPARAM wParam, LPARAM lParam); afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnBnClickedUseKeyboardCommand(); afx_msg void OnBnClickedButtonTest2(); void KeyboardXYJogMove(MSG* pMsg); void KeyboardpvMagnificChange(int Magidx); void KeyboardMotionSpeedChange(BOOL flag); void KeyboardLightValueChange(BOOL flag); void KeyboardAFMJogMove(int flag); void KeyboardGlassXYInput(MSG* pMsg); private: int m_nJogDown; BOOL m_bCheckKeyJog; BOOL m_bMoveKeyJogCheck; int m_nKeyBoardCommand; int m_nKeyJogDownIndex; CString m_strGlassPos; int m_nGlassGridViewIndex; CDlgKeyJogLogin* KeyboardCommandMode; public: BOOL m_bRClicked; void ShowControls( BOOL bCheck ); void MoveMainWindow( int nIdx ); protected: CRect m_rtOriginal; protected: CakGroupCtrl m_ctrlGroupCtrl; CakButtonColorCtrl m_ctrlButtonColorCtrl; CakButtonColorCtrl m_ctrlCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlAFMCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlJogUpCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlJogDownCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlRightCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlLEFTCheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlREDUCECheckBoxColorCtrl; // CakButtonColorCtrl m_ctrlRadioColorCtrl[5]; // // CakButtonColorCtrl m_ctrllUseWSICon; // CakButtonColorCtrl m_ctrlOffSetOn; CakStaticTextCtrl m_ctrlStaticTextCtrl; public: afx_msg void OnBnClickedButtonUiExpand(); afx_msg void OnBnClickedButtonUiLeft(); //CButton m_btnCenter; CButton *m_btnLeft; CButton *m_btnReduce; // CButton m_btnRight; CButton *m_chekreduce; // afx_msg void OnBnClickedButtonVersion(); // afx_msg void OnBnClickedButtonUiRight(); afx_msg void OnBnClickedButtonUiRight1(); afx_msg void OnBnClickedCheckUseWsiControl(); CButton *m_ctrlUseWSICon; CButton *SelectOffSetOn; CButton *m_ctrlUserSimulation; afx_msg void OnBnClickedSelectOffsetOn(); // 센터 좌표 안쓰기 // CButton m_ctlNotUseCenterPos; afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); CButton *m_btnRight; CBrush m_brushBk; afx_msg void OnBnClickedBtReviewPopup(); afx_msg void OnBnClickedCheckUseSimulation(); afx_msg void OnDblclkStaticMagnification(); afx_msg void OnBnClickedButtonAligncamGrab(); };