コード例 #1
0
static void
terminal_screen_container_set_property (GObject *object,
                                        guint prop_id,
                                        const GValue *value,
                                        GParamSpec *pspec)
{
	TerminalScreenContainer *container = TERMINAL_SCREEN_CONTAINER (object);
	TerminalScreenContainerPrivate *priv = container->priv;

	switch (prop_id)
	{
	case PROP_SCREEN:
		priv->screen = g_value_get_object (value);
		break;
	case PROP_HSCROLLBAR_POLICY:
		terminal_screen_container_set_policy (container,
		                                      g_value_get_enum (value),
		                                      priv->vscrollbar_policy);
		break;
	case PROP_VSCROLLBAR_POLICY:
		terminal_screen_container_set_policy (container,
		                                      priv->hscrollbar_policy,
		                                      g_value_get_enum (value));
		break;
	case PROP_WINDOW_PLACEMENT:
		terminal_screen_container_set_placement_internal (container, g_value_get_enum (value));
		break;
	case PROP_WINDOW_PLACEMENT_SET:
		terminal_screen_container_set_placement_set (container, g_value_get_boolean (value));
		break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
		break;
	}
}
コード例 #2
0
/**
 * terminal_screen_container_get_from_screen:
 * @screen: a #TerminalScreenContainerPrivate
 *
 * Returns the #TerminalScreenContainer containing @screen.
 */
TerminalScreenContainer *
terminal_screen_container_get_from_screen (TerminalScreen *screen)
{
	g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL);

	return TERMINAL_SCREEN_CONTAINER (gtk_widget_get_ancestor (GTK_WIDGET (screen), TERMINAL_TYPE_SCREEN_CONTAINER));
}
コード例 #3
0
static GObject *
terminal_screen_container_constructor (GType type,
                                       guint n_construct_properties,
                                       GObjectConstructParam *construct_params)
{
	GObject *object;
	TerminalScreenContainer *container;
	TerminalScreenContainerPrivate *priv;

	object = G_OBJECT_CLASS (terminal_screen_container_parent_class)->constructor
	         (type, n_construct_properties, construct_params);

	container = TERMINAL_SCREEN_CONTAINER (object);
	priv = container->priv;

	g_assert (priv->screen != NULL);

#ifdef USE_SCROLLED_WINDOW
	priv->scrolled_window = gtk_scrolled_window_new (NULL, gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen)));

	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window),
	                                priv->hscrollbar_policy,
	                                priv->vscrollbar_policy);
	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window),
	                                     GTK_SHADOW_NONE);
	gtk_container_add (GTK_CONTAINER (priv->scrolled_window), GTK_WIDGET (priv->screen));
	gtk_widget_show (GTK_WIDGET (priv->screen));
	gtk_box_pack_end (GTK_BOX (container), priv->scrolled_window, TRUE, TRUE, 0);
	gtk_widget_show (priv->scrolled_window);

#ifdef MATE_ENABLE_DEBUG
	g_signal_connect (priv->scrolled_window, "size-allocate", G_CALLBACK (size_allocate_cb), container);
#endif

#else

	priv->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);

	priv->vscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen)));

	gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->screen), TRUE, TRUE, 0);
	gtk_box_pack_start (GTK_BOX (priv->hbox), priv->vscrollbar, FALSE, FALSE, 0);

	gtk_box_pack_end (GTK_BOX (container), priv->hbox, TRUE, TRUE, 0);
	gtk_widget_show_all (priv->hbox);
#endif /* USE_SCROLLED_WINDOW */

	_terminal_screen_update_scrollbar (priv->screen);

	return object;
}