defuze.me  Client
scheduler.cpp
00001 #include "scheduler.hpp"
00002 
00003 using namespace Scheduler;
00004 
00005 SchedulerPlugin::SchedulerPlugin()
00006 {
00007 }
00008 
00009 SchedulerPlugin::~SchedulerPlugin()
00010 {
00011 }
00012 
00013 Plugins *SchedulerPlugin::getPlugins()
00014 {
00015     return this->plugins;
00016 }
00017 
00018 void    SchedulerPlugin::init()
00019 {
00020     eventWidget     = new EventWidget(this);
00021     schedulerWidget = new SchedulerWidget(this);
00022     schedulerModel  = new SchedulerModel(this);
00023 
00024     connect(eventWidget, SIGNAL(newEvent(Scheduler::EventModel*)), SIGNAL(newEvent(Scheduler::EventModel*)));
00025     connect(eventWidget, SIGNAL(updateEvent(Scheduler::EventModel*)), SIGNAL(updateEvent(Scheduler::EventModel*)));
00026     connect(eventWidget, SIGNAL(removeEvent(Scheduler::EventModel*)), SIGNAL(removeEvent(Scheduler::EventModel*)));
00027     connect(schedulerModel, SIGNAL(loadEvent(Scheduler::EventModel*)), SIGNAL(loadEvent(Scheduler::EventModel*)));
00028 
00029     loadScheduler();
00030     Gui::Module *eventModule = Gui::ModuleFactory::create("Event Manager", QPoint(0, 1), eventWidget, 1);
00031     Gui::Module *schedulerModule = Gui::ModuleFactory::create("Scheduler", QPoint(1, 0), schedulerWidget, 1);
00032     eventModule->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
00033     eventModule->submitForDisplay();
00034     schedulerModule->submitForDisplay();
00035 }
00036 
00037 EventModel*     SchedulerPlugin::getEvent(int id)
00038 {
00039     return schedulerModel->getEvent(id);
00040 }
00041 
00042 void    SchedulerPlugin::aboutToQuit()
00043 {
00044 }
00045 
00046 SchedulerModel  *SchedulerPlugin::getModel() const
00047 {
00048     return schedulerModel;
00049 }
00050 
00051 SchedulerWidget *SchedulerPlugin::getWidget() const
00052 {
00053     return schedulerWidget;
00054 }
00055 
00056 EventWidget *SchedulerPlugin::getEventWidget() const
00057 {
00058     return eventWidget;
00059 }
00060 
00061 void    SchedulerPlugin::loadScheduler()
00062 {
00063     this->schedulerModel->loadEvents();
00064 }