data: fixes and improvements
* save forward declarations of classes and structs as NODE_UNDEFINED_TYPE * put whole files on top in snippet sorting * uses aggregation count as weight in graph layouting instead of adding all edges to graph * refreshing all views of components on MessageRefresh in ComponentManager * reloading ApplikatinoSettings on MessageRefresh
This commit is contained in:
@@ -49,3 +49,11 @@ void ComponentManager::setup(ViewLayout* viewLayout)
|
||||
ComponentManager::ComponentManager()
|
||||
{
|
||||
}
|
||||
|
||||
void ComponentManager::handleMessage(MessageRefresh* message)
|
||||
{
|
||||
for (std::shared_ptr<Component> component : m_components)
|
||||
{
|
||||
component->getView<View>()->refreshView();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "utility/messaging/MessageListener.h"
|
||||
#include "utility/messaging/type/MessageRefresh.h"
|
||||
|
||||
#include "component/Component.h"
|
||||
#include "component/ComponentFactory.h"
|
||||
|
||||
@@ -14,6 +17,7 @@ class ViewFactory;
|
||||
class ViewLayout;
|
||||
|
||||
class ComponentManager
|
||||
: public MessageListener<MessageRefresh>
|
||||
{
|
||||
public:
|
||||
static std::shared_ptr<ComponentManager> create(ViewFactory* viewFactory, StorageAccess* graphAccess);
|
||||
@@ -26,6 +30,8 @@ private:
|
||||
ComponentManager();
|
||||
ComponentManager(const ComponentManager&);
|
||||
|
||||
void handleMessage(MessageRefresh* message);
|
||||
|
||||
std::shared_ptr<ComponentFactory> m_componentFactory;
|
||||
|
||||
std::vector<std::shared_ptr<CompositeView>> m_compositeViews;
|
||||
|
||||
@@ -110,11 +110,6 @@ void CodeController::handleMessage(MessageFocusOut* message)
|
||||
getView()->defocusToken();
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageRefresh* message)
|
||||
{
|
||||
getView()->refreshView();
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageShowFile* message)
|
||||
{
|
||||
CodeView::CodeSnippetParams params;
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#include "utility/messaging/type/MessageFinishedParsing.h"
|
||||
#include "utility/messaging/type/MessageFocusIn.h"
|
||||
#include "utility/messaging/type/MessageFocusOut.h"
|
||||
#include "utility/messaging/type/MessageRefresh.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
@@ -31,7 +30,6 @@ class CodeController
|
||||
, public MessageListener<MessageFinishedParsing>
|
||||
, public MessageListener<MessageFocusIn>
|
||||
, public MessageListener<MessageFocusOut>
|
||||
, public MessageListener<MessageRefresh>
|
||||
, public MessageListener<MessageShowFile>
|
||||
{
|
||||
public:
|
||||
@@ -47,7 +45,6 @@ private:
|
||||
virtual void handleMessage(MessageFinishedParsing* message);
|
||||
virtual void handleMessage(MessageFocusIn* message);
|
||||
virtual void handleMessage(MessageFocusOut* message);
|
||||
virtual void handleMessage(MessageRefresh* message);
|
||||
virtual void handleMessage(MessageShowFile* message);
|
||||
|
||||
CodeView* getView();
|
||||
|
||||
@@ -181,12 +181,13 @@ MatrixDynamicBase<int> GraphLayouter::buildLaplacianMatrix(const std::vector<Dum
|
||||
std::map<std::pair<Id, Id>, int> weightsMap;
|
||||
for(unsigned int i = 0; i < edges.size(); i++)
|
||||
{
|
||||
DummyNode ownerNode = nodesMap[edges[i].ownerId];
|
||||
DummyNode targetNode = nodesMap[edges[i].targetId];
|
||||
const DummyEdge& edge = edges[i];
|
||||
DummyNode ownerNode = nodesMap[edge.ownerId];
|
||||
DummyNode targetNode = nodesMap[edge.targetId];
|
||||
|
||||
if(ownerNode.topLevelAncestorId != targetNode.topLevelAncestorId)
|
||||
{
|
||||
int weightIncrement = 1;
|
||||
int weightIncrement = edge.getWeight();
|
||||
|
||||
Id ownerId = ownerNode.topLevelAncestorId;
|
||||
Id targetId = targetNode.topLevelAncestorId;
|
||||
|
||||
@@ -40,11 +40,6 @@ void SearchController::handleMessage(MessageFinishedParsing* message)
|
||||
getView()->setText("");
|
||||
}
|
||||
|
||||
void SearchController::handleMessage(MessageRefresh* message)
|
||||
{
|
||||
getView()->refreshView();
|
||||
}
|
||||
|
||||
void SearchController::handleMessage(MessageSearch* message)
|
||||
{
|
||||
const std::string& query = message->query;
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "utility/messaging/type/MessageActivateTokens.h"
|
||||
#include "utility/messaging/type/MessageFind.h"
|
||||
#include "utility/messaging/type/MessageFinishedParsing.h"
|
||||
#include "utility/messaging/type/MessageRefresh.h"
|
||||
#include "utility/messaging/type/MessageSearch.h"
|
||||
#include "utility/messaging/type/MessageSearchAutocomplete.h"
|
||||
|
||||
@@ -20,7 +19,6 @@ class SearchController
|
||||
, public MessageListener<MessageActivateTokens>
|
||||
, public MessageListener<MessageFind>
|
||||
, public MessageListener<MessageFinishedParsing>
|
||||
, public MessageListener<MessageRefresh>
|
||||
, public MessageListener<MessageSearch>
|
||||
, public MessageListener<MessageSearchAutocomplete>
|
||||
{
|
||||
@@ -32,7 +30,6 @@ private:
|
||||
virtual void handleMessage(MessageActivateTokens* message);
|
||||
virtual void handleMessage(MessageFind* message);
|
||||
virtual void handleMessage(MessageFinishedParsing* message);
|
||||
virtual void handleMessage(MessageRefresh* message);
|
||||
virtual void handleMessage(MessageSearch* message);
|
||||
virtual void handleMessage(MessageSearchAutocomplete* message);
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
|
||||
#include "utility/types.h"
|
||||
|
||||
#include "data/graph/Edge.h"
|
||||
#include "data/graph/token_component/TokenComponentAggregation.h"
|
||||
|
||||
class Edge;
|
||||
|
||||
// temporary data structure for (visual) graph creation process
|
||||
@@ -17,6 +20,16 @@ struct DummyEdge
|
||||
{
|
||||
}
|
||||
|
||||
int getWeight() const
|
||||
{
|
||||
if (data->isType(Edge::EDGE_AGGREGATION))
|
||||
{
|
||||
return data->getComponent<TokenComponentAggregation>()->getAggregationCount();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
Id ownerId;
|
||||
Id targetId;
|
||||
|
||||
|
||||
@@ -15,11 +15,6 @@ CodeView::CodeSnippetParams::CodeSnippetParams()
|
||||
|
||||
bool CodeView::CodeSnippetParams::sort(const CodeSnippetParams& a, const CodeSnippetParams& b)
|
||||
{
|
||||
if(a.isActive && b.isActive)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// sort active snippet first
|
||||
if (a.isActive && !b.isActive)
|
||||
{
|
||||
@@ -40,6 +35,16 @@ bool CodeView::CodeSnippetParams::sort(const CodeSnippetParams& a, const CodeSni
|
||||
return false;
|
||||
}
|
||||
|
||||
// sort whole files
|
||||
if (a.locationFile->isWholeCopy && !b.locationFile->isWholeCopy)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (!a.locationFile->isWholeCopy && b.locationFile->isWholeCopy)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
const FilePath& aFilePath = a.locationFile->getFilePath();
|
||||
const FilePath& bFilePath = b.locationFile->getFilePath();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user