#ifndef __implement_parent_virtual_functions__
#define __implement_parent_virtual_functions__

/**
@file
Subclass of ImplementParentVirtualFunctionsBase, which is generated by wxFormBuilder.
*/

#include "implementparentvirtualfunctionsbase.h"
#include <vector>
#include "entry.h"

class ContextCpp;
/** Implementing ImplementParentVirtualFunctionsBase */
class ImplementParentVirtualFunctionsDialog : public ImplementParentVirtualFunctionsBase
{
	std::vector<TagEntryPtr> m_tags;
	wxChar                   m_doxyPrefix;
	ContextCpp*              m_contextCpp;
	wxString                 m_scope;
protected:
	void OnAddDoxy  (wxCommandEvent &event);
	void OnAddVirtual( wxCommandEvent& event );


protected:
	void DoInitialize(bool updateDoxyOnly);
public:
	/** Constructor */
	ImplementParentVirtualFunctionsDialog(wxWindow* parent, const wxString &scopeName, const std::vector<TagEntryPtr> &tags, wxChar doxyPrefix /* @ or \\ */, ContextCpp *contextCpp);
	virtual ~ImplementParentVirtualFunctionsDialog();

	wxString GetDecl();
	wxString GetImpl();
};

#endif // __implement_parent_virtual_functions__
