~efargaspro/+junk/codeblocks-16.01-release

« back to all changes in this revision

Viewing changes to src/plugins/classwizard/classwizarddlg.h

  • Committer: damienlmoore at gmail
  • Date: 2016-02-02 02:43:22 UTC
  • Revision ID: damienlmoore@gmail.com-20160202024322-yql5qmtbwdyamdwd
Code::BlocksĀ 16.01

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
 
3
 * http://www.gnu.org/licenses/gpl-3.0.html
 
4
 */
 
5
 
 
6
#ifndef CLASSWIZARDDLG_H
 
7
#define CLASSWIZARDDLG_H
 
8
 
 
9
#include <wx/arrstr.h>
 
10
#include "scrollingdialog.h"
 
11
#include <wx/string.h>
 
12
 
 
13
#include <vector>
 
14
 
 
15
class wxCommandEvent;
 
16
class wxUpdateUIEvent;
 
17
 
 
18
class ClassWizardDlg : public wxScrollingDialog
 
19
{
 
20
    public:
 
21
        // livecycle
 
22
         ClassWizardDlg(wxWindow* parent);
 
23
        ~ClassWizardDlg();
 
24
 
 
25
        // access
 
26
        const wxString& GetHeaderFilename()         const { return m_Header;         }
 
27
        bool  IsValidImplementationFilename()       const { return m_GenerateImplementation && m_Implementation != _T(""); }
 
28
        const wxString& GetImplementationFilename() const { return m_Implementation; }
 
29
        bool  AddPathToProject()                    const { return m_AddPathToProject; }
 
30
        wxString GetIncludeDir();
 
31
 
 
32
    private:
 
33
        struct MemberVar_impl { wxString Typ; wxString Var; wxString Get; wxString Set; int Scp; };
 
34
        typedef struct MemberVar_impl MemberVar;
 
35
        typedef std::vector<MemberVar> MemberVarsArray;
 
36
 
 
37
        // events
 
38
        void OnUpdateUI(wxUpdateUIEvent& event);
 
39
        void OnNameChange(wxCommandEvent& event);
 
40
        void OnAncestorChange(wxCommandEvent& event);
 
41
        void OnAddMemberVar(wxCommandEvent& event);
 
42
        void OnRemoveMemberVar(wxCommandEvent& event);
 
43
        void OnCommonDirClick(wxCommandEvent& event);
 
44
        void OnLowerCaseClick(wxCommandEvent& event);
 
45
        void OnIncludeDirClick(wxCommandEvent& event);
 
46
        void OnImplDirClick(wxCommandEvent& event);
 
47
        void OnHeaderChange(wxCommandEvent& event);
 
48
        void OnOKClick(wxCommandEvent& event);
 
49
        void OnCancelClick(wxCommandEvent& event);
 
50
        void OnAddPathToProjectClick(wxCommandEvent& event);
 
51
 
 
52
        // methods
 
53
        bool DoHeader();
 
54
        bool DoImpl();
 
55
 
 
56
        void DoGuardBlock();
 
57
        void DoFileNames();
 
58
        void DoForceDirectory(const wxFileName & filename);
 
59
        wxString DoMemVarRepr(const wxString & typ, const wxString & var, const int & scp);
 
60
 
 
61
        // member variables
 
62
        wxString        m_Header;
 
63
        wxString        m_Implementation;
 
64
 
 
65
        wxString        m_Name;
 
66
        wxString        m_Arguments;
 
67
        wxArrayString   m_NameSpaces;
 
68
 
 
69
        bool            m_HasDestructor;
 
70
        bool            m_VirtualDestructor;
 
71
        bool            m_HasCopyCtor;
 
72
        bool            m_HasAssignmentOp;
 
73
 
 
74
        bool            m_Inherits;
 
75
        wxString        m_Ancestor;
 
76
        wxString        m_AncestorFilename;
 
77
        wxString        m_AncestorScope;
 
78
 
 
79
        MemberVarsArray m_MemberVars;
 
80
 
 
81
        bool            m_Documentation;
 
82
 
 
83
        bool            m_AddPathToProject;
 
84
        bool            m_UseRelativePath;
 
85
 
 
86
        bool            m_CommonDir;
 
87
        wxString        m_IncludeDir;
 
88
        wxString        m_ImplDir;
 
89
 
 
90
        bool            m_GuardBlock;
 
91
        wxString        m_GuardWord;
 
92
 
 
93
        bool            m_GenerateImplementation;
 
94
        wxString        m_HeaderInclude;
 
95
 
 
96
        wxString        m_TabStr;
 
97
        wxString        m_EolStr;
 
98
 
 
99
        DECLARE_EVENT_TABLE()
 
100
};
 
101
 
 
102
#endif // CLASSWIZARDDLG_H