* HOT FIX: typename not always correctly split to name hierarchy * show node main if available as first active token after parsing * show all contents of namespaces if searched for * added missing enum type and enum value usages * added inheritance for structs * removed MessageActivateToken and replaced it with MessageActivateTokens * activating correct nodes for clicks in GraphView and CodeView * no graph change when clicking an edge, but highlighting the edge instead * only show active nodes without connections when multiple are activated * fixed snippet sorting to put file that contains declarations on top * set sizeHints on CodeView and SearchView to increase their initial size fortune cookie message = Das Leben wird eine positive Wendung nehmen.
49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
#ifndef CODE_CONTROLLER_H
|
|
#define CODE_CONTROLLER_H
|
|
|
|
#include <string>
|
|
|
|
#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/MessageRefresh.h"
|
|
#include "utility/messaging/type/MessageShowFile.h"
|
|
#include "utility/types.h"
|
|
|
|
class GraphAccess;
|
|
class LocationAccess;
|
|
class TokenLocationFile;
|
|
|
|
class CodeController
|
|
: public Controller
|
|
, public MessageListener<MessageActivateTokenLocation>
|
|
, public MessageListener<MessageActivateTokens>
|
|
, public MessageListener<MessageRefresh>
|
|
, public MessageListener<MessageShowFile>
|
|
{
|
|
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(MessageRefresh* message);
|
|
virtual void handleMessage(MessageShowFile* message);
|
|
|
|
CodeView* getView();
|
|
|
|
std::vector<CodeView::CodeSnippetParams> getSnippetsForActiveTokenIds(
|
|
const std::vector<Id>& ids, Id declarationId) const;
|
|
std::vector<std::pair<uint, uint>> getSnippetRangesForFile(TokenLocationFile* file, const uint lineRadius) const;
|
|
|
|
GraphAccess* m_graphAccess;
|
|
LocationAccess* m_locationAccess;
|
|
};
|
|
|
|
#endif // CODE_CONTROLLER_H
|