// frmEventEditor.h - frmEventEditor form functions 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 #ifndef __frmEventEditor__ #define __frmEventEditor__ /** @file Subclass of frmEventEditorADT, which is generated by wxFormBuilder. */ #include #include #include #include "../../AppXestiaCalendar.h" #include "uuid.h" #include "random.h" #include "structs.h" #include "events.h" #include "dirs.h" #include "preferences.h" #include "../../libraries/CalendarDataStorage/CalendarDataStorage.h" #include "../../objects/calendarevent/CalendarEvent.h" //// end generated include /** Implementing frmEventEditorADT */ class frmEventEditor : public frmEventEditorADT { private: CalendarDataStorage *dataStorage = nullptr; CalendarEventObject eventData; vector calendarIDList; bool editMode = false; bool enableUpdates = false; int accountID = 0; int eventID = 0; int calendarID = 0; int windowID = 0; string eventFilePath; bool SaveContact(); XCALPreferences *preferences; void SetDefaultDateTime(); void UpdateWindowName(); protected: void SaveContact(wxCommandEvent &event); void SaveNewContact(wxCommandEvent &event); void CloseWindow(wxCommandEvent &event); void CloseWindow(wxCloseEvent &event); void CutText(wxCommandEvent &event); void CopyText(wxCommandEvent &event); void PasteText(wxCommandEvent &event); bool ProcessEvent(wxEvent& event); void ProcessCalendarControl(wxCommandEvent &event); void ProcessEventName(wxCommandEvent &event); public: /** Constructor */ frmEventEditor( wxWindow* parent ); void SetupForm(CalendarDataStorage *dataStorage, XCALPreferences *preferences); void SetEditMode(bool editMode); void SetEventID(int eventID); void SetWindowMenuItemID(int windowID); //// end generated class members }; #endif // __frmEventEditor__