0024428: Implementation of LGPL license
[occt.git] / samples / mfc / standard / Common / DimensionDlg.h
1 #pragma once
2
3 // DimensionDlg dialog
4
5 #include <stdafx.h>
6
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>
12
13 class CDimensionDlg : public CDialog
14 {
15 public:
16   /// Construction & termination
17   CDimensionDlg (CWnd* pParent = NULL);  // standard constructor
18   CDimensionDlg (Handle(AIS_InteractiveContext) &theAISContext,
19                  CWnd* pParent = NULL);
20   virtual ~CDimensionDlg();
21
22   // Methods for data operation
23   void SetContext (const Handle(AIS_InteractiveContext) theContext);
24   void SetTextModeControlsVisible (bool isVisible);
25   void UpdateUnitsListForLength();
26   void UpdateUnitsListForAngle();
27   void Empty();
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;
39
40   // Dialog Data
41   enum { IDD = IDD_Dimension };
42   // Initialization of dialog
43 protected:
44   virtual BOOL OnInitDialog();
45   virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
46
47   DECLARE_MESSAGE_MAP()
48
49   //Attributes
50 private:
51   Handle (AIS_InteractiveContext) myAISContext;
52   int mySelectedDimType;
53   int myFontSize;
54   Quantity_Color myDimensionColor;
55   CTabCtrl *myLengthParams;
56   CTabCtrl *myAngleParams;
57   CTabCtrl *myRadiusParams;
58   CTabCtrl *myDiameterParams;
59
60   void CreateLengthParamsTab();
61   void CreateAngleParamsTab();
62   void CreateRadiusParamsTab();
63   void CreateDiameterParamsTab();
64
65 public:
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();
79   afx_msg void OnClose();
80 };