comparison foosdk/sdk/libPPUI/CListControlTruncationTooltipImpl.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
comparison
equal deleted inserted replaced
0:e9bb126753e7 1:20d02a178406
1 #pragma once
2
3 class CListControlTruncationTooltipImpl : public CListControlHeaderImpl {
4 private:
5 typedef CListControlHeaderImpl TParent;
6 public:
7 CListControlTruncationTooltipImpl();
8
9 BEGIN_MSG_MAP_EX(CListControlTruncationTooltipImpl)
10 MESSAGE_HANDLER(WM_MOUSEHOVER,OnHover);
11 MESSAGE_HANDLER(WM_MOUSEMOVE,OnMouseMovePassThru);
12 MESSAGE_HANDLER(WM_TIMER,OnTimer);
13 MESSAGE_HANDLER(WM_DESTROY,OnDestroyPassThru);
14 CHAIN_MSG_MAP(TParent)
15 NOTIFY_CODE_HANDLER(TTN_GETDISPINFO,OnTTGetDispInfo);
16 NOTIFY_CODE_HANDLER(TTN_POP,OnTTPop);
17 NOTIFY_CODE_HANDLER(TTN_SHOW,OnTTShow);
18 END_MSG_MAP()
19
20 void OnViewOriginChange(CPoint p_delta) override {TParent::OnViewOriginChange(p_delta);TooltipRemove();}
21 void TooltipRemove();
22 virtual void RefreshDarkMode();
23 protected:
24 virtual bool GetTooltipData( CPoint ptAbs, pfc::string_base & text, CRect & rc, CFontHandle & font) const;
25 private:
26 enum {
27 KTooltipTimer = 0x51dbee9e,
28 KTooltipTimerDelay = 50,
29 };
30 LRESULT OnHover(UINT,WPARAM,LPARAM,BOOL&);
31 LRESULT OnMouseMovePassThru(UINT,WPARAM,LPARAM,BOOL&);
32 LRESULT OnTimer(UINT,WPARAM,LPARAM,BOOL&);
33 LRESULT OnTTGetDispInfo(int,LPNMHDR,BOOL&);
34 LRESULT OnTTShow(int,LPNMHDR,BOOL&);
35 LRESULT OnTTPop(int,LPNMHDR,BOOL&);
36 LRESULT OnDestroyPassThru(UINT,WPARAM,LPARAM,BOOL&);
37
38 void InitTooltip();
39 void TooltipActivateAbs(const char * label, const CRect & rect);
40 void TooltipActivate(const char * label, const CRect & rect);
41 void TooltipRemoveCheck(LPARAM pos);
42 void TooltipRemoveCheck();
43 void TooltipUpdateFont();
44 void OnSetFont(bool) override {TooltipUpdateFont();}
45 bool IsRectFullyVisibleAbs(CRect const & r);
46 bool IsRectPartiallyObscuredAbs(CRect const & r) const;
47 CRect m_tooltipRect;
48 CToolTipCtrl m_tooltip;
49 TOOLINFO m_toolinfo;
50 pfc::stringcvt::string_os_from_utf8 m_tooltipText;
51 CFontHandle m_tooltipFont;
52 };