summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkbufferview.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2012-01-14 16:06:42 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2012-01-14 16:06:42 (GMT)
commit2ad11520c0bfefd68a89689497752983792a96ba (patch)
tree9271a1bd90bd58f49b8a68c41b348639f67fb559 /src/gtkext/gtkbufferview.c
parentd90aa93fc202fdf1ba4e4e7e799ce8d7e4632b7f (diff)
Updated calls to take the binary rendering options into account.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@225 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkbufferview.c')
-rw-r--r--src/gtkext/gtkbufferview.c31
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;