#ifndef NEWFROMTEMPLATEDLG_H
#define NEWFROMTEMPLATEDLG_H
#include <wx/dialog.h>
#include <wx/listctrl.h>
#include <wx/imaglist.h>
#include "projecttemplateloader.h"
#include "settings.h"
#include "pluginmanager.h"
WX_DEFINE_ARRAY(ProjectTemplateLoader*, ProjectTemplateArray);
class NewFromTemplateDlg : public wxDialog
{
public:
NewFromTemplateDlg(const ProjectTemplateArray& templates, const wxArrayString& user_templatesz);
virtual ~NewFromTemplateDlg();
ProjectTemplateLoader* GetTemplate(){ return m_Template; }
cbProjectWizardPlugin* GetWizard(){ return m_pWizard; }
bool DoNotCreateFiles();
bool SelectedTemplate();
bool SelectedUserTemplate();
wxString GetSelectedUserTemplate();
int GetOptionIndex();
int GetFileSetIndex();
protected:
void BuildCategories();
void BuildList();
void FillTemplate(ProjectTemplateLoader* pt);
void ClearList();
void OnListSelection(wxListEvent& event);
void OnCategoryChanged(wxCommandEvent& event);
void OnUpdateUI(wxUpdateUIEvent& event);
private:
ProjectTemplateLoader* m_Template;
cbProjectWizardPlugin* m_pWizard;
wxImageList m_ImageList;
const ProjectTemplateArray m_Templates;
PluginsArray m_Wizards;
DECLARE_EVENT_TABLE()
};
#endif // NEWFROMTEMPLATEDLG_H
syntax highlighted by Code2HTML, v. 0.9.1