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();
#if wxUSE_TOOLTIPS
void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
void ApplyToolTip( GtkTooltips *tips, const gchar *tip );
#endif // wxUSE_TOOLTIPS
struct _GtkTreeView *m_treeview;

View File

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

View File

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

View File

@@ -209,7 +209,8 @@ public:
PangoContext *GtkGetPangoDefaultContext();
#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
// Called when a window should delay showing itself

View File

@@ -886,10 +886,10 @@ int wxListBox::DoListHitTest(const wxPoint& point) const
// ----------------------------------------------------------------------------
#if wxUSE_TOOLTIPS
void wxListBox::ApplyToolTip( GtkTooltips *tips, const wxChar *tip )
void wxListBox::ApplyToolTip( GtkTooltips *tips, const gchar *tip )
{
// 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

View File

@@ -601,7 +601,7 @@ void wxRadioBox::GTKWidgetDoSetMnemonic(GtkWidget* w)
}
#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
unsigned n = 0;
@@ -611,8 +611,7 @@ void wxRadioBox::ApplyToolTip(GtkTooltips * WXUNUSED(tips), const wxChar *tip)
{
if ( !GetItemToolTip(n) )
{
wxToolTip::Apply(GTK_WIDGET(node->GetData()->button),
wxConvCurrent->cWX2MB(tip));
wxToolTip::Apply(GTK_WIDGET(node->GetData()->button), tip);
}
}
}

View File

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

View File

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