defuze.me  Client
scheduler.hpp
00001 #ifndef SCHEDULER_HPP
00002 #define SCHEDULER_HPP
00003 
00004 #define SCALE   4
00005 
00006 #include <QColor>
00007 #include <QList>
00008 #include <QSqlQuery>
00009 #include <QTableView>
00010 
00011 #include "staticplugin.hpp"
00012 #include "playlists/playlists.hpp"
00013 
00014 #include "eventcolor.hpp"
00015 #include "eventmodel.hpp"
00016 #include "eventplaylist.hpp"
00017 #include "eventplaylistitem.hpp"
00018 #include "eventwidget.hpp"
00019 
00020 #include "schedulerwidget.hpp"
00021 #include "schedulermodel.hpp"
00022 
00023 namespace Scheduler
00024 {
00025 
00026     class EventModel;
00027     class EventWidget;
00028     class SchedulerModel;
00029     class SchedulerWidget;
00030 
00031     class SchedulerPlugin : public QObject, public StaticPlugin
00032     {
00033         Q_OBJECT
00034     public:
00035         SchedulerPlugin();
00036         ~SchedulerPlugin();
00037         Plugins                 *getPlugins();
00038         void                    init();
00039         void                    aboutToQuit();
00040         SchedulerModel          *getModel() const;
00041         SchedulerWidget         *getWidget() const;
00042         EventWidget             *getEventWidget() const;
00043         EventModel*             getEvent(int id);
00044         void                    addScheduler(QString name);
00045         void                    loadScheduler();
00046 
00047     signals:
00048         void                    newEvent(Scheduler::EventModel* event);
00049         void                    updateEvent(Scheduler::EventModel* event);
00050         void                    removeEvent(Scheduler::EventModel* event);
00051         void                    loadEvent(Scheduler::EventModel* event);
00052 
00053     private:
00054         SchedulerModel          *schedulerModel;
00055         EventWidget             *eventWidget;
00056         SchedulerWidget         *schedulerWidget;
00057 
00058     };
00059 
00060 }
00061 
00062 #endif // SCHEDULER_HPP