diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-07-01 22:20:38 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-07-01 22:20:38 (GMT) |
commit | b6893c7b85c34f7a3c65ac76bfd9d95b1c4ebf55 (patch) | |
tree | 5ce9e501c095e5906f6b1a349c82217d41b605f1 /src/gtkext/gtkblockview.c | |
parent | 176ad970db109523a3ac6d501b23608540d4a930 (diff) |
Made the lines to have different rendering widths depending on the views.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@88 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkblockview.c')
-rw-r--r-- | src/gtkext/gtkblockview.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/gtkext/gtkblockview.c b/src/gtkext/gtkblockview.c index cfd4ee0..f0ee0dd 100644 --- a/src/gtkext/gtkblockview.c +++ b/src/gtkext/gtkblockview.c @@ -41,6 +41,8 @@ struct _GtkBlockView { GtkBinView parent; /* A laisser en premier */ + LinesMainOwner owner; /* Support final des lignes */ + bool show_vaddress; /* Affichage des adresses ? */ bool show_code; /* Affichage du code brut ? */ @@ -114,17 +116,30 @@ static void gtk_block_view_destroy(GtkObject *object); +/* Détermine le type du composant d'affichage en block. */ G_DEFINE_TYPE(GtkBlockView, gtk_block_view, GTK_TYPE_BIN_VIEW) +/****************************************************************************** +* * +* Paramètres : owner = support effectif des lignes au final. * +* * +* Description : Crée un nouveau composant pour l'affichage en block. * +* * +* Retour : Composant GTK créé. * +* * +* Remarques : - * +* * +******************************************************************************/ - -GtkWidget * gtk_block_view_new(void) +GtkWidget * gtk_block_view_new(LinesMainOwner owner) { GtkBlockView *result; result = gtk_type_new(gtk_block_view_get_type()); + result->owner = owner; + return GTK_WIDGET(result); } @@ -387,7 +402,7 @@ gtk_block_view_paint(GtkBlockView *view) { g_rendering_line_draw(iter, GDK_DRAWABLE(widget->window), GTK_BIN_VIEW(view)->gc, MARGIN_SPACE, 2 * MARGIN_SPACE + view->line_height, - y, view->line_height); + y, view->line_height, view->owner); y += view->line_height; @@ -513,7 +528,8 @@ static void gtk_block_view_set_rendering_lines(GtkBlockView *view, GRenderingLin G_CALLBACK(gtk_block_view_update_margin), view); } - g_rendering_line_update_bin_len(GTK_BIN_VIEW(view)->lines, GTK_BIN_VIEW(view)->last); + g_rendering_line_update_bin_len(GTK_BIN_VIEW(view)->lines, + GTK_BIN_VIEW(view)->last, view->owner); gtk_block_view_recompute_size_request(view); @@ -540,7 +556,9 @@ void gtk_block_view_recompute_size_request(GtkBlockView *view) int width; /* Largeur de l'objet actuelle */ int height; /* Hauteur de l'objet actuelle */ - g_rendering_line_get_size(GTK_BIN_VIEW(view)->lines, GTK_BIN_VIEW(view)->last, + g_rendering_line_get_size(GTK_BIN_VIEW(view)->lines, + GTK_BIN_VIEW(view)->last, + view->owner, &width, &height, &view->line_height); gtk_widget_set_size_request(GTK_WIDGET(view), |