diff options
Diffstat (limited to 'src/gtkext/gtkbufferview.c')
-rw-r--r-- | src/gtkext/gtkbufferview.c | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/gtkext/gtkbufferview.c b/src/gtkext/gtkbufferview.c index 796a001..6a2e93d 100644 --- a/src/gtkext/gtkbufferview.c +++ b/src/gtkext/gtkbufferview.c @@ -174,9 +174,14 @@ static void gtk_buffer_view_compute_real_coord(GtkBufferView *view, gint *x, gin static void gtk_buffer_view_size_request(GtkWidget *widget, GtkRequisition *requisition) { - if (GTK_BUFFER_VIEW(widget)->buffer_view != NULL) - g_buffer_view_get_size(GTK_BUFFER_VIEW(widget)->buffer_view, - &requisition->width, &requisition->height); + GtkBufferView *view; /* Autre version du composant */ + + view = GTK_BUFFER_VIEW(widget); + + if (view->buffer_view != NULL) + g_buffer_view_get_size(view->buffer_view, + &requisition->width, &requisition->height, + *view->display_addr, *view->display_code); } @@ -197,6 +202,7 @@ static void gtk_buffer_view_size_request(GtkWidget *widget, GtkRequisition *requ static void gtk_buffer_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { GtkViewPanel *panel; /* Autre version du composant */ + GtkBufferView *view; /* Encore une autre version */ gint width; /* Largeur de l'objet actuelle */ gint height; /* Hauteur de l'objet actuelle */ GtkAllocation valloc; /* Surface utilisable */ @@ -216,7 +222,10 @@ static void gtk_buffer_view_size_allocate(GtkWidget *widget, GtkAllocation *allo if (panel->hadjustment == NULL || panel->vadjustment == NULL) return; - g_buffer_view_get_size(GTK_BUFFER_VIEW(widget)->buffer_view, &width, &height); + view = GTK_BUFFER_VIEW(widget); + + g_buffer_view_get_size(view->buffer_view, &width, &height, + *view->display_addr, *view->display_code); gtk_view_panel_compute_allocation(panel, &valloc); @@ -238,7 +247,7 @@ static void gtk_buffer_view_size_allocate(GtkWidget *widget, GtkAllocation *allo /* Défilement vertical */ panel->vadjustment->page_size = valloc.height; - panel->vadjustment->step_increment = GTK_BUFFER_VIEW(widget)->line_height; + panel->vadjustment->step_increment = view->line_height; panel->vadjustment->page_increment = panel->vadjustment->step_increment * 10.0; panel->vadjustment->upper = MAX(height, valloc.height); @@ -314,7 +323,8 @@ static gboolean gtk_buffer_view_expose(GtkWidget *widget, GdkEventExpose *event) /* Impression du désassemblage */ if (view->buffer_view != NULL) - g_buffer_view_draw(view->buffer_view, event, pview->gc, fake_x, fake_y); + g_buffer_view_draw(view->buffer_view, event, pview->gc, fake_x, fake_y, + *view->display_addr, *view->display_code); gdk_window_end_paint(drawable); @@ -346,6 +356,8 @@ static void gtk_buffer_view_scroll(GtkBufferView *view) * * * Paramètres : view = composant GTK à mettre à jour. * * buffer = tampon de lignes à encadrer. * +* addr = indique si les positions doivent être affichées. * +* code = indique si le code binaire doit être affiché. * * * * Description : Prend acte de l'association d'un tampon de lignes. * * * @@ -355,7 +367,7 @@ static void gtk_buffer_view_scroll(GtkBufferView *view) * * ******************************************************************************/ -void gtk_buffer_view_attach_buffer(GtkBufferView *view, GCodeBuffer *buffer) +void gtk_buffer_view_attach_buffer(GtkBufferView *view, GCodeBuffer *buffer, bool *addr, bool *code) { gint width; /* Largeur de l'objet actuelle */ gint height; /* Hauteur de l'objet actuelle */ @@ -371,6 +383,9 @@ void gtk_buffer_view_attach_buffer(GtkBufferView *view, GCodeBuffer *buffer) view->buffer_view = g_buffer_view_new(view->buffer); + view->display_addr = addr; + view->display_code = code; + //gdk_threads_enter(); /* Taille des marges */ @@ -381,7 +396,7 @@ void gtk_buffer_view_attach_buffer(GtkBufferView *view, GCodeBuffer *buffer) /* Validation finale */ - g_buffer_view_get_size(view->buffer_view, &width, &height); + g_buffer_view_get_size(view->buffer_view, &width, &height, *addr, *code); width += -view->left_text + 1; height += 1; |