summaryrefslogtreecommitdiff
path: root/liblogdiag
diff options
context:
space:
mode:
Diffstat (limited to 'liblogdiag')
-rw-r--r--liblogdiag/ld-diagram-view.c86
1 files changed, 42 insertions, 44 deletions
diff --git a/liblogdiag/ld-diagram-view.c b/liblogdiag/ld-diagram-view.c
index 012c586..1564c6b 100644
--- a/liblogdiag/ld-diagram-view.c
+++ b/liblogdiag/ld-diagram-view.c
@@ -611,10 +611,10 @@ ld_diagram_view_real_set_scroll_adjustments (LdDiagramView *self,
GtkAdjustment *horizontal, GtkAdjustment *vertical)
{
/* TODO: Infinite area. */
- GtkWidget *widget;
- gdouble scale;
+ GtkAllocation allocation;
+ gdouble scale, page_size;
- widget = GTK_WIDGET (self);
+ gtk_widget_get_allocation (GTK_WIDGET (self), &allocation);
scale = ld_diagram_view_get_scale_in_px (self);
if (horizontal != self->priv->adjustment_h)
@@ -633,12 +633,9 @@ ld_diagram_view_real_set_scroll_adjustments (LdDiagramView *self,
g_signal_connect (horizontal, "value-changed",
G_CALLBACK (on_adjustment_value_changed), self);
- horizontal->upper = 100;
- horizontal->lower = -100;
- horizontal->step_increment = 0.5;
- horizontal->page_increment = 5;
- horizontal->page_size = widget->allocation.width / scale;
- horizontal->value = -horizontal->page_size / 2;
+ page_size = allocation.width / scale;
+ gtk_adjustment_configure (horizontal,
+ -page_size / 2, -100, 100, 0.5, 5, page_size);
self->priv->adjustment_h = horizontal;
}
@@ -660,12 +657,9 @@ ld_diagram_view_real_set_scroll_adjustments (LdDiagramView *self,
g_signal_connect (vertical, "value-changed",
G_CALLBACK (on_adjustment_value_changed), self);
- vertical->upper = 100;
- vertical->lower = -100;
- vertical->step_increment = 0.5;
- vertical->page_increment = 5;
- vertical->page_size = widget->allocation.height / scale;
- vertical->value = -vertical->page_size / 2;
+ page_size = allocation.height / scale;
+ gtk_adjustment_configure (vertical,
+ -page_size / 2, -100, 100, 0.5, 5, page_size);
self->priv->adjustment_v = vertical;
}
@@ -675,18 +669,18 @@ ld_diagram_view_real_set_scroll_adjustments (LdDiagramView *self,
static void
on_adjustment_value_changed (GtkAdjustment *adjustment, LdDiagramView *self)
{
- GtkWidget *widget;
+ GtkAllocation allocation;
gdouble scale;
- widget = GTK_WIDGET (self);
+ gtk_widget_get_allocation (GTK_WIDGET (self), &allocation);
scale = ld_diagram_view_get_scale_in_px (self);
if (adjustment == self->priv->adjustment_h)
- ld_diagram_view_set_x (self, adjustment->value
- + widget->allocation.width / scale / 2);
+ ld_diagram_view_set_x (self, gtk_adjustment_get_value (adjustment)
+ + allocation.width / scale / 2);
else if (adjustment == self->priv->adjustment_v)
- ld_diagram_view_set_y (self, adjustment->value
- + widget->allocation.height / scale / 2);
+ ld_diagram_view_set_y (self, gtk_adjustment_get_value (adjustment)
+ + allocation.height / scale / 2);
}
static void
@@ -706,24 +700,26 @@ on_size_allocate (GtkWidget *widget, GtkAllocation *allocation,
static void
update_adjustments (LdDiagramView *self)
{
- gdouble scale;
+ GtkAllocation allocation;
+ gdouble scale, page_size;
+ gtk_widget_get_allocation (GTK_WIDGET (self), &allocation);
scale = ld_diagram_view_get_scale_in_px (self);
if (self->priv->adjustment_h)
{
- self->priv->adjustment_h->page_size
- = GTK_WIDGET (self)->allocation.width / scale;
- self->priv->adjustment_h->value
- = self->priv->x - self->priv->adjustment_h->page_size / 2;
+ page_size = allocation.width / scale;
+ gtk_adjustment_set_page_size (self->priv->adjustment_h, page_size);
+ gtk_adjustment_set_value (self->priv->adjustment_h,
+ self->priv->x - page_size / 2);
gtk_adjustment_changed (self->priv->adjustment_h);
}
if (self->priv->adjustment_v)
{
- self->priv->adjustment_v->page_size
- = GTK_WIDGET (self)->allocation.height / scale;
- self->priv->adjustment_v->value
- = self->priv->y - self->priv->adjustment_v->page_size / 2;
+ page_size = allocation.height / scale;
+ gtk_adjustment_set_page_size (self->priv->adjustment_v, page_size);
+ gtk_adjustment_set_value (self->priv->adjustment_v,
+ self->priv->y - page_size / 2);
gtk_adjustment_changed (self->priv->adjustment_v);
}
}
@@ -907,22 +903,22 @@ void
ld_diagram_view_widget_to_diagram_coords (LdDiagramView *self,
gdouble wx, gdouble wy, gdouble *dx, gdouble *dy)
{
- GtkWidget *widget;
+ GtkAllocation allocation;
gdouble scale;
g_return_if_fail (LD_IS_DIAGRAM_VIEW (self));
g_return_if_fail (dx != NULL);
g_return_if_fail (dy != NULL);
- widget = GTK_WIDGET (self);
+ gtk_widget_get_allocation (GTK_WIDGET (self), &allocation);
scale = ld_diagram_view_get_scale_in_px (self);
/* We know diagram coordinates of the center of view, so we may
* translate the given X and Y coordinates to this center and then scale
* them by dividing them by the current scale.
*/
- *dx = self->priv->x + (wx - (widget->allocation.width * 0.5)) / scale;
- *dy = self->priv->y + (wy - (widget->allocation.height * 0.5)) / scale;
+ *dx = self->priv->x + (wx - (allocation.width * 0.5)) / scale;
+ *dy = self->priv->y + (wy - (allocation.height * 0.5)) / scale;
}
/**
@@ -939,19 +935,19 @@ void
ld_diagram_view_diagram_to_widget_coords (LdDiagramView *self,
gdouble dx, gdouble dy, gdouble *wx, gdouble *wy)
{
- GtkWidget *widget;
+ GtkAllocation allocation;
gdouble scale;
g_return_if_fail (LD_IS_DIAGRAM_VIEW (self));
g_return_if_fail (wx != NULL);
g_return_if_fail (wy != NULL);
- widget = GTK_WIDGET (self);
+ gtk_widget_get_allocation (GTK_WIDGET (self), &allocation);
scale = ld_diagram_view_get_scale_in_px (self);
/* Just the reversal of ld_diagram_view_widget_to_diagram_coords(). */
- *wx = scale * (dx - self->priv->x) + 0.5 * widget->allocation.width;
- *wy = scale * (dy - self->priv->y) + 0.5 * widget->allocation.height;
+ *wx = scale * (dx - self->priv->x) + 0.5 * allocation.width;
+ *wy = scale * (dy - self->priv->y) + 0.5 * allocation.height;
}
/**
@@ -1770,7 +1766,8 @@ oper_move_view_begin (LdDiagramView *self, const LdPoint *point)
data->last_pos = *point;
move_cursor = gdk_cursor_new (GDK_FLEUR);
- gdk_window_set_cursor (GTK_WIDGET (self)->window, move_cursor);
+ gdk_window_set_cursor
+ (gtk_widget_get_window (GTK_WIDGET (self)), move_cursor);
gdk_cursor_unref (move_cursor);
}
@@ -1794,7 +1791,7 @@ oper_move_view_motion (LdDiagramView *self, const LdPoint *point)
static void
oper_move_view_end (LdDiagramView *self)
{
- gdk_window_set_cursor (GTK_WIDGET (self)->window, NULL);
+ gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (self)), NULL);
}
/**
@@ -2131,18 +2128,19 @@ simulate_motion (LdDiagramView *self)
{
GdkEventMotion event;
GtkWidget *widget;
+ GdkWindow *window;
gint x, y;
GdkModifierType state;
widget = GTK_WIDGET (self);
+ window = gtk_widget_get_window (widget);
- if (gdk_window_get_pointer (widget->window, &x, &y, &state)
- != widget->window)
+ if (gdk_window_get_pointer (window, &x, &y, &state) != window)
return;
memset (&event, 0, sizeof (event));
event.type = GDK_MOTION_NOTIFY;
- event.window = widget->window;
+ event.window = window;
event.x = x;
event.y = y;
event.state = state;
@@ -2430,7 +2428,7 @@ on_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
{
DrawData data;
- data.cr = gdk_cairo_create (widget->window);
+ data.cr = gdk_cairo_create (gtk_widget_get_window (widget));
data.self = LD_DIAGRAM_VIEW (widget);
data.scale = ld_diagram_view_get_scale_in_px (data.self);
data.exposed_rect.x = event->area.x;