summaryrefslogtreecommitdiff
path: root/src/editor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-10-24 12:58:53 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-10-24 12:58:53 (GMT)
commit6ab5a66388182e6cb9a49b8d6e54a9348de4f264 (patch)
tree5dfdd4d9125423226cd44cc6e6c18502f362fbd2 /src/editor.c
parent7e53295ae7e67c8473aca2974e519aa0a593788e (diff)
Introduced new views for rendering source code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@184 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/editor.c')
-rw-r--r--src/editor.c77
1 files changed, 22 insertions, 55 deletions
diff --git a/src/editor.c b/src/editor.c
index 59401d9..a2741ab 100644
--- a/src/editor.c
+++ b/src/editor.c
@@ -47,6 +47,7 @@
#include "gtkext/gtkbinview.h"
#include "gtkext/gtkblockview.h"
#include "gtkext/gtkdockpanel.h"
+#include "gtkext/gtkviewpanel.h"
#include "debug/debugger.h"
#include "dialogs/about.h"
@@ -310,6 +311,13 @@ GtkWidget *create_editor(void)
g_object_set_data(G_OBJECT(submenuitem), "kind_of_view", GUINT_TO_POINTER(BVW_GRAPH));
gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
+ rgroup = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(submenuitem));
+
+ submenuitem = qck_create_radio_menu_item(ref, "sourceview", rgroup, _("Source code"), G_CALLBACK(mcb_view_change_support), result);
+ add_accelerator_to_menu_item(submenuitem, "F4", accgroup);
+ g_object_set_data(G_OBJECT(submenuitem), "kind_of_view", GUINT_TO_POINTER(BVW_SOURCE));
+ gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
+
submenuitem = qck_create_menu_separator();
gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
@@ -452,53 +460,6 @@ GtkWidget *create_editor(void)
gtk_paned_pack1(GTK_PANED(hpaned1), dpanel, TRUE, TRUE);
-#if 0
-
- scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_widget_show (scrolledwindow2);
- //gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow2, FALSE, TRUE);
-
-
- ditem = g_dock_item_new(_("Binary code"), scrolledwindow2);
- gtk_dock_panel_add_item(dpanel, ditem);
-
-
- view = gtk_graph_view_new();
- g_object_set_data(G_OBJECT(result), "grahview", view);
- //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), binview);
- //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview);
-
-
- view = gtk_binview_new();
- g_object_set_data(G_OBJECT(result), "binview", view);
-
- snippet = gtk_snippet_new();
- g_object_set_data(G_OBJECT(result), "snippet", snippet);
- gtk_widget_show(view);
- /*
- snippet = gtk_text_view_new ();
- */
- gtk_widget_show (snippet);
- /*gtk_container_add (GTK_CONTAINER (scrolledwindow2), snippet);*/
- //gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), snippet);
-
- gtk_container_add(GTK_CONTAINER(view), snippet);
-
-
-
-
-
- //binview = gtk_fixed_new();
- gtk_widget_show(view);
- //g_object_set_data(G_OBJECT(result), "binview", binview);
- gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow2), view);
- //gtk_container_add(GTK_CONTAINER(scrolledwindow2), binview);
-
-
-#endif
-
-
@@ -899,7 +860,7 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref)
GSList *iter; /* Boucle de parcours */
BinaryView view; /* Nouvelle vue à présenter */
GOpenidaBinary *binary; /* Edition courante */
- GtkBinView *binview; /* Afficheur effectif de code */
+ GtkViewPanel *pview; /* Afficheur effectif de code */
GtkWidget *panel; /* Nouveau support à utiliser */
GDockItem *ditem; /* Panneau avec ses infos. */
@@ -915,15 +876,15 @@ void mcb_view_change_support(GtkRadioMenuItem *menuitem, GObject *ref)
view = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(iter->data), "kind_of_view"));
binary = (GOpenidaBinary *)g_object_get_data(ref, "current_binary");
- panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view, &binview);
+ panel = get_view_for_openida_project_binary(get_current_openida_project(), binary, view, &pview);
- g_object_set_data(ref, "binview", binview);
+ g_object_set_data(ref, "current_view", pview);
ditem = gtk_dock_panel_get_item_from_binary(get_current_openida_project(), binary);
g_dock_item_set_panel(ditem, panel);
- notify_panels_of_view_change(binview, true);
+ notify_panels_of_view_change(pview, true);
}
@@ -948,6 +909,9 @@ void mcb_view_vaddress(GtkCheckMenuItem *menuitem, gpointer data)
GtkBinView *binview; /* Zone de code principale */
gboolean active; /* Etat de sélection du menu */
+ /* FIXME : "binview" -> "current_view" */
+ return;
+
binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview"));
active = gtk_check_menu_item_get_active(menuitem);
@@ -974,6 +938,9 @@ void mcb_view_code(GtkCheckMenuItem *menuitem, gpointer data)
GtkBinView *binview; /* Zone de code principale */
gboolean active; /* Etat de sélection du menu */
+ /* FIXME : "binview" -> "current_view" */
+ return;
+
binview = GTK_BIN_VIEW(g_object_get_data(G_OBJECT(data), "binview"));
active = gtk_check_menu_item_get_active(menuitem);
@@ -1479,12 +1446,12 @@ static void on_dock_item_switch(GtkDockPanel *panel, GDockItem *item, GObject *r
if (GTK_IS_VIEWPORT(widget))
widget = gtk_bin_get_child(GTK_BIN(widget));
- if (GTK_IS_BIN_VIEW(widget))
+ if (GTK_IS_VIEW_PANEL(widget))
{
/* Changement de binaire ? */
old_binary = G_OPENIDA_BINARY(g_object_get_data(ref, "current_binary"));
- binary = gtk_bin_view_get_binary(GTK_BIN_VIEW(widget));
+ binary = gtk_view_panel_get_binary(GTK_VIEW_PANEL(widget));
if (old_binary != binary)
{
@@ -1492,11 +1459,11 @@ static void on_dock_item_switch(GtkDockPanel *panel, GDockItem *item, GObject *r
notify_panels_of_binary_change(binary);
}
- g_object_set_data(ref, "binview", widget);
+ g_object_set_data(ref, "current_view", widget);
refresh_editor_menus(ref, binary, GTK_BIN_VIEW(widget));
- notify_panels_of_view_change(GTK_BIN_VIEW(widget), false);
+ notify_panels_of_view_change(GTK_VIEW_PANEL(widget), false);
}