// 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__