2015-04-11 12:10:02 -04:00
|
|
|
/*
|
|
|
|
* Copyright 2015 (c) Anna Schumaker.
|
|
|
|
*/
|
|
|
|
#ifndef OCARINA_GUI_QUEUE_LABEL_H
|
|
|
|
#define OCARINA_GUI_QUEUE_LABEL_H
|
|
|
|
|
2015-04-19 12:13:32 -04:00
|
|
|
#include <core/queue.h>
|
2015-04-11 12:10:02 -04:00
|
|
|
#include <gtkmm.h>
|
|
|
|
|
2015-04-11 16:24:01 -04:00
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
class QueueLabel : public Gtk::HBox {
|
|
|
|
protected:
|
2015-04-11 16:24:01 -04:00
|
|
|
Glib::RefPtr<Gtk::Builder> _builder;
|
2015-04-19 12:13:32 -04:00
|
|
|
Queue *_queue;
|
2015-04-11 16:24:01 -04:00
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
public:
|
|
|
|
QueueLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
|
|
~QueueLabel();
|
2015-04-19 12:13:32 -04:00
|
|
|
virtual void init(Queue *);
|
2015-04-16 15:21:44 -04:00
|
|
|
virtual void set_sensitive(bool) {};
|
2015-04-19 12:13:32 -04:00
|
|
|
virtual void set_size() {};
|
2015-04-16 14:50:21 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2015-04-19 12:13:32 -04:00
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
class CollectionLabel : public QueueLabel {
|
2015-04-11 16:24:01 -04:00
|
|
|
public:
|
|
|
|
Gtk::Label *collection_size;
|
|
|
|
|
|
|
|
CollectionLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
2015-04-19 12:13:32 -04:00
|
|
|
void set_size();
|
2015-04-11 16:24:01 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
class HistoryLabel : public QueueLabel {
|
2015-04-12 10:17:40 -04:00
|
|
|
public:
|
|
|
|
Gtk::Label *history_size;
|
|
|
|
|
|
|
|
HistoryLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
2015-04-19 12:13:32 -04:00
|
|
|
void set_size();
|
2015-04-12 10:17:40 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
class PlaylistLabel : public QueueLabel {
|
2015-04-14 08:45:32 -04:00
|
|
|
public:
|
|
|
|
PlaylistLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-04-16 14:50:21 -04:00
|
|
|
class TempLabel : public QueueLabel {
|
2015-04-11 12:10:02 -04:00
|
|
|
public:
|
|
|
|
Gtk::Label *temp_number;
|
|
|
|
Gtk::Label *temp_size;
|
|
|
|
Gtk::Button *temp_close;
|
|
|
|
|
|
|
|
TempLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
2015-04-16 15:21:44 -04:00
|
|
|
void set_sensitive(bool);
|
2015-04-19 12:13:32 -04:00
|
|
|
void set_size();
|
2015-04-11 12:10:02 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* OCARINA_GUI_QUEUE_LABEL_H */
|