5c2e79e110b7f547a74839e3a5435bf155267112.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows.Forms;
  6. namespace IControls_FireManager
  7. {
  8. // 사용자가 쓰는 이벤트 함수는 여기 클래스에서 전담한다
  9. public static class _Event
  10. {
  11. // 다른 폼을 종료하기 위한 이벤트
  12. // sender : 폼이름
  13. // etc : 기타 변수 (사용자 마음대로)
  14. public delegate void FormClose_SendMessage_Handler(object sender, object etc);
  15. public static event FormClose_SendMessage_Handler FormClose_SendMessage_Event;
  16. public static void FormClose_SendMessage(object sender, object etc)
  17. {
  18. if (FormClose_SendMessage_Event != null)
  19. { FormClose_SendMessage_Event(sender, etc); }
  20. }
  21. // 팝업 폼을 종료하기 위한 이벤트
  22. // sender : 폼이름
  23. // etc : 기타 변수 (사용자 마음대로)
  24. public delegate void PopupClose_SendMessage_Handler(object sender, object etc);
  25. public static event PopupClose_SendMessage_Handler PopupClose_SendMessage_Event;
  26. public static void PopupClose_SendMessage(object sender, object etc)
  27. {
  28. if (PopupClose_SendMessage_Event != null)
  29. { PopupClose_SendMessage_Event(sender, etc); }
  30. }
  31. // 팝업 진행 카운트를 제어하기 위한 이벤트
  32. // sender : 폼이름
  33. // etc : 기타 변수 (사용자 마음대로)
  34. public delegate void ProgressPopupCount_SendMessage_Handler(object sender, object etc);
  35. public static event ProgressPopupCount_SendMessage_Handler ProgressPopupCount_SendMessage_Event;
  36. public static void ProgressPopupCount_SendMessage(object sender, object etc)
  37. {
  38. if (ProgressPopupCount_SendMessage_Event != null)
  39. { ProgressPopupCount_SendMessage_Event(sender, etc); }
  40. }
  41. // 디버그뷰에 텍스트 추가 이벤트 (예시 : 프로그램 구동시 LOG 를 남긴다)
  42. public delegate void DebugView_SendMessage_Handler(string Data);
  43. public static event DebugView_SendMessage_Handler DebugView_SendMessage_Event;
  44. public static void DebugView_SendMessage_Write(string Data)
  45. {
  46. if (DebugView_SendMessage_Event != null)
  47. { DebugView_SendMessage_Event(Data); }
  48. }
  49. // 스타일 변경 이벤트 (예시 : 메인메뉴에서 스타일을 변경하면 모든 폼에 있는 컴포넌트의 스타일이 변경된다)
  50. public delegate void WindowStyleSet_SendMessage_Handler();
  51. public static event WindowStyleSet_SendMessage_Handler WindowStyleSet_SendMessage_Event;
  52. public static void WindowStyleSet_SendMessage_Write()
  53. {
  54. if (WindowStyleSet_SendMessage_Event != null)
  55. { WindowStyleSet_SendMessage_Event(); }
  56. }
  57. // 트리뷰에 수신기 노드를 생성 및 편집하기 위한 이벤트 (예시 : 트리에서 ROOT 노드의 팝업창을 통해 수신기 추가)
  58. // _RECEIVER : _RECEIVER 클래스
  59. public delegate void TreeView_ReceiverNodeSet_SendMessage_Handler(_RECEIVER RECEIVER);
  60. public static event TreeView_ReceiverNodeSet_SendMessage_Handler TreeView_ReceiverNodeSet_SendMessage_Event;
  61. public static void TreeView_ReceiverNodeSet_SendMessage_Write(_RECEIVER RECEIVER)
  62. {
  63. if (TreeView_ReceiverNodeSet_SendMessage_Event != null)
  64. { TreeView_ReceiverNodeSet_SendMessage_Event(RECEIVER); }
  65. }
  66. // 트리뷰에 페이지 노드를 생성 및 편집하기 위한 이벤트 (예시 : 맵디자이너에서 페이지 추가)
  67. // _Page : _Page 클래스
  68. public delegate void TreeView_PageNodeSet_SendMessage_Handler(string RECEIVER_ID, _Page Page);
  69. public static event TreeView_PageNodeSet_SendMessage_Handler TreeView_PageNodeSet_SendMessage_Event;
  70. public static void TreeView_PageNodeSet_SendMessage_Write(string RECEIVER_ID, _Page Page)
  71. {
  72. if (TreeView_PageNodeSet_SendMessage_Event != null)
  73. { TreeView_PageNodeSet_SendMessage_Event(RECEIVER_ID, Page); }
  74. }
  75. // 워크뷰 초기화 이벤트 (예시 : 다른뷰 -> 워크뷰)
  76. public delegate void WorkView_Clear_SendMessage_Handler();
  77. public static event WorkView_Clear_SendMessage_Handler WorkView_Clear_SendMessage_Event;
  78. public static void WorkView_Clear_SendMessage_Write()
  79. {
  80. if (WorkView_Clear_SendMessage_Event != null)
  81. { WorkView_Clear_SendMessage_Event(); }
  82. }
  83. // 트리뷰 초기화 이벤트 및 프로젝트 열기 혹은 새로만들기 겸용 (예시 : 다른뷰 -> 트리뷰)
  84. public delegate void TreeView_Clear_SendMessage_Handler(string ProjectName);
  85. public static event TreeView_Clear_SendMessage_Handler TreeView_Clear_SendMessage_Event;
  86. public static void TreeView_Clear_SendMessage_Write(string ProjectName)
  87. {
  88. if (TreeView_Clear_SendMessage_Event != null)
  89. { TreeView_Clear_SendMessage_Event(ProjectName); }
  90. }
  91. // 수신기 초기화 이벤트 (예시 : 다른뷰 -> 트리뷰)
  92. public delegate void Receiver_Clear_SendMessage_Handler();
  93. public static event Receiver_Clear_SendMessage_Handler Receiver_Clear_SendMessage_Event;
  94. public static void Receiver_Clear_SendMessage_Write()
  95. {
  96. if (Receiver_Clear_SendMessage_Event != null)
  97. { Receiver_Clear_SendMessage_Event(); }
  98. }
  99. // 메인 메뉴에서 그림 수정 이벤트 (예시 : 그래픽노드 -> 오른쪽마우스 -> 그림수정 , 단 맵디자이너가 켜져 있는 경우)
  100. public delegate void PictrueEdit_NodeSeleted_SendMessage_Handler(_RECEIVER RECEIVER, string PageName);
  101. public static event PictrueEdit_NodeSeleted_SendMessage_Handler PictrueEdit_NodeSeleted_SendMessage_Event;
  102. public static void PictrueEdit_NodeSeleted_SendMessage_Write(_RECEIVER RECEIVER, string PageName)
  103. {
  104. if (PictrueEdit_NodeSeleted_SendMessage_Event != null)
  105. { PictrueEdit_NodeSeleted_SendMessage_Event(RECEIVER, PageName); }
  106. }
  107. // 맵디자이너 창을 닫는 이벤트
  108. public delegate void MapDesigner_Close_SendMessage_Handler();
  109. public static event MapDesigner_Close_SendMessage_Handler MapDesigner_Close_SendMessage_Event;
  110. public static void MapDesigner_Close_SendMessage_Write()
  111. {
  112. if (MapDesigner_Close_SendMessage_Event != null)
  113. { MapDesigner_Close_SendMessage_Event(); }
  114. }
  115. // 워크뷰에 페이지 별로 작업하기 위한 이벤트 (예시 : 트리뷰에서 노드를 선택하면 페이지가 표시됨)
  116. // SystemTreeView : 시스템 트리 정보
  117. // TypeName : 디바이스 타입
  118. public delegate void WorkViewPageName_SendMessage_Handler(string RECEIVER_ID, Object_Type TypeName, string NodeKey, string NodeText);
  119. public static event WorkViewPageName_SendMessage_Handler WorkViewPageName_SendMessage_Event;
  120. public static void WorkViewPageName_SendMessage_Write(string RECEIVER_ID, Object_Type TypeName, string NodeKey, string NodeText)
  121. {
  122. if (WorkViewPageName_SendMessage_Event != null)
  123. { WorkViewPageName_SendMessage_Event(RECEIVER_ID, TypeName, NodeKey, NodeText); }
  124. }
  125. // 워크뷰에 그룹 및 연동설정 텝페이지 별로 작업하기 위한 이벤트 (예시 : 트리뷰에서 그룹 및 연동설정노드를 선택하면 페이지가 표시됨)
  126. // TypeName : 디바이스 타입
  127. public delegate void WorkViewPageName_Oper_SendMessage_Handler(string RECEIVER_ID, Object_Type TypeName);
  128. public static event WorkViewPageName_Oper_SendMessage_Handler WorkViewPageName_Oper_SendMessage_Event;
  129. public static void WorkViewPageName_Oper_SendMessage_Write(string RECEIVER_ID, Object_Type TypeName)
  130. {
  131. if (WorkViewPageName_Oper_SendMessage_Event != null)
  132. { WorkViewPageName_Oper_SendMessage_Event(RECEIVER_ID, TypeName); }
  133. }
  134. // 수신기 추가 및 편집 폼에서 작업 완료 (예시 : 수신기 추가 혹은 수신기 정보를 편집하였다) -> 수신기 편집만 해당되도록 수정 - cyim 2013.06.17
  135. public delegate void WorkViewPageName_Receiver_SendMessage_Handler(string RECEIVER_ID);
  136. public static event WorkViewPageName_Receiver_SendMessage_Handler WorkViewPageName_Receiver_SendMessage_Event;
  137. public static void WorkViewPageName_Receiver_SendMessage_Write(string RECEIVER_ID)
  138. {
  139. if (WorkViewPageName_Receiver_SendMessage_Event != null)
  140. { WorkViewPageName_Receiver_SendMessage_Event(RECEIVER_ID); }
  141. }
  142. // 다른이름으로 페이지 명을 변경하여 저장하는 이벤트 (예시 : 트리->페이지노드->이름변경 에서 저장버튼 누름)
  143. public delegate void Page_Rename_SendMessage_Handler(string RECEIVER_ID, string PageNodeKey, string PageNodeText);
  144. public static event Page_Rename_SendMessage_Handler Page_Rename_SendMessage_Event;
  145. public static void Page_Rename_SendMessage_Write(string RECEIVER_ID, string PageNodeKey, string PageNodeText)
  146. {
  147. if (Page_Rename_SendMessage_Event != null)
  148. { Page_Rename_SendMessage_Event(RECEIVER_ID, PageNodeKey, PageNodeText); }
  149. }
  150. // 페이지 저장 (XML 및 DB 저장) 이벤트 (예시 : 메인->프로젝트열기, 새로만들기 혹은 프로그램 종료시 팝업창-> 확인버튼)
  151. public delegate void Page_Save_SendMessage_Handler(string RECEIVER_ID);
  152. public static event Page_Save_SendMessage_Handler Page_Save_SendMessage_Event;
  153. public static void Page_Save_SendMessage_Write(string RECEIVER_ID)
  154. {
  155. if (Page_Save_SendMessage_Event != null)
  156. { Page_Save_SendMessage_Event(RECEIVER_ID); }
  157. }
  158. // Form_AddDevice폼에서 Form_ConfigMAP폼으로 이벤트 발생
  159. public delegate void Form_AddDevice_SendMessage_Handler(DEVICE_EVENT EventName);
  160. public static event Form_AddDevice_SendMessage_Handler Form_AddDevice_SendMessage_Event;
  161. public static void Form_AddDevice_SendMessage_Write(DEVICE_EVENT EventName)
  162. {
  163. if (Form_AddDevice_SendMessage_Event != null)
  164. { Form_AddDevice_SendMessage_Event(EventName); }
  165. }
  166. // Form_AddGroup폼에서 Form_ConfigMAP폼으로 이벤트 발생
  167. public delegate void Form_AddGroup_SendMessage_Handler(DEVICE_EVENT EventName);
  168. public static event Form_AddGroup_SendMessage_Handler Form_AddGroup_SendMessage_Event;
  169. public static void Form_AddGroup_SendMessage_Write(DEVICE_EVENT EventName)
  170. {
  171. if (Form_AddGroup_SendMessage_Event != null)
  172. { Form_AddGroup_SendMessage_Event(EventName); }
  173. }
  174. // Form_ConfigMAP폼에서 Form_Check_Device폼으로 이벤트 발생
  175. public delegate void Form_ConfigMAP_SendMessage_Handler(string GroupID);
  176. public static event Form_ConfigMAP_SendMessage_Handler Form_ConfigMAP_SendMessage_Event;
  177. public static void Form_ConfigMAP_SendMessage_Write(string GroupID)
  178. {
  179. if (Form_ConfigMAP_SendMessage_Event != null)
  180. { Form_ConfigMAP_SendMessage_Event(GroupID); }
  181. }
  182. // 비상방송 편집 이벤트 발생 (입력 포인트에서 비상방송을 편집하면 입출력 포인트 정보를 모두 표시하도록 한다)
  183. public delegate void EmergencyCodeEdit_SendMessage_Handler(string RECEIVER_ID);
  184. public static event EmergencyCodeEdit_SendMessage_Handler EmergencyCodeEdit_SendMessage_Event;
  185. public static void EmergencyCodeEdit_SendMessage_Write(string RECEIVER_ID)
  186. {
  187. if (EmergencyCodeEdit_SendMessage_Event != null)
  188. { EmergencyCodeEdit_SendMessage_Event(RECEIVER_ID); }
  189. }
  190. // 수신기 xml 을 이용해서 프로젝트 열기하는 경우 자동으로 트리 표시 (TreeView Form -> Project Open Form)
  191. public delegate void Receiver_NodeAddComplete_SendMessage_Handler(string RECEIVER_ID);
  192. public static event Receiver_NodeAddComplete_SendMessage_Handler Receiver_NodeAddComplete_SendMessage_Event;
  193. public static void Receiver_NodeAddComplete_SendMessage_Write(string RECEIVER_ID)
  194. {
  195. if (Receiver_NodeAddComplete_SendMessage_Event != null)
  196. { Receiver_NodeAddComplete_SendMessage_Event(RECEIVER_ID); }
  197. }
  198. // 프로젝트 저장시에 페이지 저장을 위해 수신기 아이디별로 작업해야 한다 (TreeView Form -> Main Form)
  199. public delegate void Receiver_PageSaveComplete_SendMessage_Handler(string RECEIVER_ID);
  200. public static event Receiver_PageSaveComplete_SendMessage_Handler Receiver_PageSaveComplete_SendMessage_Event;
  201. public static void Receiver_PageSaveComplete_SendMessage_Write(string RECEIVER_ID)
  202. {
  203. if (Receiver_PageSaveComplete_SendMessage_Event != null)
  204. { Receiver_PageSaveComplete_SendMessage_Event(RECEIVER_ID); }
  205. }
  206. // 화면 최대화 명령 (TreeView Form -> Main Form)
  207. public delegate void Windows_MaxSize_SendMessage_Handler();
  208. public static event Windows_MaxSize_SendMessage_Handler Windows_MaxSize_SendMessage_Event;
  209. public static void Windows_MaxSize_SendMessage_Write()
  210. {
  211. if (Windows_MaxSize_SendMessage_Event != null)
  212. { Windows_MaxSize_SendMessage_Event(); }
  213. }
  214. // 화면 캡쳐 명령 (TreeView Form -> Work Form)
  215. public delegate void Capture_Save_SendMessage_Handler(string RECEIVER_ID, string PAGE_ID);
  216. public static event Capture_Save_SendMessage_Handler Capture_Save_SendMessage_Event;
  217. public static void Capture_Save_SendMessage_Write(string RECEIVER_ID, string PAGE_ID)
  218. {
  219. if (Capture_Save_SendMessage_Event != null)
  220. { Capture_Save_SendMessage_Event(RECEIVER_ID, PAGE_ID); }
  221. }
  222. }
  223. }