summaryrefslogtreecommitdiff
path: root/libcaribou/iscannable-group.vala
diff options
context:
space:
mode:
authorEitan Isaacson <eitan@monotonous.org>2011-05-28 13:04:56 -0700
committerEitan Isaacson <eitan@monotonous.org>2011-05-28 13:04:56 -0700
commit19a05548084b345c96fe910442d89978e8bbcb2a (patch)
tree562a28014db626f0dd05e4a46fbfe9a2fabef4e0 /libcaribou/iscannable-group.vala
parentf01ca0a14fbed097ead474826559b98943678628 (diff)
downloadcaribou-19a05548084b345c96fe910442d89978e8bbcb2a.tar.gz
Introduce scannable interfaces.
Diffstat (limited to 'libcaribou/iscannable-group.vala')
-rw-r--r--libcaribou/iscannable-group.vala23
1 files changed, 23 insertions, 0 deletions
diff --git a/libcaribou/iscannable-group.vala b/libcaribou/iscannable-group.vala
new file mode 100644
index 0000000..44f3979
--- /dev/null
+++ b/libcaribou/iscannable-group.vala
@@ -0,0 +1,23 @@
+namespace Caribou {
+ public interface IScannableGroup : Object {
+ public abstract IScannableItem? child_select ();
+ public abstract void scan_reset ();
+ public abstract IScannableItem[] get_scan_children ();
+ public abstract IScannableItem? child_step (int cycles);
+ public abstract IScannableItem[] get_step_path ();
+ public abstract IScannableItem[] get_selected_path ();
+
+ public abstract ScanGrouping scan_grouping { get; set; }
+
+ public signal void selected_item_changed (IScannableItem? selected_item);
+ public signal void step_item_changed (IScannableItem? step_item);
+ public signal void scan_cleared ();
+ }
+
+ public enum ScanGrouping {
+ NONE,
+ SUBGROUPS,
+ ROWS,
+ LINEAR
+ }
+} \ No newline at end of file