SF.net SVN: geany-plugins:[648] trunk/geanylatex/src

frlan at users.sourceforge.net frlan at xxxxx
Fri May 15 21:32:18 UTC 2009


Revision: 648
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=648&view=rev
Author:   frlan
Date:     2009-05-15 21:32:18 +0000 (Fri, 15 May 2009)

Log Message:
-----------
GeanyLaTeX: Add toolbar for format to plugin

Modified Paths:
--------------
    trunk/geanylatex/src/formatutils.c
    trunk/geanylatex/src/geanylatex.c
    trunk/geanylatex/src/geanylatex.h

Modified: trunk/geanylatex/src/formatutils.c
===================================================================
--- trunk/geanylatex/src/formatutils.c	2009-05-14 19:59:07 UTC (rev 647)
+++ trunk/geanylatex/src/formatutils.c	2009-05-15 21:32:18 UTC (rev 648)
@@ -21,6 +21,7 @@
 
 #include "formatutils.h"
 
+
 void glatex_insert_latex_format(G_GNUC_UNUSED GtkMenuItem * menuitem,
                          G_GNUC_UNUSED gpointer gdata)
 {

Modified: trunk/geanylatex/src/geanylatex.c
===================================================================
--- trunk/geanylatex/src/geanylatex.c	2009-05-14 19:59:07 UTC (rev 647)
+++ trunk/geanylatex/src/geanylatex.c	2009-05-15 21:32:18 UTC (rev 648)
@@ -56,6 +56,10 @@
 
 static GtkWidget *main_menu_item = NULL;
 
+static GtkUIManager *uim;
+static GtkActionGroup *group;
+static GtkWidget *glatex_toolbar = NULL;
+static GtkWidget *box = NULL;
 
 /* Doing some basic keybinding stuff */
 enum
@@ -76,7 +80,26 @@
 
 PLUGIN_KEY_GROUP(geanylatex, COUNT_KB)
 
+const GtkActionEntry format_icons[] =
+{
+	{ "Italic", GTK_STOCK_ITALIC, NULL, NULL, N_("Marks selected text as italic"), G_CALLBACK(glatex_kb_format_bold) },
+	{ "Bold", GTK_STOCK_BOLD, NULL, NULL, N_("Marks selected text as bold"), G_CALLBACK(glatex_kb_format_bold) },
+	{ "Underline", GTK_STOCK_UNDERLINE, NULL, NULL, N_("Underlines selected text"), G_CALLBACK(glatex_kb_format_bold) },
+};
 
+const guint ui_entries_n = G_N_ELEMENTS(format_icons);
+
+
+/* fallback UI definition */
+const gchar *toolbar_markup =
+"<ui>"
+	"<toolbar name='glatex_format_toolbar'>"
+	"<toolitem action='Italic'/>"
+	"<toolitem action='Bold'/>"
+	"<toolitem action='Underline'/>"
+	"</toolbar>"
+"</ui>";
+
 /* Functions to toggle the status of plugin */
 void glatex_set_latextoggle_status(gboolean new_status)
 {
@@ -351,7 +374,7 @@
 
 
 void glatex_character_create_menu_item(GtkWidget *menu, const gchar *label,
-									   gint letter, SubMenuCallback callback)
+									   gint letter, MenuCallback callback)
 {
 	GtkWidget *tmp;
 
@@ -411,7 +434,7 @@
 
 void glatex_sub_menu_init(GtkWidget *base_menu, SubMenuTemplate *menu_template,
 				   CategoryName *category_name,
-				   SubMenuCallback callback_function)
+				   MenuCallback callback_function)
 {
 	gint i;
 	gint j;
@@ -982,7 +1005,6 @@
 		"authors."));
 }
 
-
 void
 plugin_init(G_GNUC_UNUSED GeanyData * data)
 {
@@ -1108,6 +1130,17 @@
 
 	init_keybindings();
 
+	box = ui_lookup_widget(geany->main_widgets->window, "vbox1");
+	uim = gtk_ui_manager_new();
+	group = gtk_action_group_new("glatex_format_toolbar");
+	gtk_action_group_set_translation_domain(group, GETTEXT_PACKAGE);
+	gtk_action_group_add_actions(group, format_icons, ui_entries_n, NULL);
+	gtk_ui_manager_insert_action_group(uim, group, 0);
+	gtk_ui_manager_add_ui_from_string(uim, toolbar_markup, -1, NULL);
+	glatex_toolbar = gtk_ui_manager_get_widget(uim, "/ui/glatex_format_toolbar");
+	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(glatex_toolbar), FALSE, TRUE, 0);
+	gtk_box_reorder_child(GTK_BOX(box), glatex_toolbar, 2);
+
 	ui_add_document_sensitive(menu_latex_menu_special_char);
 	ui_add_document_sensitive(menu_latex_ref);
 	ui_add_document_sensitive(menu_latex_label);
@@ -1124,4 +1157,5 @@
 plugin_cleanup()
 {
 	gtk_widget_destroy(main_menu_item);
+	gtk_widget_destroy(glatex_toolbar);
 }

Modified: trunk/geanylatex/src/geanylatex.h
===================================================================
--- trunk/geanylatex/src/geanylatex.h	2009-05-14 19:59:07 UTC (rev 647)
+++ trunk/geanylatex/src/geanylatex.h	2009-05-15 21:32:18 UTC (rev 648)
@@ -58,8 +58,9 @@
 #endif
 
 #include <string.h>
-typedef void (*SubMenuCallback) (G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata);
+typedef void (*MenuCallback) (G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata);
 
+
 extern GeanyPlugin	*geany_plugin;
 extern GeanyData	*geany_data;
 extern GeanyFunctions	*geany_functions;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list