From 84361f7a9e03f76e7ea90f48239825dc5bca07e9 Mon Sep 17 00:00:00 2001 From: neoraider Date: Thu, 21 Jun 2007 19:52:03 +0000 Subject: zoomedit: Added level editor zoomedit. --- ui.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 ui.c (limited to 'ui.c') diff --git a/ui.c b/ui.c new file mode 100644 index 0000000..da702ba --- /dev/null +++ b/ui.c @@ -0,0 +1,96 @@ +#include "ui.h" +#include "draw.h" +#include "window.h" +#include +#include + + +static const gchar *uiData = +"" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" +""; + + + + +static GtkActionGroup *createActions() { + GtkActionGroup *actionGroup = gtk_action_group_new("actions"); + GtkAction *action; + + action = gtk_action_new("fileMenu", "_File", NULL, NULL); + gtk_action_group_add_action(actionGroup, action); + + action = gtk_action_new("toolbar1", "Toolbar", NULL, NULL); + gtk_action_group_add_action(actionGroup, action); + + action = gtk_action_new("new", "_New", NULL, GTK_STOCK_NEW); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + action = gtk_action_new("open", "_Open", NULL, GTK_STOCK_OPEN); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + action = gtk_action_new("save", "_Save", NULL, GTK_STOCK_SAVE); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + action = gtk_action_new("saveAs", "Save _As", NULL, NULL); + gtk_action_group_add_action(actionGroup, action); + + action = gtk_action_new("zoomIn", "Zoom _in", NULL, GTK_STOCK_ZOOM_IN); + g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(zoomIn), NULL); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + action = gtk_action_new("zoomOut", "Zoom _out", NULL, GTK_STOCK_ZOOM_OUT); + g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(zoomOut), NULL); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + action = gtk_action_new("quit", "_Quit", NULL, GTK_STOCK_QUIT); + g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(gtk_main_quit), NULL); + gtk_action_group_add_action_with_accel(actionGroup, action, NULL); + + return actionGroup; +} + +static GtkUIManager* getUIManager() { + static GtkUIManager *uiManager = NULL; + + if(!uiManager) { + + + uiManager = gtk_ui_manager_new(); + gtk_ui_manager_add_ui_from_string(uiManager, uiData, -1, NULL); + + gtk_ui_manager_insert_action_group(uiManager, createActions(), 0); + + gtk_ui_manager_ensure_update(uiManager); + } + + return uiManager; +} + + +GtkWidget* getMenu() { + return gtk_ui_manager_get_widget(getUIManager(), "/ui/menubar"); +} + +GtkWidget* getToolbar() { + return gtk_ui_manager_get_widget(getUIManager(), "/ui/toolbar1"); +} + +GtkAccelGroup *getAccels() { + return gtk_ui_manager_get_accel_group(getUIManager()); +} -- cgit v1.2.3