Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.2 KiB

4 years ago
  1. // Class CTMSingleSelect -- A Single Selection Text List
  2. // Created 4 October 1992 by Ronald C. Murray
  3. #ifndef __TMSINGLE_H__
  4. #define __TMSINGLE_H__
  5. #include "Select.h"
  6. class CTMSingleSelect : public CSelector
  7. {
  8. public:
  9. CTMSingleSelect(CTextMatrix *ptm, long rowStart= 0,
  10. UINT hlType= CHighlight::DOT_BOX_TEXT,
  11. BOOL fHighlightOn= FALSE
  12. )
  13. {
  14. m_rowHL = rowStart;
  15. m_hlType = hlType;
  16. m_fHLOn = fHighlightOn;
  17. ASSERT(ptm);
  18. m_ptm= ptm; // Note: Don't use AttachRef here!
  19. // It'll create a reference loop!
  20. }
  21. ~CTMSingleSelect() { } // DetachRef(m_ptm); }
  22. long GetHighlights
  23. (long rowTop, long colLeft,
  24. long cRows, long cCols,
  25. long cHighlights, CHighlight *phl
  26. );
  27. long GetSelectedRow() { return m_fHLOn? m_rowHL : -1; }
  28. void SetSelectedRow(long row, BOOL fNotify= TRUE,
  29. UINT hlType= CHighlight::HIGHLIGHT_TEXT,
  30. BOOL fHighlightOn= TRUE
  31. );
  32. BOOL GetFocusRect(int *prow , int *pcol,
  33. int *pcRows, int *pcCols
  34. );
  35. // Filter Event:
  36. void FilterChanged()
  37. {
  38. SetSelectedRow(0, TRUE, CHighlight::HIGHLIGHT_TEXT, FALSE);
  39. }
  40. // Mouse Events:
  41. void OnLButtonDblClk(UINT nFlags, long row, long col)
  42. {
  43. m_ptm->NotifyInterface(CTextMatrix::DoubleClick);
  44. }
  45. void OnLButtonDown(UINT nFlags, long row, long col);
  46. void OnLButtonUp (UINT nFlags, long row, long col,BOOL bInBox = FALSE);
  47. void OnMouseMove (UINT nFlags, long row, long col);
  48. // Keystroke Events:
  49. void OnKeyDown(CTextDisplay *ptd,
  50. UINT nChar, UINT nRepCnt, UINT nFlags
  51. );
  52. void OnKeyUp (CTextDisplay *ptd,
  53. UINT nChar, UINT nRepCnt, UINT nFlags
  54. );
  55. void OnChar (CTextDisplay *ptd,
  56. UINT nChar, UINT nRepCnt, UINT nFlags
  57. );
  58. private:
  59. BOOL m_fHLOn;
  60. long m_rowHL;
  61. UINT m_hlType;
  62. };
  63. #endif // __TMSINGLE_H__