+// events.h - Events header.
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Calendar is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Calendar is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
+
#ifndef __COMMON_EVENTS_H__
#define __COMMON_EVENTS_H__
#include <wx/wx.h>
-DEFINE_EVENT_TYPE(XCCALENDARDAY_UPDATEICONS)
-DEFINE_EVENT_TYPE(XCCALENDARDAY_DESELECTOTHERENTRIES)
-DEFINE_EVENT_TYPE(XCCALENDARDAY_DESELECTALLENTRIES)
-
-DECLARE_EVENT_TYPE(XCCALENDARDAY_UPDATEICONS, wxID_ANY)
-DECLARE_EVENT_TYPE(XCCALENDARDAY_DESELECTOTHERENTRIES, wxID_ANY)
-DECLARE_EVENT_TYPE(XCCALENDARDAY_DESELECTALLENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAYENTRY_DESELECT)
-DECLARE_EVENT_TYPE(XCCALENDARDAYENTRY_DESELECT, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMONTH_DESELECTOTHERENTRIES)
-DECLARE_EVENT_TYPE(XCCALENDARMONTH_DESELECTOTHERENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMANIPULATOR_CHANGEGRID);
-DECLARE_EVENT_TYPE(XCCALENDARMANIPULATOR_CHANGEGRID, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARCTRL_CHANGEGRID);
-DECLARE_EVENT_TYPE(XCCALENDARCTRL_CHANGEGRID, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARCTRL_HIDEACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARCTRL_HIDEACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARCTRL_SHOWACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARCTRL_SHOWACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMONTH_HIDEACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARMONTH_HIDEACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMONTH_SHOWACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARMONTH_SHOWACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAY_HIDEACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAY_HIDEACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAY_SHOWACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAY_SHOWACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAYENTRY_HIDEACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAYENTRY_HIDEACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAYENTRY_SHOWACCOUNTENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAYENTRY_SHOWACCOUNTENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARCTRL_HIDECALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARCTRL_HIDECALENDARENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARCTRL_SHOWCALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARCTRL_SHOWCALENDARENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAY_HIDECALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAY_HIDECALENDARENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARDAY_SHOWCALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARDAY_SHOWCALENDARENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMONTH_SHOWCALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARMONTH_SHOWCALENDARENTRIES, wxID_ANY)
-
-DEFINE_EVENT_TYPE(XCCALENDARMONTH_HIDECALENDARENTRIES);
-DECLARE_EVENT_TYPE(XCCALENDARMONTH_HIDECALENDARENTRIES, wxID_ANY)
-
-
+wxDECLARE_EVENT(XCMAIN_PROCESSCALENDAR, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_EDITCALENDAR, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_DELETECALENDAR, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_EDITEVENT, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_DELETEEVENT, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_ADDEVENT, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_UPDATEEVENT, wxCommandEvent);
+
+wxDECLARE_EVENT(XCMAIN_ADDWINDOWINFO, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_UPDATEWINDOWINFO, wxCommandEvent);
+wxDECLARE_EVENT(XCMAIN_DELETEWINDOWINFO, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARDAY_UPDATEICONS, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_DESELECTOTHERENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_DESELECTALLENTRIES, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARDAYENTRY_DESELECT, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARMANIPULATOR_CHANGEGRID, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARCTRL_CHANGEGRID, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_HIDEACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_SHOWACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_DELETECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_DELETEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_ADDENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_UPDATEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_UPDATECALENDARCOLOUR, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARMONTH_HIDEACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_SHOWACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_DELETECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_DELETEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_ADDENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_UPDATEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_UPDATECALENDARCOLOUR, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_SHOWCALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_HIDECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARMONTH_DISPLAYEVENTMENU, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARDAY_HIDEACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_SHOWACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_DELETECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_DELETEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_ADDENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_UPDATEENTRY, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_UPDATECALENDARCOLOUR, wxCommandEvent);
+
+wxDECLARE_EVENT(XCCALENDARDAYENTRY_HIDEACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAYENTRY_SHOWACCOUNTENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_HIDECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARCTRL_SHOWCALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_HIDECALENDARENTRIES, wxCommandEvent);
+wxDECLARE_EVENT(XCCALENDARDAY_SHOWCALENDARENTRIES, wxCommandEvent);
#define ID_MONTHVIEWCLEARSELECTION 7000
#define ID_DESELECTALLITEMS 7001
#define ID_CHANGEGRID 7006
#define ID_ENTRYDESELECT 7007
#define ID_DESELECTOTHERENTRIES 7008
+#define ID_PROCESSCALENDAR 7009
+#define ID_EDITCALENDAR 7010
+#define ID_DELETECALENDAR 7011
+#define ID_DELETECALENDARENTRIES 7012
+#define ID_EDITEVENT 7013
+#define ID_DELETEEVENT 7014
+#define ID_DISPLAYEVENTMENU 7015
+#define ID_EDITENTRY 7016
+#define ID_DELETEENTRY 7017
+#define ID_ADDENTRY 7018
+#define ID_UPDATEENTRY 7019
+#define ID_UPDATECOLOUR 7020
+#define ID_ADDWINDOW 7021
+#define ID_UPDATEWINDOW 7022
+#define ID_DELETEWINDOW 7023
+
+struct WindowData{
+
+ int DataType;
+ void *WindowPointer;
+ int WindowID;
+
+};
#endif
\ No newline at end of file