X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fsyntax-editor-source.c;h=6ec866c93a11d7997f2de2fd66583b040e5b06b3;hb=afdf3096926b561f4e6511c10fcf73fc6796b9d2;hp=c6d8668c1facbe1596a89ed60bba5c9387288e3c;hpb=8f157150f5fe225224e407161fb7f899d34b8b18;p=pspp-builds.git diff --git a/src/ui/gui/syntax-editor-source.c b/src/ui/gui/syntax-editor-source.c index c6d8668c..6ec866c9 100644 --- a/src/ui/gui/syntax-editor-source.c +++ b/src/ui/gui/syntax-editor-source.c @@ -1,26 +1,25 @@ -/* - PSPPIRE --- A Graphical User Interface for PSPP - Copyright (C) 2006 Free Software Foundation +/* PSPPIRE - a graphical user interface for PSPP. + Copyright (C) 2006, 2009 Free Software Foundation - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ +#include + #include -#include #include +#include #include #include @@ -28,14 +27,17 @@ #include #include "syntax-editor-source.h" -#include "syntax-editor.h" +#include "psppire-syntax-window.h" + +#include "xalloc.h" struct syntax_editor_source { struct getl_interface parent; - const struct syntax_editor *se; + GtkTextBuffer *buffer; GtkTextIter i; GtkTextIter end; + const gchar *name; }; @@ -49,10 +51,8 @@ always_false (const struct getl_interface *i UNUSED) static const char * name (const struct getl_interface *i) { - const struct syntax_editor_source *ses = - (const struct syntax_editor_source *) i; - - return window_name ((const struct editor_window *) ses->se); + const struct syntax_editor_source *ses = (const struct syntax_editor_source *) i; + return ses->name; } @@ -68,13 +68,13 @@ location (const struct getl_interface *i) static bool read_line_from_buffer (struct getl_interface *i, - struct string *line, - enum getl_syntax *syntax_rules) + struct string *line) { gchar *text; GtkTextIter next_line; - struct syntax_editor_source *ses = (struct syntax_editor_source *) i; + struct syntax_editor_source *ses + = UP_CAST (i, struct syntax_editor_source, parent); if ( gtk_text_iter_compare (&ses->i, &ses->end) >= 0) return false; @@ -82,7 +82,7 @@ read_line_from_buffer (struct getl_interface *i, next_line = ses->i; gtk_text_iter_forward_line (&next_line); - text = gtk_text_buffer_get_text (ses->se->buffer, + text = gtk_text_buffer_get_text (ses->buffer, &ses->i, &next_line, FALSE); g_strchomp (text); @@ -98,31 +98,33 @@ read_line_from_buffer (struct getl_interface *i, static void -close (struct getl_interface *i ) +do_close (struct getl_interface *i ) { free (i); } struct getl_interface * -create_syntax_editor_source (const struct syntax_editor *se, +create_syntax_editor_source (GtkTextBuffer *buffer, GtkTextIter start, - GtkTextIter stop + GtkTextIter stop, + const gchar *nm ) { struct syntax_editor_source *ses = xzalloc (sizeof *ses); - ses->se = se; + ses->buffer = buffer; ses->i = start; ses->end = stop; + ses->name = nm; ses->parent.interactive = always_false; ses->parent.read = read_line_from_buffer; - ses->parent.close = close; + ses->parent.close = do_close; ses->parent.name = name; ses->parent.location = location; - return (struct getl_interface *) ses; + return &ses->parent; }