]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/test/guiGTK.c
- removed some unneeded dependencies from debian/control
[helm.git] / helm / DEVEL / mathml_editor / test / guiGTK.c
index 306ec67facf52439422a7797db4c85984c9153bb..cf59421cffecbdc2f92b6db7d99218e32798490d 100644 (file)
@@ -1,25 +1,26 @@
-/*
- * Copyright (C) 2000, Luca Padovani <luca.padovani@cs.unibo.it>.
+/* This file is part of EdiTeX, an editor of mathematical
+ * expressions based on TeX syntax.
  * 
- * This file is part of GtkMathView, a Gtk widget for MathML.
- * 
- * GtkMathView 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.
- * 
- * GtkMathView is distributed in the hope that it will be useful,
+ * Copyright (C) 2002-2003 Luca Padovani <lpadovan@cs.unibo.it>,
+ *                    2003 Paolo Marinelli <pmarinel@cs.unibo.it>.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 GtkMathView; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- * 
- * For details, see the GtkMathView World-Wide-Web page,
- * http://cs.unibo.it/~lpadovan/mml-widget, or send a mail to
- * <luca.padovani@cs.unibo.it>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * For more information, please visit the project's home page
+ * http://helm.cs.unibo.it/editex/
+ * or send an email to <lpadovan@cs.unibo.it>
  */
 
 #include <config.h>
@@ -27,7 +28,7 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
-#include <gtkmathview/gtkmathview.h>
+#include <gtkmathview.h>
 #include "guiGTK.h"
 
 #define XLINK_NS_URI "http://www.w3.org/1999/xlink"
@@ -49,7 +50,6 @@ static void file_open(GtkWidget*, gpointer);
 static void file_re_open(GtkWidget*, gpointer);
 static void file_close(GtkWidget*, gpointer);
 static void file_output_tex(GtkWidget*, gpointer);
-static void options_font_manager(GtkWidget*, FontManagerId);
 static void options_set_font_size(GtkWidget*, gpointer);
 static void options_change_font_size(GtkWidget*, gboolean);
 static void options_verbosity(GtkWidget*, guint);
@@ -85,9 +85,6 @@ static GtkItemFactoryEntry menu_items[] = {
   { "/Options/Default Font Size/sep1", NULL, NULL,                  0,  "<Separator>" },
   { "/Options/Default Font Size/Larger", NULL, options_change_font_size, TRUE, NULL },
   { "/Options/Default Font Size/Smaller", NULL, options_change_font_size, FALSE, NULL },
-  { "/Options/Font Manager",           NULL, NULL,                  0,  "<Branch>" },
-  { "/Options/Font Manager/_GTK",      NULL, options_font_manager,  FONT_MANAGER_GTK, "<RadioItem>" },
-  { "/Options/Font Manager/_Type 1",   NULL, options_font_manager,  FONT_MANAGER_T1, "/Options/Font Manager/GTK" },
   { "/Options/Verbosity",              NULL, NULL,                  0,  "<Branch>" },
   { "/Options/Verbosity/_Errors",      NULL, options_verbosity,     0,  "<RadioItem>" },
   { "/Options/Verbosity/_Warnings",    NULL, options_verbosity,     1,  "/Options/Verbosity/Errors" },
@@ -137,6 +134,9 @@ load_error_msg(const char* name)
   g_free(msg);
 }
 
+static guint edit_timeout_id;
+extern void edit_timeout(gpointer);
+
 void
 GUI_init(int* argc, char*** argv, char* title, guint width, guint height, gpointer c)
 {
@@ -151,7 +151,7 @@ GUI_init(int* argc, char*** argv, char* title, guint width, guint height, gpoint
   gtk_widget_show(window);
 
   context = c;
-  /*edit_timeout_id = gtk_timeout_add(400, edit_timeout, context);*/
+  /*edit_timeout_id = gtk_timeout_add(50, edit_timeout, context);*/
 }
 
 void
@@ -226,6 +226,7 @@ GUI_run()
   gtk_main();
 }
 
+#if 0
 void
 GUI_set_font_manager(FontManagerId id)
 {
@@ -256,6 +257,7 @@ GUI_set_font_manager(FontManagerId id)
 
   gtk_math_view_thaw(math_view);
 }
+#endif
 
 static void
 store_filename(GtkFileSelection* selector, GtkWidget* user_data)
@@ -309,12 +311,14 @@ file_output_tex(GtkWidget* widget, gpointer data)
   edit_output_tex(context);
 }
 
+#if 0
 static void
 options_font_manager(GtkWidget* widget, FontManagerId id)
 {
   g_return_if_fail(id != FONT_MANAGER_UNKNOWN);
   GUI_set_font_manager(id);
 }
+#endif
 
 static void
 options_anti_aliasing(GtkWidget* widget, gpointer data)
@@ -592,10 +596,13 @@ key_press_event(gpointer c,
   switch (event->keyval)
     {
     case GDK_BackSpace:
-      edit_drop(context, event->state & GDK_MOD1_MASK);
+      edit_drop(context, event->state & GDK_MOD1_MASK, event->state & GDK_CONTROL_MASK);
+      break;
+    case GDK_Tab:
+      edit_complete(context);
       break;
     default:
-      if ((event->state & (~GDK_SHIFT_MASK)) == 0 && event->keyval < 0x80)
+      if ((event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)) == 0 && event->keyval < 0x80)
        edit_push_char(context, event->keyval);
       return FALSE;
     }