summaryrefslogtreecommitdiff
path: root/src/gtkext/gtkblockview.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-10-24 12:58:53 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-10-24 12:58:53 (GMT)
commit6ab5a66388182e6cb9a49b8d6e54a9348de4f264 (patch)
tree5dfdd4d9125423226cd44cc6e6c18502f362fbd2 /src/gtkext/gtkblockview.c
parent7e53295ae7e67c8473aca2974e519aa0a593788e (diff)
Introduced new views for rendering source code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@184 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkblockview.c')
-rw-r--r--src/gtkext/gtkblockview.c80
1 files changed, 41 insertions, 39 deletions
diff --git a/src/gtkext/gtkblockview.c b/src/gtkext/gtkblockview.c
index a19c17a..66177b8 100644
--- a/src/gtkext/gtkblockview.c
+++ b/src/gtkext/gtkblockview.c
@@ -501,18 +501,20 @@ static void gtk_block_view_class_init(GtkBlockViewClass *klass)
static void gtk_block_view_init(GtkBlockView *view)
{
- GtkBinView *binview; /* Instance parente */
+ GtkViewPanel *viewpanel; /* Instance parente #1 */
+ GtkBinView *binview; /* Instance parente #2 */
+
+ viewpanel = GTK_VIEW_PANEL(view);
+
+ viewpanel->scroll = (scroll_fc)gtk_block_view_scroll;
binview = GTK_BIN_VIEW(view);
- binview->scroll = (scroll_fc)gtk_block_view_scroll;
binview->set_lines = (set_rendering_lines_fc)gtk_block_view_set_rendering_lines;
binview->get_coordinates = (get_addr_coordinates_fc)gtk_block_view_get_address_coordinates;
-
view->_buffer = g_code_buffer_new();
-
}
@@ -578,7 +580,7 @@ static void gtk_block_view_size_request(GtkWidget *widget, GtkRequisition *requi
static void gtk_block_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
- GtkBinView *view; /* Autre version du composant */
+ GtkViewPanel *panel; /* Autre version du composant */
gint width; /* Largeur de l'objet actuelle */
gint height; /* Hauteur de l'objet actuelle */
GtkAllocation valloc; /* Surface utilisable */
@@ -593,44 +595,44 @@ static void gtk_block_view_size_allocate(GtkWidget *widget, GtkAllocation *alloc
allocation->x, allocation->y,
allocation->width, allocation->height);
- view = GTK_BIN_VIEW(widget);
+ panel = GTK_VIEW_PANEL(widget);
- if (view->hadjustment == NULL || view->vadjustment == NULL)
+ if (panel->hadjustment == NULL || panel->vadjustment == NULL)
return;
- g_buffer_view_get_size(GTK_BLOCK_VIEW(view)->buffer_view, &width, &height);
+ g_buffer_view_get_size(GTK_BLOCK_VIEW(widget)->buffer_view, &width, &height);
- gtk_bin_view_compute_allocation(view, &valloc);
+ gtk_view_panel_compute_allocation(panel, &valloc);
/* Défilement horizontal */
- view->hadjustment->page_size = valloc.width;
- view->hadjustment->step_increment = valloc.width * 0.1;
- view->hadjustment->page_increment = valloc.width * 0.9;
+ panel->hadjustment->page_size = valloc.width;
+ panel->hadjustment->step_increment = valloc.width * 0.1;
+ panel->hadjustment->page_increment = valloc.width * 0.9;
- view->hadjustment->upper = MAX(width, valloc.width);
+ panel->hadjustment->upper = MAX(width, valloc.width);
- gtk_bin_view_reclamp_adjustment(view->hadjustment, &changed);
+ gtk_view_panel_reclamp_adjustment(panel->hadjustment, &changed);
- gtk_adjustment_changed(view->hadjustment);
+ gtk_adjustment_changed(panel->hadjustment);
if (changed)
- gtk_adjustment_value_changed(view->hadjustment);
+ gtk_adjustment_value_changed(panel->hadjustment);
/* Défilement vertical */
- view->vadjustment->page_size = valloc.height;
- view->vadjustment->step_increment = GTK_BLOCK_VIEW(view)->line_height;
- view->vadjustment->page_increment = view->vadjustment->step_increment * 10.0;
+ panel->vadjustment->page_size = valloc.height;
+ panel->vadjustment->step_increment = GTK_BLOCK_VIEW(widget)->line_height;
+ panel->vadjustment->page_increment = panel->vadjustment->step_increment * 10.0;
- view->vadjustment->upper = MAX(height, valloc.height);
+ panel->vadjustment->upper = MAX(height, valloc.height);
- gtk_bin_view_reclamp_adjustment(view->vadjustment, &changed);
+ gtk_view_panel_reclamp_adjustment(panel->vadjustment, &changed);
- gtk_adjustment_changed(view->vadjustment);
+ gtk_adjustment_changed(panel->vadjustment);
if (changed)
- gtk_adjustment_value_changed(view->vadjustment);
+ gtk_adjustment_value_changed(panel->vadjustment);
}
@@ -723,11 +725,11 @@ void gtk_block_view_update_margin(GRenderingLine *line, GtkBlockView *view)
static void gtk_block_view_compute_fake_coord(GtkBlockView *view, gint *x, gint *y)
{
- if (GTK_BIN_VIEW(view)->hadjustment != NULL)
- *x -= gtk_adjustment_get_value(GTK_BIN_VIEW(view)->hadjustment);
+ if (GTK_VIEW_PANEL(view)->hadjustment != NULL)
+ *x -= gtk_adjustment_get_value(GTK_VIEW_PANEL(view)->hadjustment);
- if (GTK_BIN_VIEW(view)->vadjustment != NULL)
- *y += gtk_adjustment_get_value(GTK_BIN_VIEW(view)->vadjustment);
+ if (GTK_VIEW_PANEL(view)->vadjustment != NULL)
+ *y += gtk_adjustment_get_value(GTK_VIEW_PANEL(view)->vadjustment);
}
@@ -747,11 +749,11 @@ static void gtk_block_view_compute_fake_coord(GtkBlockView *view, gint *x, gint
static void gtk_block_view_compute_real_coord(GtkBlockView *view, gint *x, gint *y)
{
- if (x != NULL && GTK_BIN_VIEW(view)->hadjustment != NULL)
- *x += gtk_adjustment_get_value(GTK_BIN_VIEW(view)->hadjustment);
+ if (x != NULL && GTK_VIEW_PANEL(view)->hadjustment != NULL)
+ *x += gtk_adjustment_get_value(GTK_VIEW_PANEL(view)->hadjustment);
- if (y != NULL && GTK_BIN_VIEW(view)->vadjustment != NULL)
- *y += gtk_adjustment_get_value(GTK_BIN_VIEW(view)->vadjustment);
+ if (y != NULL && GTK_VIEW_PANEL(view)->vadjustment != NULL)
+ *y += gtk_adjustment_get_value(GTK_VIEW_PANEL(view)->vadjustment);
}
@@ -840,7 +842,7 @@ static void gtk_block_view_draw_line_extra(GBufferLine *line, GdkDrawable *drawa
static gboolean gtk_block_view_expose(GtkWidget *widget, GdkEventExpose *event)
{
GtkBlockView *view; /* Autre version du composant */
- GtkBinView *bview; /* Autre version du composant */
+ GtkViewPanel *pview; /* Autre version du composant */
GtkStyle *style; /* Style associé au composant */
GdkDrawable *drawable; /* Surface de dessin */
gint fake_x; /* Abscisse virtuelle */
@@ -849,13 +851,13 @@ static gboolean gtk_block_view_expose(GtkWidget *widget, GdkEventExpose *event)
view = GTK_BLOCK_VIEW(widget);
widget = GTK_WIDGET(view);
- bview = GTK_BIN_VIEW(widget);
+ pview = GTK_VIEW_PANEL(widget);
drawable = GDK_DRAWABLE(event->window);
gdk_window_begin_paint_region(drawable, event->region);
- gdk_gc_set_clip_region(bview->gc, event->region);
+ gdk_gc_set_clip_region(pview->gc, event->region);
style = gtk_widget_get_style(GTK_WIDGET(view));
@@ -865,14 +867,14 @@ static gboolean gtk_block_view_expose(GtkWidget *widget, GdkEventExpose *event)
/* Dessin de la marge gauche */
- gdk_gc_set_foreground(bview->gc, &style->mid[GTK_WIDGET_STATE(widget)]);
+ gdk_gc_set_foreground(pview->gc, &style->mid[GTK_WIDGET_STATE(widget)]);
- gdk_draw_rectangle(drawable, bview->gc, TRUE,
+ gdk_draw_rectangle(drawable, pview->gc, TRUE,
fake_x, event->area.y, view->left_margin, event->area.y + event->area.height);
- gdk_gc_set_foreground(bview->gc, &style->dark[GTK_WIDGET_STATE(widget)]);
+ gdk_gc_set_foreground(pview->gc, &style->dark[GTK_WIDGET_STATE(widget)]);
- gdk_draw_line(drawable, bview->gc,
+ gdk_draw_line(drawable, pview->gc,
fake_x + view->left_margin, event->area.y,
fake_x + view->left_margin, event->area.y + event->area.height);
@@ -884,7 +886,7 @@ static gboolean gtk_block_view_expose(GtkWidget *widget, GdkEventExpose *event)
/* Impression du désassemblage */
- g_buffer_view_draw(view->buffer_view, event, bview->gc, fake_x, fake_y);
+ g_buffer_view_draw(view->buffer_view, event, pview->gc, fake_x, fake_y);
gdk_window_end_paint(drawable);