-/*
- * 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>
#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"
static GtkWidget* window;
static GtkWidget* main_area;
static GtkWidget* scrolled_area;
-static GtkMenuItem* anti_aliasing_item;
-static GtkMenuItem* transparency_item;
static gpointer context = NULL;
static gchar* doc_name = NULL;
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);
-static void options_anti_aliasing(GtkWidget*, gpointer);
-static void options_transparency(GtkWidget*, gpointer);
static void edit_delete_selection(GtkWidget*, gpointer);
static void edit_select_parent(GtkWidget*, gpointer);
static void edit_reset_selection(GtkWidget*, gpointer);
{ "/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" },
{ "/Options/Verbosity/_Info", NULL, options_verbosity, 2, "/Options/Verbosity/Errors" },
{ "/Options/Verbosity/_Debug", NULL, options_verbosity, 3, "/Options/Verbosity/Errors" },
- { "/Options/sep1", NULL, NULL, 0, "<Separator>" },
- { "/Options/_Anti Aliasing", NULL, options_anti_aliasing, 0, "<ToggleItem>" },
- { "/Options/_Transparency", NULL, options_transparency, 0, "<ToggleItem>" },
{ "/_Help" , NULL, NULL, 0, "<LastBranch>" },
{ "/Help/About...", NULL, help_about, 0, NULL }
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)
{
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
gtk_main();
}
+#if 0
void
GUI_set_font_manager(FontManagerId id)
{
if (id != gtk_math_view_get_font_manager_type(math_view))
gtk_math_view_set_font_manager_type(math_view, id);
- gtk_widget_set_sensitive(anti_aliasing_item, t1);
- gtk_widget_set_sensitive(transparency_item, t1);
-
- if (t1)
- {
- gtk_math_view_set_anti_aliasing(math_view, GTK_CHECK_MENU_ITEM(anti_aliasing_item)->active);
+ gtk_widget_set_sensitive(anti_aliasing(math_view, GTK_CHECK_MENU_ITEM(anti_aliasing_item)->active);
gtk_math_view_set_transparency(math_view, GTK_CHECK_MENU_ITEM(transparency_item)->active);
}
gtk_math_view_thaw(math_view);
}
+#endif
static void
store_filename(GtkFileSelection* selector, GtkWidget* user_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);
}
-
-static void
-options_anti_aliasing(GtkWidget* widget, gpointer data)
-{
- gboolean aa = gtk_math_view_get_anti_aliasing(GTK_MATH_VIEW(main_area));
- gtk_math_view_set_anti_aliasing(GTK_MATH_VIEW(main_area), !aa);
-}
-
-static void
-options_transparency(GtkWidget* widget, gpointer data)
-{
- gboolean t = gtk_math_view_get_transparency(GTK_MATH_VIEW(main_area));
- gtk_math_view_set_transparency(GTK_MATH_VIEW(main_area), !t);
-}
+#endif
static void
options_verbosity(GtkWidget* widget, guint level)
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;
}
gtk_box_pack_start(GTK_BOX(main_vbox), scrolled_area, TRUE, TRUE, 0);
gtk_widget_show(main_vbox);
-
- if (gtk_math_view_get_anti_aliasing(GTK_MATH_VIEW(main_area)))
- gtk_menu_item_activate(anti_aliasing_item);
}
GtkWidget*
gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
- menu_item = gtk_item_factory_get_widget(item_factory, "/Options/Anti Aliasing");
- anti_aliasing_item = GTK_MENU_ITEM(menu_item);
-
- menu_item = gtk_item_factory_get_widget(item_factory, "/Options/Transparency");
- transparency_item = GTK_MENU_ITEM(menu_item);
-
return gtk_item_factory_get_widget(item_factory, "<main>");
}