dee

Merge lp:~mhr3/dee/vala-tags into lp:dee

Proposed by Michal Hruby
Status: Merged
Approved by: Mikkel Kamstrup Erlandsen
Approved revision: 331
Merged at revision: 331
Proposed branch: lp:~mhr3/dee/vala-tags
Merge into: lp:dee
Diff against target: 107 lines (+34/-12)
3 files modified
vapi/Dee-1.0-custom.vala (+20/-6)
vapi/Dee-1.0.metadata (+4/-0)
vapi/dee-1.0.vapi (+10/-6)
To merge this branch: bzr merge lp:~mhr3/dee/vala-tags
Reviewer Review Type Date Requested Status
Mikkel Kamstrup Erlandsen (community) Approve
Review via email: mp+87439@code.launchpad.net

Description of the change

Makes ModelTag fully usable from Vala.

To post a comment you must log in.
Revision history for this message
Michal Hruby (mhr3) wrote :

The new way to use ModelTag is now:

var tag = new Dee.ModelTag<string> (model);
tag[model, iter] = "weeeee";
debug ("%s", tag[model, iter]);
tag.clear (model, iter);

Note that this will now properly duplicate the string.

Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

Nice! :-)

But - This will break libunity, no? If so please have a branch ready for libunity before we merge.

review: Needs Information
Revision history for this message
Michal Hruby (mhr3) wrote :
Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'vapi/Dee-1.0-custom.vala'
--- vapi/Dee-1.0-custom.vala 2011-12-15 11:28:16 +0000
+++ vapi/Dee-1.0-custom.vala 2012-01-04 08:44:24 +0000
@@ -1,14 +1,28 @@
1namespace Dee {1namespace Dee {
2 2
3 public struct Filter {3 public struct Filter {
4 [CCode (cname = "destroy")]4 [CCode (cname = "destroy")]
5 public GLib.DestroyNotify destroy_notify;5 public GLib.DestroyNotify destroy_notify;
6 }6 }
7 7
8 [CCode (ref_function = "", unref_function = "")]8 [CCode (ref_function = "", unref_function = "")]
9 [Compact]9 [Compact]
10 public class ModelIter {10 public class ModelIter {
11 }11 }
12
13 [CCode (cheader_filename = "dee.h", ref_function = "", unref_function = "")]
14 [Compact]
15 public class ModelTag<G> {
16 [CCode (cname = "dee_model_register_tag", simple_generics = true)]
17 public ModelTag (Dee.Model model);
18 [CCode (cname = "dee_model_set_tag", instance_pos = 2.1)]
19 public void @set (Dee.Model model, Dee.ModelIter iter, owned G value);
20 [CCode (cname = "dee_model_get_tag", instance_pos = 2.1)]
21 public unowned G @get (Dee.Model model, Dee.ModelIter iter);
22 [CCode (cname = "dee_model_clear_tag", instance_pos = 2.1)]
23 public void clear (Dee.Model model, Dee.ModelIter iter);
24 }
25
12 public interface ResultSet {26 public interface ResultSet {
13 [CCode (cname = "_vala_dee_result_set_iterator")]27 [CCode (cname = "_vala_dee_result_set_iterator")]
14 public Dee.ResultSet iterator ();28 public Dee.ResultSet iterator ();
1529
=== modified file 'vapi/Dee-1.0.metadata'
--- vapi/Dee-1.0.metadata 2011-12-19 10:25:16 +0000
+++ vapi/Dee-1.0.metadata 2012-01-04 08:44:24 +0000
@@ -12,6 +12,10 @@
12 .prepend skip=false12 .prepend skip=false
13 .set skip=false13 .set skip=false
14 .set_schema skip=false14 .set_schema skip=false
15 .register_tag skip
16 .get_tag skip
17 .set_tag skip
18 .clear_tag skip
1519
16SerializableParseFunc skip=false20SerializableParseFunc skip=false
17Serializable21Serializable
1822
=== modified file 'vapi/dee-1.0.vapi'
--- vapi/dee-1.0.vapi 2012-01-02 15:46:25 +0000
+++ vapi/dee-1.0.vapi 2012-01-04 08:44:24 +0000
@@ -70,9 +70,17 @@
70 [Compact]70 [Compact]
71 public class ModelIter {71 public class ModelIter {
72 }72 }
73 [CCode (cheader_filename = "dee.h")]73 [CCode (cheader_filename = "dee.h", ref_function = "", unref_function = "")]
74 [Compact]74 [Compact]
75 public class ModelTag {75 public class ModelTag<G> {
76 [CCode (cname = "dee_model_register_tag", simple_generics = true)]
77 public ModelTag (Dee.Model model);
78 [CCode (cname = "dee_model_clear_tag", instance_pos = 2.1)]
79 public void clear (Dee.Model model, Dee.ModelIter iter);
80 [CCode (cname = "dee_model_get_tag", instance_pos = 2.1)]
81 public unowned G @get (Dee.Model model, Dee.ModelIter iter);
82 [CCode (cname = "dee_model_set_tag", instance_pos = 2.1)]
83 public void @set (Dee.Model model, Dee.ModelIter iter, owned G value);
76 }84 }
77 [CCode (cheader_filename = "dee.h", type_id = "dee_peer_get_type ()")]85 [CCode (cheader_filename = "dee.h", type_id = "dee_peer_get_type ()")]
78 public class Peer : GLib.Object {86 public class Peer : GLib.Object {
@@ -178,7 +186,6 @@
178 public unowned Dee.ModelIter append (...);186 public unowned Dee.ModelIter append (...);
179 public abstract unowned Dee.ModelIter append_row ([CCode (array_length = false, array_null_terminated = true)] GLib.Variant[] row_members);187 public abstract unowned Dee.ModelIter append_row ([CCode (array_length = false, array_null_terminated = true)] GLib.Variant[] row_members);
180 public abstract void clear ();188 public abstract void clear ();
181 public void clear_tag (Dee.ModelIter iter, Dee.ModelTag tag);
182 public void @get (Dee.ModelIter iter, ...);189 public void @get (Dee.ModelIter iter, ...);
183 public abstract bool get_bool (Dee.ModelIter iter, uint column);190 public abstract bool get_bool (Dee.ModelIter iter, uint column);
184 public abstract unowned string get_column_schema (uint column);191 public abstract unowned string get_column_schema (uint column);
@@ -196,7 +203,6 @@
196 [CCode (array_length_pos = 0.1, array_length_type = "guint")]203 [CCode (array_length_pos = 0.1, array_length_type = "guint")]
197 public abstract unowned string[] get_schema ();204 public abstract unowned string[] get_schema ();
198 public abstract unowned string get_string (Dee.ModelIter iter, uint column);205 public abstract unowned string get_string (Dee.ModelIter iter, uint column);
199 public abstract void* get_tag (Dee.ModelIter iter, Dee.ModelTag tag);
200 public abstract uint8 get_uchar (Dee.ModelIter iter, uint column);206 public abstract uint8 get_uchar (Dee.ModelIter iter, uint column);
201 public abstract uint32 get_uint32 (Dee.ModelIter iter, uint column);207 public abstract uint32 get_uint32 (Dee.ModelIter iter, uint column);
202 public abstract uint64 get_uint64 (Dee.ModelIter iter, uint column);208 public abstract uint64 get_uint64 (Dee.ModelIter iter, uint column);
@@ -211,13 +217,11 @@
211 public unowned Dee.ModelIter prepend (...);217 public unowned Dee.ModelIter prepend (...);
212 public abstract unowned Dee.ModelIter prepend_row ([CCode (array_length = false, array_null_terminated = true)] GLib.Variant[] row_members);218 public abstract unowned Dee.ModelIter prepend_row ([CCode (array_length = false, array_null_terminated = true)] GLib.Variant[] row_members);
213 public abstract unowned Dee.ModelIter prev (Dee.ModelIter iter);219 public abstract unowned Dee.ModelIter prev (Dee.ModelIter iter);
214 public abstract unowned Dee.ModelTag register_tag (GLib.DestroyNotify tag_destroy);
215 public abstract void remove (Dee.ModelIter iter);220 public abstract void remove (Dee.ModelIter iter);
216 public void @set (Dee.ModelIter iter, ...);221 public void @set (Dee.ModelIter iter, ...);
217 public abstract void set_row (Dee.ModelIter iter, [CCode (array_length = false)] GLib.Variant[] row_members);222 public abstract void set_row (Dee.ModelIter iter, [CCode (array_length = false)] GLib.Variant[] row_members);
218 public void set_schema (...);223 public void set_schema (...);
219 public abstract void set_schema_full ([CCode (array_length_cname = "num_columns", array_length_pos = 1.1, array_length_type = "guint", array_null_terminated = true)] string[] column_schemas);224 public abstract void set_schema_full ([CCode (array_length_cname = "num_columns", array_length_pos = 1.1, array_length_type = "guint", array_null_terminated = true)] string[] column_schemas);
220 public abstract void set_tag (Dee.ModelIter iter, Dee.ModelTag tag, void* value);
221 public abstract void set_value (Dee.ModelIter iter, uint column, GLib.Variant value);225 public abstract void set_value (Dee.ModelIter iter, uint column, GLib.Variant value);
222 public virtual signal void row_added (Dee.ModelIter iter);226 public virtual signal void row_added (Dee.ModelIter iter);
223 public virtual signal void row_changed (Dee.ModelIter iter);227 public virtual signal void row_changed (Dee.ModelIter iter);

Subscribers

People subscribed via source and target branches

to all changes: