SF.net SVN: geany-plugins:[2188] trunk/geany-plugins/debugger/src
cesspit at users.sourceforge.net
cesspit at xxxxx
Thu Sep 1 13:00:17 UTC 2011
Revision: 2188
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2188&view=rev
Author: cesspit
Date: 2011-09-01 13:00:17 +0000 (Thu, 01 Sep 2011)
Log Message:
-----------
debugger: icon on a stack trace page, gui fixes, temporary disabled calltips as they seem to cause segfauts
Modified Paths:
--------------
trunk/geany-plugins/debugger/src/bptree.h
trunk/geany-plugins/debugger/src/callbacks.c
trunk/geany-plugins/debugger/src/debug.c
trunk/geany-plugins/debugger/src/stree.c
trunk/geany-plugins/debugger/src/stree.h
trunk/geany-plugins/debugger/src/tpage.c
trunk/geany-plugins/debugger/src/vtree.c
Modified: trunk/geany-plugins/debugger/src/bptree.h
===================================================================
--- trunk/geany-plugins/debugger/src/bptree.h 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/bptree.h 2011-09-01 13:00:17 UTC (rev 2188)
@@ -20,12 +20,12 @@
*/
gboolean bptree_init(move_to_line_cb callback);
-GtkWidget* bptree_get_widget();
+GtkWidget* bptree_get_widget();
void bptree_add_breakpoint(breakpoint* bp);
void bptree_update_breakpoint(breakpoint* bp);
void bptree_remove_breakpoint(breakpoint* bp);
void bptree_set_condition(GtkTreeIter iter, gchar* condition);
void bptree_set_hitscount(GtkTreeIter iter, int hitscount);
void bptree_set_enabled(GtkTreeIter iter, gboolean enabled);
-gchar* bptree_get_condition(GtkTreeIter iter);
+gchar* bptree_get_condition(GtkTreeIter iter);
void bptree_set_readonly(gboolean readonly);
Modified: trunk/geany-plugins/debugger/src/callbacks.c
===================================================================
--- trunk/geany-plugins/debugger/src/callbacks.c 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/callbacks.c 2011-09-01 13:00:17 UTC (rev 2188)
@@ -231,7 +231,7 @@
if (word->len)
{
- gchar *calltip = debug_get_calltip_for_expression(word->str);
+ gchar *calltip = NULL;//debug_get_calltip_for_expression(word->str);
if (calltip)
{
scintilla_send_message (editor->sci, SCI_CALLTIPSHOW, nt->position, (long)calltip);
Modified: trunk/geany-plugins/debugger/src/debug.c
===================================================================
--- trunk/geany-plugins/debugger/src/debug.c 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/debug.c 2011-09-01 13:00:17 UTC (rev 2188)
@@ -662,7 +662,7 @@
while (iter)
{
frame *f = (frame*)iter->data;
- stree_add(f);
+ stree_add(f, iter == stack);
iter = g_list_next(iter);
}
stree_select_first();
@@ -1000,6 +1000,8 @@
g_list_free(stack);
stack = NULL;
}
+
+ stree_destroy();
}
/*
Modified: trunk/geany-plugins/debugger/src/stree.c
===================================================================
--- trunk/geany-plugins/debugger/src/stree.c 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/stree.c 2011-09-01 13:00:17 UTC (rev 2188)
@@ -34,6 +34,8 @@
#include "breakpoint.h"
#include "debug_module.h"
+#include "xpm/frame_current.xpm"
+
#include "geanyplugin.h"
extern GeanyFunctions *geany_functions;
extern GeanyPlugin *geany_plugin;
@@ -44,9 +46,12 @@
#define MW_FILE 0
#define MW_LINE 4
+#define ARROW_PADDING 10
+
/* Tree view columns */
enum
{
+ S_ARROW,
S_ADRESS,
S_FUNCTION,
S_FILEPATH,
@@ -68,6 +73,9 @@
/* flag to indicate whether to handle selection change */
static gboolean handle_selection = TRUE;
+/* pixbuf with the frame arrow */
+GdkPixbuf *arrow_pixbuf = NULL;
+
/*
* Handles same tree row click to open frame position
*/
@@ -159,10 +167,13 @@
gboolean stree_init(move_to_line_cb cb)
{
callback = cb;
+
+ arrow_pixbuf = gdk_pixbuf_new_from_xpm_data(frame_current_xpm);
/* create tree view */
store = gtk_list_store_new (
S_N_COLUMNS,
+ GDK_TYPE_PIXBUF,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
@@ -189,6 +200,13 @@
int char_width = get_char_width(tree);
+ /* arrow */
+ renderer = gtk_cell_renderer_pixbuf_new ();
+ column = create_column("", renderer, FALSE,
+ gdk_pixbuf_get_width(arrow_pixbuf) + 2 * ARROW_PADDING,
+ "pixbuf", S_ARROW);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column);
+
/* adress */
header = _("Address");
renderer = gtk_cell_renderer_text_new ();
@@ -242,7 +260,7 @@
/*
* add frame to the tree view
*/
-void stree_add(frame *f)
+void stree_add(frame *f, gboolean first)
{
GtkTreeIter iter;
gtk_list_store_append (store, &iter);
@@ -252,6 +270,13 @@
S_FILEPATH, f->file,
S_LINE, f->line,
-1);
+
+ if (first)
+ {
+ gtk_list_store_set (store, &iter,
+ S_ARROW, arrow_pixbuf,
+ -1);
+ }
/* remember if we have source for this frame */
if (f->have_source && !GPOINTER_TO_INT(g_hash_table_lookup(frames, (gpointer)f->file)))
@@ -284,3 +309,11 @@
gtk_tree_path_free(path);
}
+
+/*
+ * called on plugin exit to free arrow pixbuffer
+ */
+void stree_destroy()
+{
+ g_object_unref(arrow_pixbuf);
+}
Modified: trunk/geany-plugins/debugger/src/stree.h
===================================================================
--- trunk/geany-plugins/debugger/src/stree.h 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/stree.h 2011-09-01 13:00:17 UTC (rev 2188)
@@ -20,8 +20,9 @@
*/
gboolean stree_init(move_to_line_cb cb);
+void stree_destroy();
GtkWidget* stree_get_widget();
-void stree_add(frame *f);
+void stree_add(frame *f, gboolean first);
void stree_clear();
void stree_select_first();
Modified: trunk/geany-plugins/debugger/src/tpage.c
===================================================================
--- trunk/geany-plugins/debugger/src/tpage.c 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/tpage.c 2011-09-01 13:00:17 UTC (rev 2188)
@@ -105,14 +105,6 @@
}
/*
- * tells config to update when target changes
- */
-void on_target_changed (GtkEditable *editable, gpointer user_data)
-{
- dconfig_set_changed();
-}
-
-/*
* delete selected rows from env variables page
*/
void delete_selected_rows()
@@ -507,6 +499,8 @@
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
gtk_entry_set_text(GTK_ENTRY(targetname), filename);
g_free (filename);
+
+ dconfig_set_changed();
}
gtk_widget_destroy (dialog);
}
@@ -603,6 +597,7 @@
/* Target frame */
GtkWidget *_frame = gtk_frame_new(_("Target"));
+ gtk_frame_set_shadow_type(GTK_FRAME(_frame), GTK_SHADOW_NONE);
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
/* filename hbox */
@@ -610,7 +605,7 @@
gtk_container_set_border_width(GTK_CONTAINER(hbox), SPACING);
targetname = gtk_entry_new ();
- g_signal_connect(G_OBJECT(targetname), "changed", G_CALLBACK (on_target_changed), NULL);
+ gtk_entry_set_editable(GTK_ENTRY(targetname), FALSE);
button_browse = gtk_button_new_with_label(_("Browse"));
g_signal_connect(G_OBJECT(button_browse), "clicked", G_CALLBACK (on_target_browse_clicked), NULL);
@@ -732,7 +727,6 @@
*/
void tpage_set_readonly(gboolean readonly)
{
- gtk_editable_set_editable (GTK_EDITABLE (targetname), !readonly);
gtk_text_view_set_editable (GTK_TEXT_VIEW (textview), !readonly);
g_object_set (renderer_name, "editable", !readonly, NULL);
gtk_widget_set_sensitive (button_browse, !readonly);
Modified: trunk/geany-plugins/debugger/src/vtree.c
===================================================================
--- trunk/geany-plugins/debugger/src/vtree.c 2011-08-31 22:24:52 UTC (rev 2187)
+++ trunk/geany-plugins/debugger/src/vtree.c 2011-09-01 13:00:17 UTC (rev 2188)
@@ -34,7 +34,7 @@
#include "utils.h"
/* columns minumum width in characters */
-#define MIN_COLUMN_CHARS 15
+#define MIN_COLUMN_CHARS 20
/*
* key pressed event
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