Blame gtksourceview/gtksourcestyleschemechooser.c

Packit a7d494
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; coding: utf-8 -*-
Packit a7d494
 *
Packit a7d494
 * This file is part of GtkSourceView
Packit a7d494
 *
Packit a7d494
 * Copyright (C) 2014 - Ignacio Casal Quinteiro
Packit a7d494
 *
Packit a7d494
 * GtkSourceView is free software; you can redistribute it and/or
Packit a7d494
 * modify it under the terms of the GNU Lesser General Public
Packit a7d494
 * License as published by the Free Software Foundation; either
Packit a7d494
 * version 2.1 of the License, or (at your option) any later version.
Packit a7d494
 *
Packit a7d494
 * GtkSourceView is distributed in the hope that it will be useful,
Packit a7d494
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit a7d494
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit a7d494
 * Lesser General Public License for more details.
Packit a7d494
 *
Packit a7d494
 * You should have received a copy of the GNU Lesser General Public License
Packit a7d494
 * along with GtkSourceView. If not, see <http://www.gnu.org/licenses/>.
Packit a7d494
 */
Packit a7d494
Packit a7d494
#ifdef HAVE_CONFIG_H
Packit a7d494
#include <config.h>
Packit a7d494
#endif
Packit a7d494
Packit a7d494
#include "gtksourcestyleschemechooser.h"
Packit a7d494
#include "gtksourcestylescheme.h"
Packit a7d494
Packit a7d494
/**
Packit a7d494
 * SECTION:styleschemechooser
Packit a7d494
 * @Short_description: Interface implemented by widgets for choosing style schemes
Packit a7d494
 * @Title: GtkSourceStyleSchemeChooser
Packit a7d494
 * @See_also: #GtkSourceStyleSchemeChooserWidget, #GtkSourceStyleSchemeChooserButton
Packit a7d494
 *
Packit a7d494
 * #GtkSourceStyleSchemeChooser is an interface that is implemented by widgets
Packit a7d494
 * for choosing style schemes.
Packit a7d494
 *
Packit a7d494
 * In GtkSourceView, the main widgets that implement this interface are
Packit a7d494
 * #GtkSourceStyleSchemeChooserWidget and #GtkSourceStyleSchemeChooserButton.
Packit a7d494
 *
Packit a7d494
 * Since: 3.16
Packit a7d494
 */
Packit a7d494
Packit a7d494
G_DEFINE_INTERFACE (GtkSourceStyleSchemeChooser, gtk_source_style_scheme_chooser, G_TYPE_OBJECT);
Packit a7d494
Packit a7d494
static void
Packit a7d494
gtk_source_style_scheme_chooser_default_init (GtkSourceStyleSchemeChooserInterface *iface)
Packit a7d494
{
Packit a7d494
	/**
Packit a7d494
	 * GtkSourceStyleSchemeChooser:style-scheme:
Packit a7d494
	 *
Packit a7d494
	 * The :style-scheme property contains the currently selected style
Packit a7d494
	 * scheme. The property can be set to change
Packit a7d494
	 * the current selection programmatically.
Packit a7d494
	 *
Packit a7d494
	 * Since: 3.16
Packit a7d494
	 */
Packit a7d494
	g_object_interface_install_property (iface,
Packit a7d494
		g_param_spec_object ("style-scheme",
Packit a7d494
		                     "Style Scheme",
Packit a7d494
		                     "Current style scheme",
Packit a7d494
		                     GTK_SOURCE_TYPE_STYLE_SCHEME,
Packit a7d494
		                     G_PARAM_READWRITE));
Packit a7d494
}
Packit a7d494
Packit a7d494
/**
Packit a7d494
 * gtk_source_style_scheme_chooser_get_style_scheme:
Packit a7d494
 * @chooser: a #GtkSourceStyleSchemeChooser
Packit a7d494
 *
Packit a7d494
 * Gets the currently-selected scheme.
Packit a7d494
 *
Packit a7d494
 * Returns: (transfer none): the currently-selected scheme.
Packit a7d494
 *
Packit a7d494
 * Since: 3.16
Packit a7d494
 */
Packit a7d494
GtkSourceStyleScheme *
Packit a7d494
gtk_source_style_scheme_chooser_get_style_scheme (GtkSourceStyleSchemeChooser *chooser)
Packit a7d494
{
Packit a7d494
	g_return_val_if_fail (GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER (chooser), NULL);
Packit a7d494
Packit a7d494
	return GTK_SOURCE_STYLE_SCHEME_CHOOSER_GET_IFACE (chooser)->get_style_scheme (chooser);
Packit a7d494
}
Packit a7d494
Packit a7d494
/**
Packit a7d494
 * gtk_source_style_scheme_chooser_set_style_scheme:
Packit a7d494
 * @chooser: a #GtkSourceStyleSchemeChooser
Packit a7d494
 * @scheme: a #GtkSourceStyleScheme
Packit a7d494
 *
Packit a7d494
 * Sets the scheme.
Packit a7d494
 *
Packit a7d494
 * Since: 3.16
Packit a7d494
 */
Packit a7d494
void
Packit a7d494
gtk_source_style_scheme_chooser_set_style_scheme (GtkSourceStyleSchemeChooser *chooser,
Packit a7d494
                                                  GtkSourceStyleScheme        *scheme)
Packit a7d494
{
Packit a7d494
	g_return_if_fail (GTK_SOURCE_IS_STYLE_SCHEME_CHOOSER (chooser));
Packit a7d494
	g_return_if_fail (GTK_SOURCE_IS_STYLE_SCHEME (scheme));
Packit a7d494
Packit a7d494
	GTK_SOURCE_STYLE_SCHEME_CHOOSER_GET_IFACE (chooser)->set_style_scheme (chooser, scheme);
Packit a7d494
}