changed wxWindow::ApplyToolTip to take UTF8-encoded char* instead of wxChar* to avoid unnecessary conversions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-05-30 13:50:36 +00:00
parent 13e24d7987
commit 6e5f6c7c60
8 changed files with 14 additions and 22 deletions

View File

@@ -85,7 +85,7 @@ public:
GtkWidget *GetConnectWidget(); GtkWidget *GetConnectWidget();
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
void ApplyToolTip( GtkTooltips *tips, const wxChar *tip ); void ApplyToolTip( GtkTooltips *tips, const gchar *tip );
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
struct _GtkTreeView *m_treeview; struct _GtkTreeView *m_treeview;

View File

@@ -132,7 +132,7 @@ public:
void GtkDisableEvents(); void GtkDisableEvents();
void GtkEnableEvents(); void GtkEnableEvents();
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
void ApplyToolTip( GtkTooltips *tips, const wxChar *tip ); void ApplyToolTip( GtkTooltips *tips, const gchar *tip );
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
virtual void OnInternalIdle(); virtual void OnInternalIdle();

View File

@@ -50,7 +50,7 @@ public:
// this just sets the given tooltip for the specified widget // this just sets the given tooltip for the specified widget
// //
// tip must be already UTF-8 encoded // tip must be already UTF-8 encoded
static void Apply(GtkWidget *w, const wxCharBuffer& tip); static void Apply(GtkWidget *w, const gchar *tip);
private: private:
wxString m_text; wxString m_text;

View File

@@ -209,7 +209,8 @@ public:
PangoContext *GtkGetPangoDefaultContext(); PangoContext *GtkGetPangoDefaultContext();
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip ); // applies tooltip to the widget (tip must be UTF-8 encoded)
virtual void ApplyToolTip( GtkTooltips *tips, const gchar *tip );
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
// Called when a window should delay showing itself // Called when a window should delay showing itself

View File

@@ -886,10 +886,10 @@ int wxListBox::DoListHitTest(const wxPoint& point) const
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
void wxListBox::ApplyToolTip( GtkTooltips *tips, const wxChar *tip ) void wxListBox::ApplyToolTip( GtkTooltips *tips, const gchar *tip )
{ {
// RN: Is this needed anymore? // RN: Is this needed anymore?
gtk_tooltips_set_tip( tips, GTK_WIDGET( m_treeview ), wxGTK_CONV(tip), (gchar*) NULL ); gtk_tooltips_set_tip( tips, GTK_WIDGET( m_treeview ), tip, (gchar*) NULL );
} }
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS

View File

@@ -601,7 +601,7 @@ void wxRadioBox::GTKWidgetDoSetMnemonic(GtkWidget* w)
} }
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const wxChar *tip) void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const gchar *tip)
{ {
// set this tooltip for all radiobuttons which don't have their own tips // set this tooltip for all radiobuttons which don't have their own tips
unsigned n = 0; unsigned n = 0;
@@ -611,8 +611,7 @@ void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const wxChar *tip)
{ {
if ( !GetItemToolTip(n) ) if ( !GetItemToolTip(n) )
{ {
wxToolTip::Apply(GTK_WIDGET(node->GetData()->button), wxToolTip::Apply(GTK_WIDGET(node->GetData()->button), tip);
wxConvCurrent->cWX2MB(tip));
} }
} }
} }

View File

@@ -55,13 +55,13 @@ void wxToolTip::Apply( wxWindow *win )
m_window = win; m_window = win;
if (m_text.empty()) if (m_text.empty())
m_window->ApplyToolTip( gs_tooltips, (wxChar*) NULL ); m_window->ApplyToolTip( gs_tooltips, NULL );
else else
m_window->ApplyToolTip( gs_tooltips, m_text ); m_window->ApplyToolTip( gs_tooltips, wxGTK_CONV_SYS(m_text) );
} }
/* static */ /* static */
void wxToolTip::Apply(GtkWidget *w, const wxCharBuffer& tip) void wxToolTip::Apply(GtkWidget *w, const gchar *tip)
{ {
if ( !gs_tooltips ) if ( !gs_tooltips )
gs_tooltips = gtk_tooltips_new(); gs_tooltips = gtk_tooltips_new();

View File

@@ -3812,17 +3812,9 @@ void wxWindowGTK::DoSetToolTip( wxToolTip *tip )
m_tooltip->Apply( (wxWindow *)this ); m_tooltip->Apply( (wxWindow *)this );
} }
void wxWindowGTK::ApplyToolTip( GtkTooltips *tips, const wxChar *tip ) void wxWindowGTK::ApplyToolTip( GtkTooltips *tips, const gchar *tip )
{ {
if (tip) gtk_tooltips_set_tip(tips, GetConnectWidget(), tip, NULL);
{
wxString tmp( tip );
gtk_tooltips_set_tip( tips, GetConnectWidget(), wxGTK_CONV(tmp), (gchar*) NULL );
}
else
{
gtk_tooltips_set_tip( tips, GetConnectWidget(), NULL, NULL);
}
} }
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS