[gnome-builder] libide: add IdeBuffer:style-scheme-name property
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide: add IdeBuffer:style-scheme-name property
- Date: Mon, 23 Mar 2015 23:51:00 +0000 (UTC)
commit 895e358522a1e631d072f65ab0cf4ce6abda8043
Author: Christian Hergert <christian hergert me>
Date: Tue Mar 3 01:09:47 2015 -0800
libide: add IdeBuffer:style-scheme-name property
libide/ide-buffer.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
libide/ide-buffer.h | 3 +++
2 files changed, 51 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-buffer.c b/libide/ide-buffer.c
index eb08e8b..7ea0bba 100644
--- a/libide/ide-buffer.c
+++ b/libide/ide-buffer.c
@@ -75,6 +75,7 @@ enum {
PROP_CONTEXT,
PROP_FILE,
PROP_HIGHLIGHT_DIAGNOSTICS,
+ PROP_STYLE_SCHEME_NAME,
PROP_TITLE,
LAST_PROP
};
@@ -566,6 +567,10 @@ ide_buffer_get_property (GObject *object,
g_value_set_string (value, ide_buffer_get_title (self));
break;
+ case PROP_STYLE_SCHEME_NAME:
+ g_value_set_string (value, ide_buffer_get_style_scheme_name (self));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -593,6 +598,10 @@ ide_buffer_set_property (GObject *object,
ide_buffer_set_highlight_diagnostics (self, g_value_get_boolean (value));
break;
+ case PROP_STYLE_SCHEME_NAME:
+ ide_buffer_set_style_scheme_name (self, g_value_get_string (value));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -640,6 +649,15 @@ ide_buffer_class_init (IdeBufferClass *klass)
g_object_class_install_property (object_class, PROP_HIGHLIGHT_DIAGNOSTICS,
gParamSpecs [PROP_HIGHLIGHT_DIAGNOSTICS]);
+ gParamSpecs [PROP_STYLE_SCHEME_NAME] =
+ g_param_spec_string ("style-scheme-name",
+ _("Style Scheme Name"),
+ _("Style Scheme Name"),
+ NULL,
+ (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class, PROP_STYLE_SCHEME_NAME,
+ gParamSpecs [PROP_STYLE_SCHEME_NAME]);
+
gParamSpecs [PROP_TITLE] =
g_param_spec_string ("title",
_("Title"),
@@ -1048,3 +1066,33 @@ ide_buffer_get_title (IdeBuffer *self)
return self->title;
}
+
+const gchar *
+ide_buffer_get_style_scheme_name (IdeBuffer *self)
+{
+ GtkSourceStyleScheme *scheme;
+
+ g_return_val_if_fail (IDE_IS_BUFFER (self), NULL);
+
+ scheme = gtk_source_buffer_get_style_scheme (GTK_SOURCE_BUFFER (self));
+ if (scheme)
+ return gtk_source_style_scheme_get_id (scheme);
+
+ return NULL;
+}
+
+void
+ide_buffer_set_style_scheme_name (IdeBuffer *self,
+ const gchar *style_scheme_name)
+{
+ GtkSourceStyleSchemeManager *mgr;
+ GtkSourceStyleScheme *scheme;
+
+ g_return_if_fail (IDE_IS_BUFFER (self));
+
+ mgr = gtk_source_style_scheme_manager_get_default ();
+
+ scheme = gtk_source_style_scheme_manager_get_scheme (mgr, style_scheme_name);
+ if (scheme)
+ gtk_source_buffer_set_style_scheme (GTK_SOURCE_BUFFER (self), scheme);
+}
diff --git a/libide/ide-buffer.h b/libide/ide-buffer.h
index 9eb613e..9edc2e5 100644
--- a/libide/ide-buffer.h
+++ b/libide/ide-buffer.h
@@ -57,6 +57,7 @@ IdeFile *ide_buffer_get_file (IdeBuffer *sel
IdeBufferLineFlags ide_buffer_get_line_flags (IdeBuffer *buffer,
guint line);
gboolean ide_buffer_get_highlight_diagnostics (IdeBuffer *self);
+const gchar *ide_buffer_get_style_scheme_name (IdeBuffer *self);
const gchar *ide_buffer_get_title (IdeBuffer *self);
GType ide_buffer_get_type (void);
GType ide_buffer_line_flags_get_type (void);
@@ -64,6 +65,8 @@ void ide_buffer_set_file (IdeBuffer *sel
IdeFile *file);
void ide_buffer_set_highlight_diagnostics (IdeBuffer *self,
gboolean highlight_diagnostics);
+void ide_buffer_set_style_scheme_name (IdeBuffer *self,
+ const gchar *style_scheme_name);
void ide_buffer_trim_trailing_whitespace (IdeBuffer *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]