Beispiel #1
0
static gboolean
ppg_ruler_motion_notify_event (GtkWidget *widget,
                               GdkEventMotion *motion)
{
	PpgRulerPrivate *priv;
	PpgRuler *ruler = (PpgRuler *)widget;
	GtkAllocation alloc;
	gdouble pos;

	g_return_val_if_fail(PPG_IS_RULER(ruler), FALSE);

	priv = ruler->priv;

	gtk_widget_get_allocation(widget, &alloc);
	pos = priv->lower + (motion->x / alloc.width * (priv->upper - priv->lower));
	ppg_ruler_set_position(ruler, pos);

	return FALSE;
}
Beispiel #2
0
/**
 * ppg_ruler_set_property:
 * @object: (in): A #GObject.
 * @prop_id: (in): The property identifier.
 * @value: (in): The given property.
 * @pspec: (in): A #ParamSpec.
 *
 * Set a given #GObject property.
 */
static void
ppg_ruler_set_property (GObject      *object,
                        guint         prop_id,
                        const GValue *value,
                        GParamSpec   *pspec)
{
	PpgRuler *ruler = PPG_RULER(object);

	switch (prop_id) {
	case PROP_LOWER:
		ppg_ruler_set_lower(ruler, g_value_get_double(value));
		break;
	case PROP_UPPER:
		ppg_ruler_set_upper(ruler, g_value_get_double(value));
		break;
	case PROP_POSITION:
		ppg_ruler_set_position(ruler, g_value_get_double(value));
		break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
	}
}