From: Stefan Csomor Date: Tue, 4 Feb 2003 22:27:54 +0000 (+0000) Subject: OSX native tooltips X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a19f009bce1fc003b93d6ff144202e76803125fd?ds=inline OSX native tooltips git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/tooltip.cpp b/src/mac/carbon/tooltip.cpp index 2fbce9c667..1957c58db6 100644 --- a/src/mac/carbon/tooltip.cpp +++ b/src/mac/carbon/tooltip.cpp @@ -222,21 +222,35 @@ void wxMacToolTip::Draw() if ( m_window == s_ToolTipWindowRef ) { + m_shown = true ; #if TARGET_CARBON -/* if ( HMDisplayTag != (void*) kUnresolvedCFragSymbolAddress ) { - HMDisplayTag( + HMHelpContentRec tag ; + tag.version = kMacHelpVersion; + SetRect( &tag.absHotRect , m_position.x - 2 , m_position.y - 2 , m_position.x + 2 , m_position.y + 2 ) ; + GrafPtr port ; + GetPort( &port ) ; + SetPortWindowPort(m_window) ; + LocalToGlobal( (Point *) &tag.absHotRect.top ); + LocalToGlobal( (Point *) &tag.absHotRect.bottom ); + SetPort( port ); + CFStringRef text = wxMacCreateCFString(m_label) ; + tag.content[kHMMinimumContentIndex].contentType = kHMCFStringContent ; + tag.content[kHMMinimumContentIndex].u.tagCFString = text ; + tag.content[kHMMaximumContentIndex].contentType = kHMCFStringContent ; + tag.content[kHMMaximumContentIndex].u.tagCFString = text ; + tag.tagSide = kHMDefaultSide; + HMDisplayTag( &tag ); + CFRelease( text ) ; } else -*/ #endif { wxMacPortStateHelper help( (GrafPtr) GetWindowPort( m_window ) ); #if TARGET_CARBON bool useDrawThemeText = ( DrawThemeTextBox != (void*) kUnresolvedCFragSymbolAddress ) ; #endif - m_shown = true ; FontFamilyID fontId ; Str255 fontName ; @@ -430,7 +444,9 @@ void wxMacToolTip::Clear() } if ( !m_shown ) return ; - +#if TARGET_CARBON + HMHideTag() ; +#else if ( m_window == s_ToolTipWindowRef && m_backpict ) { wxMacPortStateHelper help( (GrafPtr) GetWindowPort(m_window) ) ; @@ -443,6 +459,7 @@ void wxMacToolTip::Clear() KillPicture(m_backpict); m_backpict = NULL ; } +#endif } #endif diff --git a/src/mac/tooltip.cpp b/src/mac/tooltip.cpp index 2fbce9c667..1957c58db6 100644 --- a/src/mac/tooltip.cpp +++ b/src/mac/tooltip.cpp @@ -222,21 +222,35 @@ void wxMacToolTip::Draw() if ( m_window == s_ToolTipWindowRef ) { + m_shown = true ; #if TARGET_CARBON -/* if ( HMDisplayTag != (void*) kUnresolvedCFragSymbolAddress ) { - HMDisplayTag( + HMHelpContentRec tag ; + tag.version = kMacHelpVersion; + SetRect( &tag.absHotRect , m_position.x - 2 , m_position.y - 2 , m_position.x + 2 , m_position.y + 2 ) ; + GrafPtr port ; + GetPort( &port ) ; + SetPortWindowPort(m_window) ; + LocalToGlobal( (Point *) &tag.absHotRect.top ); + LocalToGlobal( (Point *) &tag.absHotRect.bottom ); + SetPort( port ); + CFStringRef text = wxMacCreateCFString(m_label) ; + tag.content[kHMMinimumContentIndex].contentType = kHMCFStringContent ; + tag.content[kHMMinimumContentIndex].u.tagCFString = text ; + tag.content[kHMMaximumContentIndex].contentType = kHMCFStringContent ; + tag.content[kHMMaximumContentIndex].u.tagCFString = text ; + tag.tagSide = kHMDefaultSide; + HMDisplayTag( &tag ); + CFRelease( text ) ; } else -*/ #endif { wxMacPortStateHelper help( (GrafPtr) GetWindowPort( m_window ) ); #if TARGET_CARBON bool useDrawThemeText = ( DrawThemeTextBox != (void*) kUnresolvedCFragSymbolAddress ) ; #endif - m_shown = true ; FontFamilyID fontId ; Str255 fontName ; @@ -430,7 +444,9 @@ void wxMacToolTip::Clear() } if ( !m_shown ) return ; - +#if TARGET_CARBON + HMHideTag() ; +#else if ( m_window == s_ToolTipWindowRef && m_backpict ) { wxMacPortStateHelper help( (GrafPtr) GetWindowPort(m_window) ) ; @@ -443,6 +459,7 @@ void wxMacToolTip::Clear() KillPicture(m_backpict); m_backpict = NULL ; } +#endif } #endif