7 #include "res\OCC_Resource.h"
8 #include <Standard_Macro.hxx>
9 #include <AIS_InteractiveContext.hxx>
10 #include <TCollection_AsciiString.hxx>
11 #include <Quantity_Color.hxx>
13 class CDimensionDlg : public CDialog
16 /// Construction & termination
17 CDimensionDlg (CWnd* pParent = NULL); // standard constructor
18 CDimensionDlg (Handle(AIS_InteractiveContext) &theAISContext,
19 CWnd* pParent = NULL);
20 virtual ~CDimensionDlg();
22 // Methods for data operation
23 void SetContext (const Handle(AIS_InteractiveContext) theContext);
24 void SetTextModeControlsVisible (bool isVisible);
25 void UpdateUnitsListForLength();
26 void UpdateUnitsListForAngle();
28 void DeactivateAllStandardModes();
29 void UpdateStandardModeForAngle ();
30 void UpdateStandardModeForLength ();
31 void UpdateStandardMode ();
32 const Standard_Real GetFlyout () const;
33 const Standard_Boolean GetTextType() const;
34 const Standard_Real GetFontHeight() const;
35 const Standard_Boolean IsText3dShaded() const;
36 const Standard_Boolean IsUnitsDisplayed() const;
37 const TCollection_AsciiString GetUnits() const;
38 const Quantity_Color GetDimensionColor() const;
41 enum { IDD = IDD_Dimension };
42 // Initialization of dialog
44 virtual BOOL OnInitDialog();
45 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
51 Handle (AIS_InteractiveContext) myAISContext;
52 int mySelectedDimType;
54 Quantity_Color myDimensionColor;
55 CTabCtrl *myLengthParams;
56 CTabCtrl *myAngleParams;
57 CTabCtrl *myRadiusParams;
58 CTabCtrl *myDiameterParams;
60 void CreateLengthParamsTab();
61 void CreateAngleParamsTab();
62 void CreateRadiusParamsTab();
63 void CreateDiameterParamsTab();
66 afx_msg void OnBnClickedOk();
67 afx_msg void OnBnClickedDimLength();
68 afx_msg void OnBnClickedDimAngle();
69 afx_msg void OnBnClickedDimRadius();
70 afx_msg void OnTcnSelChangeLengthTab(NMHDR *pNMHDR, LRESULT *pResult);
71 afx_msg void OnTcnSelChangingLengthTab(NMHDR *pNMHDR, LRESULT *pResult);
72 afx_msg void OnDestroy();
73 afx_msg void OnTcnSelChangeAngleTab(NMHDR *pNMHDR, LRESULT *pResult);
74 afx_msg void OnTcnSelChangingAngleTab(NMHDR *pNMHDR, LRESULT *pResult);
75 afx_msg void OnBnClickedDimDiameter();
76 afx_msg void OnBnClicked2dText();
77 afx_msg void OnBnClicked3dText();
78 afx_msg void OnBnClickedDimensionColor();