GTK_SHADOW_IN,
GTK_PARAM_READWRITE));
+ /**
+ * GtkViewport::set-scroll-adjustments
+ * @horizontal: the horizontal #GtkAdjustment
+ * @vertical: the vertical #GtkAdjustment
+ *
+ * Set the scroll adjustments for the viewport. Usually scrolled containers
+ * like #GtkScrolledWindow will emit this signal to connect two instances
+ * of #GtkScrollbar to the scroll directions of the #GtkViewport.
+ */
widget_class->set_scroll_adjustments_signal =
- g_signal_new (I_("set_scroll_adjustments"),
+ g_signal_new (I_("set-scroll-adjustments"),
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
G_STRUCT_OFFSET (GtkViewportClass, set_scroll_adjustments),
hadjustment->lower = 0;
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
+ if (bin->child && gtk_widget_get_visible (bin->child))
{
GtkRequisition child_requisition;
vadjustment->lower = 0;
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
+ if (bin->child && gtk_widget_get_visible (bin->child))
{
GtkRequisition child_requisition;
else
viewport_set_vadjustment_values (viewport, &value_changed);
- g_signal_connect (adjustment, "value_changed",
+ g_signal_connect (adjustment, "value-changed",
G_CALLBACK (gtk_viewport_adjustment_value_changed),
viewport);
/**
* gtk_viewport_set_hadjustment:
* @viewport: a #GtkViewport.
- * @adjustment: a #GtkAdjustment.
- *
+ * @adjustment: (allow-none): a #GtkAdjustment.
+ *
* Sets the horizontal adjustment of the viewport.
**/
void
/**
* gtk_viewport_set_vadjustment:
* @viewport: a #GtkViewport.
- * @adjustment: a #GtkAdjustment.
- *
+ * @adjustment: (allow-none): a #GtkAdjustment.
+ *
* Sets the vertical adjustment of the viewport.
**/
void
{
viewport->shadow_type = type;
- if (GTK_WIDGET_VISIBLE (viewport))
+ if (gtk_widget_get_visible (GTK_WIDGET (viewport)))
{
gtk_widget_size_allocate (GTK_WIDGET (viewport), &(GTK_WIDGET (viewport)->allocation));
gtk_widget_queue_draw (GTK_WIDGET (viewport));
return viewport->shadow_type;
}
+/**
+ * gtk_viewport_get_bin_window:
+ * @viewport: a #GtkViewport
+ *
+ * Gets the bin window of the #GtkViewport.
+ *
+ * Return value: a #GdkWindow
+ *
+ * Since: 2.20
+ **/
+GdkWindow*
+gtk_viewport_get_bin_window (GtkViewport *viewport)
+{
+ g_return_val_if_fail (GTK_IS_VIEWPORT (viewport), NULL);
+
+ return viewport->bin_window;
+}
+
static void
gtk_viewport_realize (GtkWidget *widget)
{
gdk_window_destroy (viewport->bin_window);
viewport->bin_window = NULL;
- if (GTK_WIDGET_CLASS (gtk_viewport_parent_class)->unrealize)
- (* GTK_WIDGET_CLASS (gtk_viewport_parent_class)->unrealize) (widget);
+ GTK_WIDGET_CLASS (gtk_viewport_parent_class)->unrealize (widget);
}
static void
gtk_viewport_paint (GtkWidget *widget,
GdkRectangle *area)
{
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtk_widget_is_drawable (widget))
{
GtkViewport *viewport = GTK_VIEWPORT (widget);
{
GtkViewport *viewport;
- if (GTK_WIDGET_DRAWABLE (widget))
+ if (gtk_widget_is_drawable (widget))
{
viewport = GTK_VIEWPORT (widget);
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
&event->area, widget, "viewportbin",
0, 0, -1, -1);
-
- (* GTK_WIDGET_CLASS (gtk_viewport_parent_class)->expose_event) (widget, event);
+
+ GTK_WIDGET_CLASS (gtk_viewport_parent_class)->expose_event (widget, event);
}
}
requisition->height += 2 * widget->style->ythickness;
}
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
+ if (bin->child && gtk_widget_get_visible (bin->child))
{
gtk_widget_size_request (bin->child, &child_requisition);
requisition->width += child_requisition.width;
/* If our size changed, and we have a shadow, queue a redraw on widget->window to
* redraw the shadow correctly.
*/
- if (GTK_WIDGET_MAPPED (widget) &&
+ if (gtk_widget_get_mapped (widget) &&
viewport->shadow_type != GTK_SHADOW_NONE &&
(widget->allocation.width != allocation->width ||
widget->allocation.height != allocation->height))
child_allocation.width,
child_allocation.height);
}
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
+ if (bin->child && gtk_widget_get_visible (bin->child))
gtk_widget_size_allocate (bin->child, &child_allocation);
gtk_adjustment_changed (hadjustment);
GtkViewport *viewport = GTK_VIEWPORT (data);
GtkBin *bin = GTK_BIN (data);
- if (bin->child && GTK_WIDGET_VISIBLE (bin->child) &&
+ if (bin->child && gtk_widget_get_visible (bin->child) &&
GTK_WIDGET_REALIZED (viewport))
{
GtkAdjustment *hadjustment = gtk_viewport_get_hadjustment (viewport);
GtkStyle *previous_style)
{
if (GTK_WIDGET_REALIZED (widget) &&
- !GTK_WIDGET_NO_WINDOW (widget))
+ gtk_widget_get_has_window (widget))
{
GtkViewport *viewport = GTK_VIEWPORT (widget);