00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef INC_MGUI_FORMSNAPPARMS_H
00017 #define INC_MGUI_FORMSNAPPARMS_H
00018
00019 #ifndef INC_MGUI_CTRL_H
00020 #include <mgui/ctrl.h>
00021 #endif
00022
00023 #ifndef INC_MGUI_COMBOBOX_H
00024 #include <mgui/combobox.h>
00025 #endif
00026
00027 #ifndef INC_RVC_VECTTOOL_H
00028 #include <rvc/vecttool.h>
00029 #endif
00030
00031 class RVC::VECTORTOOLKIT::SNAPPARMS::PANEL : public MGUI::FORM_COMPOSITE {
00032 public:
00033 enum PROMPT {
00034 PROMPT_SnapElement = 0x0001,
00035 PROMPT_SnapType = 0x0002,
00036 PROMPT_SnapEnd = 0x0004,
00037 PROMPT_SnapDistance = 0x0008,
00038 PROMPT_SnapBackAngle = 0x0010,
00039 PROMPT_RemoveOvershoots = 0x0020,
00040 PROMPT_CrossLines = 0x0040,
00041 PROMPT_VectorSnapDist = 0x0080,
00042 PROMPT_PixelSnapDist = 0x0100
00043 };
00044
00045
00046 PANEL (
00047 );
00048
00049
00050 virtual ~PANEL (
00051 );
00052
00053
00054 ERRVALUE Create (
00055 MGUI::LAYOUT_PANE_BASE& ParentPane,
00056 PROMPT PromptSet,
00057 MGUI::LAYOUT_SIZEALIGN sizealign = MGUI::LAYOUT_SIZEALIGN_FixedWidth
00058 );
00059
00060 int GetAngleUnits (
00061 ) const;
00062
00063 int GetDistanceUnits (
00064 ) const;
00065
00066 const RVC::VECTORTOOLKIT::SNAPPARMS& GetSnapParms (
00067 ) const;
00068
00069 void SetAngleUnits (
00070 int AngleUnit
00071 );
00072
00073 void SetDistanceUnits (
00074 int DistUnit
00075 );
00076
00077 void SetScaleToMeters (
00078 double ScaleToMeters
00079 );
00080
00081 void SetSnapParms (
00082 const RVC::VECTORTOOLKIT::SNAPPARMS& SnapParms
00083 );
00084
00085 private:
00086 enum SPECIALUNITS {
00087 SPECIALUNIT_Pixels = 254,
00088 SPECIALUNIT_ObjectUnits
00089 };
00090
00091 RVC::VECTORTOOLKIT::SNAPPARMS m_SnapParms;
00092 double m_ScaleToMeters;
00093 int m_AngleViewUnit;
00094 int m_DistViewUnit;
00095
00096 MGUI::FORM_COMBOBOX_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapElement;
00097 MGUI::FORM_COMBOBOX_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapEnd;
00098 MGUI::FORM_COMBOBOX_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapType;
00099 MGUI::CTRL_TOGGLEBUTTON_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_RemoveOvershoots;
00100 MGUI::CTRL_TOGGLEBUTTON_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_CrossLines;
00101 MGUI::FORM_EDIT_NUMBER_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapDist;
00102 MGUI::CTRL_COMBOBOX_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapDistUnits;
00103 MGUI::FORM_EDIT_NUMBER_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapBackAngle;
00104 MGUI::CTRL_COMBOBOX_T<RVC::VECTORTOOLKIT::SNAPPARMS::PANEL> m_SnapBackUnits;
00105
00106 virtual double v_GetPixelScale ();
00107 virtual void v_OnChanged ();
00108
00109 void OnCrossLines ();
00110 void OnRemoveOvershoots ();
00111 void OnSnapBackAngle ();
00112 void OnSnapBackUnits ();
00113 void OnSnapDist ();
00114 void OnSnapDistUnits ();
00115 void OnSnapElement ();
00116 void OnSnapEnd ();
00117 void OnSnapType ();
00118
00119 void SetSnapCtrls ();
00120 void SetSnapState ();
00121
00122 };
00123
00124 DEFINE_ENUM_OPERATORS(RVC::VECTORTOOLKIT::SNAPPARMS::PANEL::PROMPT);
00125
00126 #endif // INC_MGUI_FORMSNAPPARMS_H