gtk_entry_set_editable( GTK_ENTRY(m_text), FALSE );
#ifdef __WXGTK20__
else
+ gtk_text_view_set_editable( GTK_TEXT_VIEW( m_text), FALSE);
+#else
+ }
+ else
+ {
+ if (multi_line)
+ gtk_text_set_editable( GTK_TEXT(m_text), 1 );
+#endif
+ }
+
#ifdef __WXGTK20__
if (multi_line)
{
}
#endif // gtk+-2.3.5
#endif // __WXGTK20__
- gtk_text_view_set_editable( GTK_TEXT_VIEW( m_text), FALSE);
-#else
- }
- else
- {
- if (multi_line)
- gtk_text_set_editable( GTK_TEXT(m_text), 1 );
-#endif
- }
-
// We want to be notified about text changes.
#ifdef __WXGTK20__
{
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );
-#ifndef __WXGTK20__
- gtk_editable_cut_clipboard( GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG );
+#ifdef __WXGTK20__
+ if (m_windowStyle & wxTE_MULTILINE)
+ g_signal_emit_by_name(m_text, "cut-clipboard");
+ else
#endif
+ gtk_editable_cut_clipboard(GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG);
}
void wxTextCtrl::Copy()
{
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );
-#ifndef __WXGTK20__
- gtk_editable_copy_clipboard( GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG );
+#ifdef __WXGTK20__
+ if (m_windowStyle & wxTE_MULTILINE)
+ g_signal_emit_by_name(m_text, "copy-clipboard");
+ else
#endif
+ gtk_editable_copy_clipboard(GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG);
}
void wxTextCtrl::Paste()
{
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );
-#ifndef __WXGTK20__
- gtk_editable_paste_clipboard( GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG );
+#ifdef __WXGTK20__
+ if (m_windowStyle & wxTE_MULTILINE)
+ g_signal_emit_by_name(m_text, "paste-clipboard");
+ else
#endif
+ gtk_editable_paste_clipboard(GTK_EDITABLE(m_text) DUMMY_CLIPBOARD_ARG);
}
// Undo/redo
if (!m_widget->window)
return FALSE;
- wxColour sysbg = wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE );
- if (sysbg.Red() == colour.Red() &&
- sysbg.Green() == colour.Green() &&
- sysbg.Blue() == colour.Blue())
- {
- return FALSE; // FIXME or TRUE?
- }
-
if (!m_backgroundColour.Ok())
return FALSE;
}
}
-void wxTextCtrl::ApplyWidgetStyle()
+void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style)
{
- SetWidgetStyle();
- gtk_widget_set_style( m_text, m_widgetStyle );
+ gtk_widget_modify_style(m_text, style);
}
void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event))
{
// FIXME should be different for multi-line controls...
wxSize ret( wxControl::DoGetBestSize() );
- return wxSize(80, ret.y);
+ wxSize best(80, ret.y);
+ CacheBestSize(best);
+ return best;
}
// ----------------------------------------------------------------------------