#include <sys/stat.h>
#include <ctype.h>
+#include <gtk/gtk.h>
#include "wx/gtk/private.h"
+#include "wx/gtk/private/gtk2-compat.h"
// ----------------------------------------------------------------------------
// helpers
GtkJustification align;
switch (attr.GetAlignment())
{
- default:
- align = GTK_JUSTIFY_LEFT;
- break;
case wxTEXT_ALIGNMENT_RIGHT:
align = GTK_JUSTIFY_RIGHT;
break;
case wxTEXT_ALIGNMENT_CENTER:
align = GTK_JUSTIFY_CENTER;
break;
+ case wxTEXT_ALIGNMENT_JUSTIFIED:
+#ifdef __WXGTK3__
+ align = GTK_JUSTIFY_FILL;
+ break;
+#elif GTK_CHECK_VERSION(2,11,0)
// gtk+ doesn't support justify before gtk+-2.11.0 with pango-1.17 being available
// (but if new enough pango isn't available it's a mere gtk warning)
-#if GTK_CHECK_VERSION(2,11,0)
- case wxTEXT_ALIGNMENT_JUSTIFIED:
if (!gtk_check_version(2,11,0))
+ {
align = GTK_JUSTIFY_FILL;
- else
- align = GTK_JUSTIFY_LEFT;
- break;
+ break;
+ }
+ // fallthrough
#endif
+ default:
+ align = GTK_JUSTIFY_LEFT;
+ break;
}
g_snprintf(buf, sizeof(buf), "WXALIGNMENT %d", align);
GtkTextIter start, end;
// We create our wxUrl tag here for slight efficiency gain - we
- // don't have to check for the tag existance in callbacks,
+ // don't have to check for the tag existence in callbacks,
// hereby it's guaranteed to exist.
gtk_text_buffer_create_tag(m_buffer, "wxUrl",
"foreground", "blue",
if ( IsMultiLine() )
{
- return gtk_text_view_get_editable(GTK_TEXT_VIEW(m_text));
+ return gtk_text_view_get_editable(GTK_TEXT_VIEW(m_text)) != 0;
}
else
{
}
else
{
+#ifdef __WXGTK3__
+ // no access to internal GdkWindows
+ return NULL;
+#else
return gtk_entry_get_text_window(GTK_ENTRY(m_text));
+#endif
}
}
void wxTextCtrl::DoApplyWidgetStyle(GtkRcStyle *style)
{
- gtk_widget_modify_style(m_text, style);
+ GTKApplyStyle(m_text, style);
}
void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event))
gtk_text_iter_forward_to_tag_toggle(&end, tag);
// Native context menu is probably not desired on an URL.
- // Consider making this dependant on ProcessEvent(wxTextUrlEvent) return value
+ // Consider making this dependent on ProcessEvent(wxTextUrlEvent) return value
if(event.GetEventType() == wxEVT_RIGHT_DOWN)
event.Skip(false);