PageChat.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #ifndef __PageChat_h__
  2. #define __PageChat_h__
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. /////////////////////////////////////////////////////////////////////////////
  7. // PageChat.h : header file
  8. //
  9. #include "DlgChatPreferences.h"
  10. #include "AutoSizer.h"
  11. /////////////////////////////////////////////////////////////////////////////
  12. // Forward Declaration
  13. class CAllSrvUISheet;
  14. class CAdminPageThreadWnd;
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CPageChat dialog
  17. class CPageChat : public CPropertyPage
  18. {
  19. // Declarations
  20. public:
  21. DECLARE_DYNAMIC(CPageChat)
  22. DECLARE_MESSAGE_MAP()
  23. // Construction
  24. public:
  25. CPageChat();
  26. // Attributes
  27. public:
  28. // Overrides
  29. public:
  30. void OnEvent(IAGCEvent* pEvent);
  31. // ClassWizard generate virtual function overrides
  32. //{{AFX_VIRTUAL(CPageChat)
  33. public:
  34. virtual BOOL OnSetActive();
  35. virtual BOOL PreTranslateMessage(MSG* pMsg);
  36. protected:
  37. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  38. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  39. //}}AFX_VIRTUAL
  40. // Implementation
  41. protected:
  42. CAllSrvUISheet* GetSheet()
  43. {
  44. return reinterpret_cast<CAllSrvUISheet*>(GetParent());
  45. }
  46. void LoadFromRegistry();
  47. void SaveToRegistry();
  48. void SaveChatListColumnOrderToRegistry();
  49. void SaveChatListColumnWidthsToRegistry();
  50. void SaveSendChatMRUToRegistry();
  51. void SaveSendChatAllGames();
  52. void TrimExcessChats();
  53. void UpdateActivateAdminPage();
  54. void UpdateActivateChatMessage();
  55. void UpdateUI(bool bUpdateData = false);
  56. void SendChat();
  57. static UINT AdminPageMsgThreadThunk(void* pvParam);
  58. static UINT AdminPageRunThreadThunk(void* pvParam);
  59. void AdminPageMsgThreadProc();
  60. void AdminPageRunThreadProc();
  61. // Message Handlers
  62. protected:
  63. // Generated message map functions
  64. //{{AFX_MSG(CPageChat)
  65. virtual BOOL OnInitDialog();
  66. afx_msg void OnEndDragChatList(NMHDR* pNMHDR, LRESULT* pResult);
  67. afx_msg void OnEndTrackChatList(NMHDR* pNMHDR, LRESULT* pResult);
  68. afx_msg void OnChatPreferences();
  69. afx_msg void OnChatListClear();
  70. afx_msg void OnDestroy();
  71. afx_msg void OnTimer(UINT nIDEvent);
  72. afx_msg void OnSendChatAllGames();
  73. //}}AFX_MSG
  74. // Data Members
  75. protected:
  76. //{{AFX_DATA(CPageChat)
  77. enum { IDD = IDD_PAGE_CHAT };
  78. CButton m_btnSendChatAllGames;
  79. CListCtrl m_listChat;
  80. CStatic m_staticSendChat;
  81. CComboBox m_comboSendChat;
  82. CButton m_btnSendChat;
  83. CString m_strSendChat;
  84. BOOL m_bSendChatAllGames;
  85. //}}AFX_DATA
  86. protected:
  87. enum
  88. {
  89. c_iColumnSender,
  90. c_iColumnTarget,
  91. c_iColumnMessage,
  92. c_cColumns
  93. };
  94. enum
  95. {
  96. c_idTimerReorder = 1,
  97. c_idTimerResize,
  98. };
  99. enum
  100. {
  101. c_dwDelayReorder = 200,
  102. c_dwDelayResize = 200,
  103. };
  104. ITCStringsPtr m_spStrings;
  105. CDlgChatPreferences m_Prefs;
  106. bool m_bAdminPageActivated;
  107. bool m_bChatActivated;
  108. CWinThread* m_pthAdminPageMsg;
  109. CWinThread* m_pthAdminPageRun;
  110. CEvent m_evtAdminPageMsgThreadStartup;
  111. CEvent m_evtAdminPageRunThreadStartup;
  112. CAdminPageThreadWnd* m_pWndAdminPageMsgThread;
  113. CAdminPageThreadWnd* m_pWndAdminPageRunThread;
  114. CAutoSizer m_AutoSizer;
  115. // Friends
  116. protected:
  117. friend class CInvisibleWnd;
  118. };
  119. /////////////////////////////////////////////////////////////////////////////
  120. //{{AFX_INSERT_LOCATION}}
  121. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  122. /////////////////////////////////////////////////////////////////////////////
  123. #endif // !__PageChat_h__