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
|
#pragma once
#include <sigc++/connection.h>
#include "ideclmanager.h"
#include "DefinitionView.h"
namespace wxutil
{
/**
* DefinitionView implementation specialising on Declarations
*/
class DeclarationSourceView :
public DefinitionView
{
private:
decl::IDeclaration::Ptr _decl;
decl::Type _activeSourceViewType;
sigc::connection _declChangedConn;
public:
DeclarationSourceView(wxWindow* parent);
~DeclarationSourceView() override;
void setDeclaration(const decl::IDeclaration::Ptr& decl);
void setDeclaration(decl::Type type, const std::string& declName);
protected:
bool isEmpty() const override;
std::string getDeclName() override;
std::string getDeclFileName() override;
std::string getDefinition() override;
private:
void updateTitle();
void updateSourceView();
};
}
|