#ifndef CODE_CONTROLLER_H #define CODE_CONTROLLER_H #include #include "component/controller/Controller.h" #include "component/view/CodeView.h" #include "utility/messaging/MessageListener.h" #include "utility/messaging/type/MessageActivateTokenLocation.h" #include "utility/messaging/type/MessageActivateTokens.h" #include "utility/messaging/type/MessageFinishedParsing.h" #include "utility/messaging/type/MessageRefresh.h" #include "utility/messaging/type/MessageShowFile.h" #include "utility/types.h" class GraphAccess; class LocationAccess; class TokenLocationFile; class CodeController : public Controller , public MessageListener , public MessageListener , public MessageListener , public MessageListener , public MessageListener { public: CodeController(GraphAccess* graphAccess, LocationAccess* locationAccess); ~CodeController(); private: static const uint s_lineRadius; virtual void handleMessage(MessageActivateTokenLocation* message); virtual void handleMessage(MessageActivateTokens* message); virtual void handleMessage(MessageFinishedParsing* message); virtual void handleMessage(MessageRefresh* message); virtual void handleMessage(MessageShowFile* message); CodeView* getView(); std::vector getSnippetsForActiveTokenIds( const std::vector& ids, Id declarationId) const; std::vector getSnippetsForFile(const TokenLocationFile* file) const; std::vector> getSnippetRangesForFile(const TokenLocationFile* file) const; GraphAccess* m_graphAccess; LocationAccess* m_locationAccess; }; #endif // CODE_CONTROLLER_H