65 lines
1.2 KiB
C++
65 lines
1.2 KiB
C++
/*
|
|
* Copyright 2015 (c) Anna Schumaker.
|
|
*/
|
|
#ifndef OCARINA_GUI_QUEUE_LABEL_H
|
|
#define OCARINA_GUI_QUEUE_LABEL_H
|
|
|
|
#include <core/queue.h>
|
|
#include <gtkmm.h>
|
|
|
|
|
|
class QueueLabel : public Gtk::HBox {
|
|
protected:
|
|
Glib::RefPtr<Gtk::Builder> _builder;
|
|
Queue *_queue;
|
|
|
|
public:
|
|
QueueLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
~QueueLabel();
|
|
virtual void init(Queue *);
|
|
virtual void set_sensitive(bool) {};
|
|
virtual void set_size() {};
|
|
};
|
|
|
|
|
|
|
|
class CollectionLabel : public QueueLabel {
|
|
public:
|
|
Gtk::Label *collection_size;
|
|
|
|
CollectionLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
void set_size();
|
|
};
|
|
|
|
|
|
|
|
class HistoryLabel : public QueueLabel {
|
|
public:
|
|
Gtk::Label *history_size;
|
|
|
|
HistoryLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
void set_size();
|
|
};
|
|
|
|
|
|
|
|
class PlaylistLabel : public QueueLabel {
|
|
public:
|
|
PlaylistLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
};
|
|
|
|
|
|
|
|
class TempLabel : public QueueLabel {
|
|
public:
|
|
Gtk::Label *temp_number;
|
|
Gtk::Label *temp_size;
|
|
Gtk::Button *temp_close;
|
|
|
|
TempLabel(BaseObjectType *, const Glib::RefPtr<Gtk::Builder>);
|
|
void set_sensitive(bool);
|
|
void set_size();
|
|
};
|
|
|
|
#endif /* OCARINA_GUI_QUEUE_LABEL_H */
|