summaryrefslogtreecommitdiff
path: root/browse-item.h
blob: a89d1f75ea7ade96831611a002f14df824e9caab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * browse-item.h
 */

#ifndef __BROWSE_ITEM_H
#define __BROWSE_ITEM_H

#include "trackinfo.h"

#include <vdr/osdbase.h>


enum eItemType {
        itemTrack,
        itemNodeOpen,
        itemNodeClose,
};

class cBrowseItem : public cOsdItem {
private:
        const cTrackInfo *track;
        cBrowseItem *main_item;
        int column;
        eItemType type;
        int items;
public:
        cBrowseItem(cBrowseItem *_main_item, const cTrackInfo *_track,
                int _column, eItemType _type);

        void increase_items(void);
        void delete_items(int del_items);
        void toggle_node(void);

        const cTrackInfo *get_track(void) const { return track; }
        const cBrowseItem *get_main_item(void) const { return main_item; }
        int get_column(void) const { return column; }
        int get_items(void) const { return items; }

        bool is_node(void) const { return (type != itemTrack); }
        bool is_open(void) const { return (type == itemNodeOpen); }
        bool is_closed(void) const { return (type == itemNodeClose); }
};

#endif /* __BROWSE_ITEM__H */