summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkblockview.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-07-01 22:20:38 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-07-01 22:20:38 (GMT)
commitb6893c7b85c34f7a3c65ac76bfd9d95b1c4ebf55 (patch)
tree5ce9e501c095e5906f6b1a349c82217d41b605f1 /src/gtkext/gtkblockview.c
parent176ad970db109523a3ac6d501b23608540d4a930 (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.c28
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),