defuze.me  Client
schedulerwidget.hpp
00001 #ifndef SCHEDULERWIDGET_HPP
00002 #define SCHEDULERWIDGET_HPP
00003 
00004 #include "guicore.hpp"
00005 #include "ui_schedulerwidget.h"
00006 #include "eventmodel.hpp"
00007 
00008 #include <QFont>
00009 
00010 namespace Scheduler
00011 {
00012 
00013 class EventModel;
00014 class SchedulerPlugin;
00015 
00016 class SchedulerWidget : public Gui::ModuleWidget, private Ui::SchedulerWidget
00017 {
00018     Q_OBJECT
00019 
00020 public:
00021     explicit SchedulerWidget(SchedulerPlugin *scheduler, QWidget *parent = 0);
00022     QGridLayout         *getLayout() const;
00023 
00024     void                setHorizontalHeader();
00025     void                setVerticalHeader();
00026     void                setGrid();
00027     void                initialize();
00028 
00029     QList<EventModel*>  *getEvents();
00030     void                displayEvent(EventModel *event);
00031     void                removeEvent(EventModel *event);
00032 
00033 protected:
00034     void                changeEvent(QEvent *e);
00035     void                mousePressEvent(QMouseEvent *);
00036 
00037 private:
00038     SchedulerPlugin     *scheduler;
00039     QList<EventModel*>  *events;
00040 
00041 signals:
00042     void                clicked();
00043 
00044 public slots:
00045     void                gridClicked();
00046 
00047 };
00048 
00049 }
00050 
00051 #endif // SCHEDULERWIDGET_HPP