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