1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/*
* This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
* http://www.gnu.org/licenses/lgpl-3.0.html
*/
#ifndef NEWFROMTEMPLATEDLG_H
#define NEWFROMTEMPLATEDLG_H
#include "scrollingdialog.h"
#include "globals.h"
#include "pluginmanager.h"
#include "cbplugin.h"
class wxChoice;
class wxListCtrl;
class wxListEvent;
class ProjectTemplateLoader;
class NewFromTemplateDlg : public wxScrollingDialog
{
public:
NewFromTemplateDlg(TemplateOutputType initial, const wxArrayString& user_templates);
virtual ~NewFromTemplateDlg();
ProjectTemplateLoader* GetTemplate(){ return m_Template; }
cbWizardPlugin* GetWizard(){ return m_pWizard; }
int GetWizardIndex() const { return m_WizardIndex; }
cbWizardPlugin* GetSelectedTemplate();
bool SelectedUserTemplate() const;
wxString GetSelectedUserTemplate() const;
void EndModal(int retCode);
protected:
void FillTemplate(ProjectTemplateLoader* pt);
void BuildCategories();
void BuildCategoriesFor(TemplateOutputType otype, wxChoice* cat);
void BuildList();
void BuildListFor(TemplateOutputType otype, wxListCtrl* list, const wxChoice* cat);
void ClearList();
void ClearListFor(wxListCtrl* list);
void OnListRightClick(wxListEvent& event);
void OnListActivate(wxListEvent& event);
void OnCategoryChanged(wxCommandEvent& event);
void OnEditScript(wxCommandEvent& event);
void OnDiscardScript(wxCommandEvent& event);
void OnEditGlobalScript(wxCommandEvent& event);
void OnViewChange(wxCommandEvent& event);
void OnHelp(wxCommandEvent& event);
void OnUpdateUI(wxUpdateUIEvent& event);
void ChangeView();
void EditScript(const wxString& filename);
wxListCtrl* GetVisibleListCtrl();
wxChoice* GetVisibleCategory();
TemplateOutputType GetVisibleOutputType() const;
private:
ProjectTemplateLoader* m_Template;
cbWizardPlugin* m_pWizard;
int m_WizardIndex;
PluginsArray m_Wizards;
DECLARE_EVENT_TABLE()
};
#endif // NEWFROMTEMPLATEDLG_H
|