Added wxRichToolTip class.

It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).

Extra features include:
 - The balloon-like tooltip form.
 - Possibility to show an icon.
 - Title display in a different form.

More customization could be added later. It should be also possible to fully
implement this class natively under MSW.

Update the dialogs sample to show the rich tooltips in action.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-10-18 21:57:02 +00:00
parent 46ea442ca2
commit e520c3f75c
44 changed files with 2704 additions and 17 deletions

View File

@@ -2263,6 +2263,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridcmn.obj \
$(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_odcombocmn.obj \
$(OBJS)\monodll_richtooltipcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_bannerwindow.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -2281,6 +2282,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_notifmsgg.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
$(OBJS)\monodll_generic_richtooltip.obj \
$(OBJS)\monodll_sashwin.obj \
$(OBJS)\monodll_splash.obj \
$(OBJS)\monodll_generic_timectrl.obj \
@@ -2290,6 +2292,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_aboutdlg.obj \
$(OBJS)\monodll_notifmsg.obj \
$(OBJS)\monodll_msw_richtooltip.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monodll_joystick.obj \
@@ -2312,6 +2315,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_gridcmn.obj \
$(OBJS)\monodll_hyperlnkcmn.obj \
$(OBJS)\monodll_odcombocmn.obj \
$(OBJS)\monodll_richtooltipcmn.obj \
$(OBJS)\monodll_aboutdlgg.obj \
$(OBJS)\monodll_bannerwindow.obj \
$(OBJS)\monodll_bmpcboxg.obj \
@@ -2330,6 +2334,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_notifmsgg.obj \
$(OBJS)\monodll_odcombo.obj \
$(OBJS)\monodll_propdlg.obj \
$(OBJS)\monodll_generic_richtooltip.obj \
$(OBJS)\monodll_sashwin.obj \
$(OBJS)\monodll_splash.obj \
$(OBJS)\monodll_generic_timectrl.obj \
@@ -2339,6 +2344,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_aboutdlg.obj \
$(OBJS)\monodll_notifmsg.obj \
$(OBJS)\monodll_msw_richtooltip.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monodll_joystick.obj \
@@ -3040,6 +3046,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridcmn.obj \
$(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_odcombocmn.obj \
$(OBJS)\monolib_richtooltipcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_bannerwindow.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -3058,6 +3065,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_notifmsgg.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
$(OBJS)\monolib_generic_richtooltip.obj \
$(OBJS)\monolib_sashwin.obj \
$(OBJS)\monolib_splash.obj \
$(OBJS)\monolib_generic_timectrl.obj \
@@ -3067,6 +3075,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_aboutdlg.obj \
$(OBJS)\monolib_notifmsg.obj \
$(OBJS)\monolib_msw_richtooltip.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\monolib_joystick.obj \
@@ -3089,6 +3098,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_gridcmn.obj \
$(OBJS)\monolib_hyperlnkcmn.obj \
$(OBJS)\monolib_odcombocmn.obj \
$(OBJS)\monolib_richtooltipcmn.obj \
$(OBJS)\monolib_aboutdlgg.obj \
$(OBJS)\monolib_bannerwindow.obj \
$(OBJS)\monolib_bmpcboxg.obj \
@@ -3107,6 +3117,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_notifmsgg.obj \
$(OBJS)\monolib_odcombo.obj \
$(OBJS)\monolib_propdlg.obj \
$(OBJS)\monolib_generic_richtooltip.obj \
$(OBJS)\monolib_sashwin.obj \
$(OBJS)\monolib_splash.obj \
$(OBJS)\monolib_generic_timectrl.obj \
@@ -3116,6 +3127,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_aboutdlg.obj \
$(OBJS)\monolib_notifmsg.obj \
$(OBJS)\monolib_msw_richtooltip.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\monolib_joystick.obj \
@@ -4252,6 +4264,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridcmn.obj \
$(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_odcombocmn.obj \
$(OBJS)\advdll_richtooltipcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_bannerwindow.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -4270,6 +4283,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_notifmsgg.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
$(OBJS)\advdll_generic_richtooltip.obj \
$(OBJS)\advdll_sashwin.obj \
$(OBJS)\advdll_splash.obj \
$(OBJS)\advdll_generic_timectrl.obj \
@@ -4279,6 +4293,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_aboutdlg.obj \
$(OBJS)\advdll_notifmsg.obj \
$(OBJS)\advdll_msw_richtooltip.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advdll_joystick.obj \
@@ -4301,6 +4316,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_gridcmn.obj \
$(OBJS)\advdll_hyperlnkcmn.obj \
$(OBJS)\advdll_odcombocmn.obj \
$(OBJS)\advdll_richtooltipcmn.obj \
$(OBJS)\advdll_aboutdlgg.obj \
$(OBJS)\advdll_bannerwindow.obj \
$(OBJS)\advdll_bmpcboxg.obj \
@@ -4319,6 +4335,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_notifmsgg.obj \
$(OBJS)\advdll_odcombo.obj \
$(OBJS)\advdll_propdlg.obj \
$(OBJS)\advdll_generic_richtooltip.obj \
$(OBJS)\advdll_sashwin.obj \
$(OBJS)\advdll_splash.obj \
$(OBJS)\advdll_generic_timectrl.obj \
@@ -4328,6 +4345,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_aboutdlg.obj \
$(OBJS)\advdll_notifmsg.obj \
$(OBJS)\advdll_msw_richtooltip.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advdll_joystick.obj \
@@ -4346,6 +4364,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridcmn.obj \
$(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_odcombocmn.obj \
$(OBJS)\advlib_richtooltipcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_bannerwindow.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -4364,6 +4383,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_notifmsgg.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
$(OBJS)\advlib_generic_richtooltip.obj \
$(OBJS)\advlib_sashwin.obj \
$(OBJS)\advlib_splash.obj \
$(OBJS)\advlib_generic_timectrl.obj \
@@ -4373,6 +4393,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_aboutdlg.obj \
$(OBJS)\advlib_notifmsg.obj \
$(OBJS)\advlib_msw_richtooltip.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(OBJS)\advlib_joystick.obj \
@@ -4395,6 +4416,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_gridcmn.obj \
$(OBJS)\advlib_hyperlnkcmn.obj \
$(OBJS)\advlib_odcombocmn.obj \
$(OBJS)\advlib_richtooltipcmn.obj \
$(OBJS)\advlib_aboutdlgg.obj \
$(OBJS)\advlib_bannerwindow.obj \
$(OBJS)\advlib_bmpcboxg.obj \
@@ -4413,6 +4435,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_notifmsgg.obj \
$(OBJS)\advlib_odcombo.obj \
$(OBJS)\advlib_propdlg.obj \
$(OBJS)\advlib_generic_richtooltip.obj \
$(OBJS)\advlib_sashwin.obj \
$(OBJS)\advlib_splash.obj \
$(OBJS)\advlib_generic_timectrl.obj \
@@ -4422,6 +4445,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_aboutdlg.obj \
$(OBJS)\advlib_notifmsg.obj \
$(OBJS)\advlib_msw_richtooltip.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(OBJS)\advlib_joystick.obj \
@@ -8251,6 +8275,11 @@ $(OBJS)\monodll_odcombocmn.obj: ..\..\src\common\odcombocmn.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_richtooltipcmn.obj: ..\..\src\common\richtooltipcmn.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\richtooltipcmn.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\aboutdlgg.cpp
!endif
@@ -8341,6 +8370,11 @@ $(OBJS)\monodll_propdlg.obj: ..\..\src\generic\propdlg.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_generic_richtooltip.obj: ..\..\src\generic\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\richtooltip.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_sashwin.obj: ..\..\src\generic\sashwin.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\sashwin.cpp
!endif
@@ -8386,6 +8420,11 @@ $(OBJS)\monodll_notifmsg.obj: ..\..\src\msw\notifmsg.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_msw_richtooltip.obj: ..\..\src\msw\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\richtooltip.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_sound.obj: ..\..\src\msw\sound.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\sound.cpp
!endif
@@ -10638,6 +10677,11 @@ $(OBJS)\monolib_odcombocmn.obj: ..\..\src\common\odcombocmn.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_richtooltipcmn.obj: ..\..\src\common\richtooltipcmn.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\richtooltipcmn.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\aboutdlgg.cpp
!endif
@@ -10728,6 +10772,11 @@ $(OBJS)\monolib_propdlg.obj: ..\..\src\generic\propdlg.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_generic_richtooltip.obj: ..\..\src\generic\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\richtooltip.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_sashwin.obj: ..\..\src\generic\sashwin.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\sashwin.cpp
!endif
@@ -10773,6 +10822,11 @@ $(OBJS)\monolib_notifmsg.obj: ..\..\src\msw\notifmsg.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_msw_richtooltip.obj: ..\..\src\msw\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\richtooltip.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_sound.obj: ..\..\src\msw\sound.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\sound.cpp
!endif
@@ -14418,6 +14472,9 @@ $(OBJS)\advdll_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
$(OBJS)\advdll_odcombocmn.obj: ..\..\src\common\odcombocmn.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\odcombocmn.cpp
$(OBJS)\advdll_richtooltipcmn.obj: ..\..\src\common\richtooltipcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\richtooltipcmn.cpp
$(OBJS)\advdll_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\aboutdlgg.cpp
@@ -14472,6 +14529,9 @@ $(OBJS)\advdll_odcombo.obj: ..\..\src\generic\odcombo.cpp
$(OBJS)\advdll_propdlg.obj: ..\..\src\generic\propdlg.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\propdlg.cpp
$(OBJS)\advdll_generic_richtooltip.obj: ..\..\src\generic\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\richtooltip.cpp
$(OBJS)\advdll_sashwin.obj: ..\..\src\generic\sashwin.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\sashwin.cpp
@@ -14499,6 +14559,9 @@ $(OBJS)\advdll_aboutdlg.obj: ..\..\src\msw\aboutdlg.cpp
$(OBJS)\advdll_notifmsg.obj: ..\..\src\msw\notifmsg.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\notifmsg.cpp
$(OBJS)\advdll_msw_richtooltip.obj: ..\..\src\msw\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\richtooltip.cpp
$(OBJS)\advdll_sound.obj: ..\..\src\msw\sound.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\msw\sound.cpp
@@ -14559,6 +14622,9 @@ $(OBJS)\advlib_hyperlnkcmn.obj: ..\..\src\common\hyperlnkcmn.cpp
$(OBJS)\advlib_odcombocmn.obj: ..\..\src\common\odcombocmn.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\odcombocmn.cpp
$(OBJS)\advlib_richtooltipcmn.obj: ..\..\src\common\richtooltipcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\richtooltipcmn.cpp
$(OBJS)\advlib_aboutdlgg.obj: ..\..\src\generic\aboutdlgg.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\aboutdlgg.cpp
@@ -14613,6 +14679,9 @@ $(OBJS)\advlib_odcombo.obj: ..\..\src\generic\odcombo.cpp
$(OBJS)\advlib_propdlg.obj: ..\..\src\generic\propdlg.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\propdlg.cpp
$(OBJS)\advlib_generic_richtooltip.obj: ..\..\src\generic\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\richtooltip.cpp
$(OBJS)\advlib_sashwin.obj: ..\..\src\generic\sashwin.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\sashwin.cpp
@@ -14640,6 +14709,9 @@ $(OBJS)\advlib_aboutdlg.obj: ..\..\src\msw\aboutdlg.cpp
$(OBJS)\advlib_notifmsg.obj: ..\..\src\msw\notifmsg.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\notifmsg.cpp
$(OBJS)\advlib_msw_richtooltip.obj: ..\..\src\msw\richtooltip.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\richtooltip.cpp
$(OBJS)\advlib_sound.obj: ..\..\src\msw\sound.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\msw\sound.cpp