static void on_program_moved (DmaDisassemble *self, guint pid, guint tid, gulong address, const gchar* file, guint line) { dma_sparse_view_delete_all_markers (self->view, IANJUTA_MARKABLE_PROGRAM_COUNTER); if (address != 0) { dma_sparse_view_mark (self->view, address, IANJUTA_MARKABLE_PROGRAM_COUNTER); dma_sparse_view_goto (self->view, address); } }
static gboolean dma_sparse_view_goto_key_press_event (GtkWidget *widget, GdkEventKey *event, DmaSparseView *view) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); g_return_val_if_fail (DMA_IS_SPARSE_VIEW (view), FALSE); /* Close window */ if (event->keyval == GDK_Escape || event->keyval == GDK_Tab || event->keyval == GDK_KP_Tab || event->keyval == GDK_ISO_Left_Tab) { dma_sparse_view_goto_window_hide (view); return TRUE; } /* Goto to address and close window */ if (event->keyval == GDK_Return || event->keyval == GDK_ISO_Enter || event->keyval == GDK_KP_Enter) { gulong adr; const gchar *text; gchar *end; text = gtk_entry_get_text (GTK_ENTRY (view->priv->goto_entry)); adr = strtoul (text, &end, 0); if ((*text != '\0') && (*end == '\0')) { /* Valid input goto to address */ dma_sparse_view_goto (view, adr); } dma_sparse_view_goto_window_hide (view); return TRUE; } return FALSE; }
static void on_location_changed (DmaDisassemble *self, gulong address, GFile* file, guint line) { dma_sparse_view_goto (self->view, address); }