summaryrefslogtreecommitdiff
path: root/libcaribou/iscannable-group.vala
blob: 44f39791d026ef22e94265861d31c69eee6b4b95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
    }
}