#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;
|
|
|
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();
|
};
|