drawtool.h
上传用户:ywlong9188
上传日期:2022-05-31
资源大小:2656k
文件大小:7k
源码类别:

远程控制编程

开发平台:

C/C++

  1. #ifndef __DRAWTOOL_H__
  2. #define __DRAWTOOL_H__
  3. #include "drawobj.h"
  4. class CProjView;
  5. enum DrawShape
  6. {
  7. selection,
  8. line,
  9. rect,
  10. ellipse,
  11. poly,
  12. text,
  13. barGraph,
  14. clockGraph,
  15. animateTag,
  16. cursor,
  17. isa,
  18. loop,
  19. custom,
  20. button
  21. };
  22. class CDrawTool
  23. {
  24. // Constructors
  25. public:
  26. CDrawTool(DrawShape nDrawShape);
  27. // Overridables
  28. virtual void OnChar(CProjView* pView,UINT nFlags,UINT nChar);
  29. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  30. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  31. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  32. //virtual void OnRButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  33. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  34. virtual void OnEditProperties(CProjView* pView);
  35. virtual void OnCancel(CProjView* pView);
  36. // Attributes
  37. DrawShape m_drawShape;
  38. static CDrawTool* FindTool(DrawShape drawShape);
  39. static CPtrList c_tools;
  40. static CPoint c_down;
  41. static UINT c_nDownFlags;
  42. static CPoint c_last;
  43. static DrawShape c_drawShape;
  44. };
  45. class CSelectTool : public CDrawTool
  46. {
  47. // Constructors
  48. public:
  49. CSelectTool();
  50. public:
  51. public:
  52. // Implementation
  53. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  54. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  55. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  56. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  57. virtual void OnEditProperties(CProjView* pView);
  58. };
  59. class CRectTool : public CDrawTool
  60. {
  61. // Constructors
  62. public:
  63. CRectTool(DrawShape drawShape);
  64. // Implementation
  65. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  66. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  67. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  68. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  69. };
  70. class CPolyTool : public CDrawTool
  71. {
  72. // Constructors
  73. public:
  74. CPolyTool();
  75. // Implementation
  76. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  77. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  78. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  79. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  80. virtual void OnCancel(CProjView* pView);
  81. CDrawPoly* m_pDrawObj;
  82. };
  83. ////////////////////////////////////////////////////////////////////////////
  84. class CTextTool : public CDrawTool
  85. {
  86. // Constructors
  87. public:
  88. CTextTool();
  89. // Implementation
  90. virtual void OnChar(CProjView* pView,UINT nFlags,UINT nChar);
  91. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  92. //virtual void OnRButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  93. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  94. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  95. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  96. // virtual void OnEditPropeties(CProjView* pView);
  97. virtual void OnCancel(CProjView* pView);
  98. CDrawText* m_pDrawText;
  99. };
  100. ////////////////////////////////////////////////////////////////////////////
  101. class CBarTool : public CDrawTool
  102. {
  103. // Constructors
  104. public:
  105. CBarTool();
  106. // Implementation
  107. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  108. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  109. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  110. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  111. };
  112. //////////////////////////////////////////////////////
  113. /// CLineTool 
  114. class CLineTool : public CDrawTool
  115. {
  116. // Constructors
  117. public:
  118. CLineTool(DrawShape drawShape);
  119. // Implementation
  120. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  121. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  122. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  123. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  124. };
  125. //////////////////////////////////////////////////////
  126. /// CCustomTool 
  127. class CCustomTool : public CDrawTool
  128. {
  129. // Constructors
  130. public:
  131. CCustomTool();
  132. // Implementation
  133. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  134. };
  135. ///////////////////////////////////////////////////////
  136. ///////////////////////////////////////////////////////
  137. class CEllipseTool : public CDrawTool
  138. {
  139. // Constructors
  140. public:
  141. CEllipseTool(DrawShape drawShape);
  142. // Implementation
  143. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  144. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  145. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  146. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  147. };
  148. /*class CClockTool : public CDrawTool
  149. {
  150. // Constructors
  151. public:
  152. CClockTool();
  153. // Implementation
  154. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  155. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  156. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  157. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  158. };
  159. */
  160. ////////////////////////////////////////////////////////////////////////////
  161. class CAnimateTagTool : public CTextTool
  162. {
  163. // Constructors
  164. public:
  165. CAnimateTagTool();
  166. // Implementation
  167. virtual void OnChar(CProjView* pView,UINT nFlags,UINT nChar);
  168. void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  169. };
  170. class CCursorTool : public CDrawTool
  171. {
  172. // Constructors
  173. public:
  174. CCursorTool();
  175. // Implementation
  176. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  177. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  178. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  179. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  180. };
  181. class CISATool : public CAnimateTagTool
  182. {
  183. // Constructors
  184. public:
  185. CISATool();
  186. void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  187. };
  188. /////////////////////////////////////////////
  189. /// CLoopTool Class Definition
  190. class CLoopTool : public CDrawTool
  191. {
  192. // Constructors
  193. public:
  194. CLoopTool();
  195. // Implementation
  196. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  197. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  198. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  199. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  200. };
  201. //CDrawObj* g_pOutRect = NULL;
  202. class CButtonTool : public CDrawTool
  203. {
  204. // Constructors
  205. public:
  206. CButtonTool();
  207. // Implementation
  208. virtual void OnLButtonDown(CProjView* pView, UINT nFlags, const CPoint& point);
  209. virtual void OnLButtonDblClk(CProjView* pView, UINT nFlags, const CPoint& point);
  210. virtual void OnLButtonUp(CProjView* pView, UINT nFlags, const CPoint& point);
  211. virtual void OnMouseMove(CProjView* pView, UINT nFlags, const CPoint& point);
  212. };
  213. #endif // __DRAWTOOL_H__