RotatePanelDlg.h
Upload User: kairuinn
Upload Date: 2009-02-07
Package Size: 2922k
Code Size: 2k
Category:

Graph program

Development Platform:

Visual C++

  1. #pragma once
  2. #include "..//resource.h"
  3. #include "afxwin.h"
  4. #include "..//Controls//FloatEdit.h"
  5. class RotateCommand;
  6. // CRotatePanelDlg dialog
  7. class CRotatePanelDlg : public CDialog, public IBaseInterfaceOfGetDialogs
  8. {
  9. DECLARE_DYNAMIC(CRotatePanelDlg)
  10. public:
  11. CRotatePanelDlg(CWnd* pParent = NULL);   // standard constructor
  12. virtual ~CRotatePanelDlg();
  13. virtual  DLG_TYPE  GetType() {return IBaseInterfaceOfGetDialogs::USER_DIALOG;};
  14. virtual  CWnd*     GetWindow() {return this;};   
  15. virtual  void      EnableControls(bool);
  16. // Dialog Data
  17. enum { IDD = IDD_ROTATE_PANEL };
  18. private:
  19. bool*      m_enable_history;
  20. bool       m_was_diasabled;
  21. RotateCommand*   m_commander;
  22. public:
  23. void SetCommander( RotateCommand*  nC) {ASSERT(nC);m_commander=nC;};
  24. protected:
  25. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  26. DECLARE_MESSAGE_MAP()
  27. virtual void OnOK();
  28. virtual void OnCancel();
  29. public:
  30. void  SetAngles(const SG_VECTOR&);
  31. void  GetAngles(SG_VECTOR&);
  32. bool  IsDouble();
  33. bool  IsSelectNew();
  34. int   GetCopiesCount();
  35. int   GetRotateType() {return m_rotate_around;};
  36. private:
  37. int m_rotate_type;
  38. int m_rotate_around;
  39. public:
  40. afx_msg void OnBnClickedRotateGlobalZeroRadio();
  41. afx_msg void OnBnClickedRotateObjCentersRadio();
  42. afx_msg void OnBnClickedRotWithoutDubleRadio();
  43. afx_msg void OnBnClickedRadio2();
  44. virtual BOOL OnInitDialog();
  45. private:
  46. BOOL m_sel_new;
  47. int        m_tabs_counter;
  48. CSpinButtonCtrl m_cnt_spin;
  49. int m_copies_cnt;
  50. public:
  51. afx_msg void OnDeltaposRotCopiesCntSpin(NMHDR *pNMHDR, LRESULT *pResult);
  52. afx_msg void OnBnClickedRotSelNewCheck();
  53. afx_msg void OnSize(UINT nType, int cx, int cy);
  54. private:
  55. CFloatEdit m_x_rot_ang;
  56. CFloatEdit m_y_rot_ang;
  57. CFloatEdit m_z_rot_ang;
  58. public:
  59. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  60. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  61. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  62. afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
  63. };