#ifndef HEADER_cookbook
#define HEADER_cookbook
#include <wx/intl.h>
#include <wx/dialog.h>
#include <wx/sizer.h>
#include <wx/notebook.h>
#include <wx/panel.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/listbox.h>
#include <wx/button.h>
class CookBookEditor : public wxDialog
{
    public:
        CookBookEditor(wxWindow* parent,Cookbook& ModBook,bool DestroyBook);
        wxString GetValueOfName();
        void SetValueOfName(wxString new_value);
        wxString GetValueOfAuthor();
        void SetValueOfAuthor(wxString new_value);
        wxString GetValueOfSubHeading();
        void SetValueOfSubHeading(wxString new_value);
        wxString GetValueOfDescription();
        void SetValueOfDescription(wxString new_value);
        wxString GetValueOfConclusionTitle();
        void SetValueOfConclusionTitle(wxString new_value);
        wxString GetValueOfConclusionBody();
        void SetValueOfConclusionBody(wxString new_value);
        int GetSelectionOfSectionList();
        void SetValueOfSectionList(int new_value);
        wxString GetValueOfSectionName();
        void SetValueOfSectionName(wxString new_value);
        wxString GetValueOfSectionCurrentCatagory();
        void SetValueOfSectionCurrentCatagory(wxString new_value);
        wxString GetValueOfSectionDescription();
        void SetValueOfSectionDescription(wxString new_value);
        wxString GetValueOfSectionAuthor();
        void SetValueOfSectionAuthor(wxString new_value);
        wxString GetValueOfSectionConclusion();
        void SetValueOfSectionConclusion(wxString new_value);
        int GetSelectionOfSectionAvailableRecipes();
        void SetValueOfSectionAvailableRecipes(int new_value);
        int GetSelectionOfSectionChosenRecipes();
        void SetValueOfSectionChosenRecipes(int new_value);
        Cookbook& ModBook;
        bool DestroyBook;
        Section modsec;
        int SectionIndex;
    protected:
        wxBoxSizer *Main;
        wxNotebook *MainPanels;
        wxPanel *General;
        wxBoxSizer *GeneralMainSizer;
        wxBoxSizer *TitleVars;
        wxBoxSizer *NameSet;
        wxStaticText *NameLabel;
        wxTextCtrl *Name;
        wxBoxSizer *AuthorSet;
        wxStaticText *AuthorLabel;
        wxTextCtrl *Author;
        wxBoxSizer *SubHeadingSet;
        wxStaticText *SubHeadingLabel;
        wxTextCtrl *SubHeading;
        wxStaticText *DescriptionLabel;
        wxTextCtrl *Description;
        wxBoxSizer *ConclusionVars;
        wxStaticText *ConclusionLabel;
        wxBoxSizer *ConclusionTitleSet;
        wxStaticText *ConclusionTitleLabel;
        wxTextCtrl *ConclusionTitle;
        wxTextCtrl *ConclusionBody;
        wxPanel *Sections;
        wxBoxSizer *SectionSizer;
        wxListBox *SectionList;
        wxBoxSizer *SectionButtonSizer1;
        wxButton *NewSection;
        wxButton *EditSection;
        wxButton *RemoveSection;
        wxBoxSizer *SectionButtonSizer2;
        wxButton *MoveSectionUp;
        wxButton *MoveSectionDown;
        wxPanel *SectionEditSection;
        wxBoxSizer *SectionEditSizer;
        wxBoxSizer *SectionEditUnder;
        wxBoxSizer *SectionEditColumnA;
        wxBoxSizer *SectionNameSet;
        wxStaticText *SectionNameLabel;
        wxTextCtrl *SectionName;
        wxBoxSizer *SectionCatagorySizer;
        wxButton *SectionChangeCatagory;
        wxTextCtrl *SectionCurrentCatagory;
        wxStaticText *SectionDescriptionLabel;
        wxTextCtrl *SectionDescription;
        wxBoxSizer *SectionEditColumnB;
        wxBoxSizer *SectionAuthorSet;
        wxStaticText *SectionAuthorLabel;
        wxTextCtrl *SectionAuthor;
        wxStaticText *SectionConclusionLabel;
        wxTextCtrl *SectionConclusion;
        wxBoxSizer *SectionRecipeSizer;
        wxBoxSizer *SectionAvailableRecipeSet;
        wxStaticText *SectionAvailableRecipeLabel;
        wxListBox *SectionAvailableRecipes;
        wxBoxSizer *SectionRecipeButtonsSizer;
        wxButton *SectionAddRecipe;
        wxButton *SectionRemoveRecipe;
        wxButton *SectionMoveRecipeUp;
        wxButton *SectionMoveRecipeDown;
        wxBoxSizer *SectionChosenRecipesSet;
        wxStaticText *SectionChosenRecipesLabel;
        wxListBox *SectionChosenRecipes;
        wxBoxSizer *BottomButtons;
        wxButton *Save;
        wxButton *Load;
        wxButton *Close;
    private:
        void OnCloseCookBookEditor(wxCloseEvent&);
        void OnPageChangedMainPanels(wxCommandEvent&);
        void OnPageChangingMainPanels(wxCommandEvent&);
        void OnDoubleClickSectionList(wxCommandEvent&);
        void OnClickNewSection(wxCommandEvent&);
        void OnClickEditSection(wxCommandEvent&);
        void OnClickRemoveSection(wxCommandEvent&);
        void OnClickMoveSectionUp(wxCommandEvent&);
        void OnClickMoveSectionDown(wxCommandEvent&);
        void OnClickSectionChangeCatagory(wxCommandEvent&);
        void OnClickSectionAddRecipe(wxCommandEvent&);
        void OnClickSectionRemoveRecipe(wxCommandEvent&);
        void OnClickSectionMoveRecipeUp(wxCommandEvent&);
        void OnClickSectionMoveRecipeDown(wxCommandEvent&);
        void OnClickSave(wxCommandEvent&);
        void OnClickLoad(wxCommandEvent&);
        void OnClickClose(wxCommandEvent&);
        DECLARE_EVENT_TABLE();
};
enum CookBookEditor_IDS
{
    ID_CookBookEditor,
    ID_Main,
    ID_MainPanels,
    ID_General,
    ID_GeneralMainSizer,
    ID_TitleVars,
    ID_NameSet,
    ID_NameLabel,
    ID_Name,
    ID_AuthorSet,
    ID_AuthorLabel,
    ID_Author,
    ID_SubHeadingSet,
    ID_SubHeadingLabel,
    ID_SubHeading,
    ID_DescriptionLabel,
    ID_Description,
    ID_ConclusionVars,
    ID_ConclusionLabel,
    ID_ConclusionTitleSet,
    ID_ConclusionTitleLabel,
    ID_ConclusionTitle,
    ID_ConclusionBody,
    ID_Sections,
    ID_SectionSizer,
    ID_SectionList,
    ID_SectionButtonSizer1,
    ID_NewSection,
    ID_EditSection,
    ID_RemoveSection,
    ID_SectionButtonSizer2,
    ID_MoveSectionUp,
    ID_MoveSectionDown,
    ID_SectionEditSection,
    ID_SectionEditSizer,
    ID_SectionEditUnder,
    ID_SectionEditColumnA,
    ID_SectionNameSet,
    ID_SectionNameLabel,
    ID_SectionName,
    ID_SectionCatagorySizer,
    ID_SectionChangeCatagory,
    ID_SectionCurrentCatagory,
    ID_SectionDescriptionLabel,
    ID_SectionDescription,
    ID_SectionEditColumnB,
    ID_SectionAuthorSet,
    ID_SectionAuthorLabel,
    ID_SectionAuthor,
    ID_SectionConclusionLabel,
    ID_SectionConclusion,
    ID_SectionRecipeSizer,
    ID_SectionAvailableRecipeSet,
    ID_SectionAvailableRecipeLabel,
    ID_SectionAvailableRecipes,
    ID_SectionRecipeButtonsSizer,
    ID_SectionAddRecipe,
    ID_SectionRemoveRecipe,
    ID_SectionMoveRecipeUp,
    ID_SectionMoveRecipeDown,
    ID_SectionChosenRecipesSet,
    ID_SectionChosenRecipesLabel,
    ID_SectionChosenRecipes,
    ID_BottomButtons,
    ID_Save,
    ID_Load,
    ID_Close
};
#endif