From 3083d35230ebac09d4a13a5a68a6e7e04dc7a55a Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 7 Aug 2010 15:01:17 +0200 Subject: [PATCH] Use GtkSourceView and implement simple syntax highlighting --- configure.ac | 2 + src/ui/gui/automake.mk | 9 ++- src/ui/gui/pspp.lang | 90 ++++++++++++++++++++++++++++++ src/ui/gui/psppire-syntax-window.c | 45 ++++++++++++++- src/ui/gui/psppire-syntax-window.h | 7 ++- src/ui/gui/syntax-editor.ui | 2 +- 6 files changed, 148 insertions(+), 7 deletions(-) create mode 100644 src/ui/gui/pspp.lang diff --git a/configure.ac b/configure.ac index e30f93c0..14e3f904 100644 --- a/configure.ac +++ b/configure.ac @@ -76,6 +76,8 @@ if test "$with_cairo" != no && test "$with_gui" != "no"; then PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.16], [], [PSPP_REQUIRED_PREREQ([gtk+ 2.0 version 2.16 or later (or use --without-gui)])]) + PKG_CHECK_MODULES([GTKSOURCEVIEW], [gtksourceview-2.0 >= 2.2]) + AC_ARG_VAR([GLIB_GENMARSHAL]) AC_CHECK_PROGS([GLIB_GENMARSHAL], [glib-genmarshal]) if test "x$GLIB_GENMARSHAL" = x; then diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index 5731ae53..f78a7205 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -41,7 +41,7 @@ EXTRA_DIST += \ if HAVE_GUI bin_PROGRAMS += src/ui/gui/psppire -src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) -Wall -DGDK_MULTIHEAD_SAFE=1 +src_ui_gui_psppire_CFLAGS = $(GTK_CFLAGS) $(GTKSOURCEVIEW_CFLAGS) -Wall -DGDK_MULTIHEAD_SAFE=1 src_ui_gui_psppire_LDFLAGS = \ @@ -63,6 +63,7 @@ src_ui_gui_psppire_LDADD = \ src/libpspp.la \ src/libpspp-core.la \ $(GTK_LIBS) \ + $(GTKSOURCEVIEW_LIBS) \ $(CAIRO_LIBS) \ $(LIBINTL) @@ -73,6 +74,9 @@ themedir = $(DESTDIR)$(datadir)/icons/hicolor context = apps +install-lang: + $(INSTALL) $(top_srcdir)/src/ui/gui/pspp.lang $(pkgdatadir) + install-icons: for size in 16x16 ; do \ $(MKDIR_P) $(themedir)/$$size/$(context) ; \ @@ -80,7 +84,7 @@ install-icons: done gtk-update-icon-cache --ignore-theme-index $(themedir) -INSTALL_DATA_HOOKS += install-icons +INSTALL_DATA_HOOKS += install-icons install-lang uninstall-icons: for size in 16x16 ; do \ @@ -92,6 +96,7 @@ UNINSTALL_DATA_HOOKS += uninstall-icons dist_src_ui_gui_psppire_DATA = \ $(UI_FILES) \ + $(top_srcdir)/src/ui/gui/pspp.lang \ $(top_srcdir)/src/ui/gui/pspplogo.png \ $(top_srcdir)/src/ui/gui/icons/value-labels.png \ $(top_srcdir)/src/ui/gui/icons/goto-variable.png\ diff --git a/src/ui/gui/pspp.lang b/src/ui/gui/pspp.lang new file mode 100644 index 00000000..199586eb --- /dev/null +++ b/src/ui/gui/pspp.lang @@ -0,0 +1,90 @@ + + + + + + + +