logic: Undoing file minimize, snippets and maximize actions
* MessageChangeFileView as single message for changing file state in the code view * Show code view after updates at once
This commit is contained in:
+1
-1
@@ -40,7 +40,7 @@ endif(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
message(STATUS "Git current branch: ${GIT_BRANCH}")
|
||||
message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}")
|
||||
message(STATUS "Git commit time: ${GIT_COMMIT_TIME}")
|
||||
message(STATUS "Git version number:" ${GIT_VERSION_NUMBER} )
|
||||
message(STATUS "Git version number: " ${GIT_VERSION_NUMBER} )
|
||||
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/version.h.in
|
||||
|
||||
@@ -220,6 +220,7 @@ add_files(
|
||||
utility/messaging/type/MessageActivateTokens.h
|
||||
utility/messaging/type/MessageActivateWindow.h
|
||||
utility/messaging/type/MessageAutoRefreshChanged.h
|
||||
utility/messaging/type/MessageChangeFileView.h
|
||||
utility/messaging/type/MessageDeactivateEdge.h
|
||||
utility/messaging/type/MessageFind.h
|
||||
utility/messaging/type/MessageFinishedParsing.h
|
||||
@@ -239,9 +240,7 @@ add_files(
|
||||
utility/messaging/type/MessageSearch.h
|
||||
utility/messaging/type/MessageSearchAutocomplete.h
|
||||
utility/messaging/type/MessageShowErrors.h
|
||||
utility/messaging/type/MessageShowFile.h
|
||||
utility/messaging/type/MessageShowScope.h
|
||||
utility/messaging/type/MessageShowSnippets.h
|
||||
utility/messaging/type/MessageStatus.h
|
||||
utility/messaging/type/MessageSwitchColorScheme.h
|
||||
utility/messaging/type/MessageUndo.h
|
||||
|
||||
@@ -78,18 +78,14 @@ void CodeController::handleMessage(MessageActivateAll* message)
|
||||
snippets.insert(snippets.begin(), statsSnippet);
|
||||
|
||||
CodeView* view = getView();
|
||||
view->setActiveTokenIds(std::vector<Id>());
|
||||
view->setErrorMessages(errorMessages);
|
||||
view->showCodeSnippets(snippets);
|
||||
view->showCodeSnippets(snippets, std::vector<Id>());
|
||||
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageActivateTokens* message)
|
||||
{
|
||||
if (message->keepContent() && message->isIgnorable())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<Id> activeTokenIds = message->tokenIds;
|
||||
Id declarationId = 0; // 0 means that no token is found.
|
||||
|
||||
@@ -100,42 +96,100 @@ void CodeController::handleMessage(MessageActivateTokens* message)
|
||||
// TODO: what about declarationId if more than 1 token is active? FIX THIS!
|
||||
|
||||
CodeView* view = getView();
|
||||
view->setActiveTokenIds(activeTokenIds);
|
||||
view->setErrorMessages(std::vector<std::string>());
|
||||
|
||||
if (message->isEdge)
|
||||
{
|
||||
view->showFirstActiveSnippet();
|
||||
view->showFirstActiveSnippet(activeTokenIds);
|
||||
}
|
||||
|
||||
if (message->keepContent())
|
||||
{
|
||||
view->showActiveTokenIds();
|
||||
return;
|
||||
view->showActiveTokenIds(activeTokenIds);
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenLocationCollection> collection = m_storageAccess->getTokenLocationsForTokenIds(activeTokenIds);
|
||||
view->showCodeSnippets(getSnippetsForActiveTokenLocations(collection.get(), declarationId));
|
||||
|
||||
if (!message->isFromSystem)
|
||||
else
|
||||
{
|
||||
size_t fileCount = collection->getTokenLocationFileCount();
|
||||
size_t referenceCount = collection->getTokenLocationCount();
|
||||
std::shared_ptr<TokenLocationCollection> collection = m_storageAccess->getTokenLocationsForTokenIds(activeTokenIds);
|
||||
view->showCodeSnippets(getSnippetsForActiveTokenLocations(collection.get(), declarationId), activeTokenIds);
|
||||
|
||||
std::stringstream ss;
|
||||
ss << message->tokenIds.size() << ' ';
|
||||
ss << (message->tokenIds.size() == 1 ? "result" : "results");
|
||||
|
||||
if (fileCount > 0)
|
||||
if (!message->isFromSystem)
|
||||
{
|
||||
ss << " with " << referenceCount << ' ';
|
||||
ss << (referenceCount == 1 ? "reference" : "references");
|
||||
ss << " in " << fileCount << ' ';
|
||||
ss << (fileCount == 1 ? "file" : "files");
|
||||
}
|
||||
size_t fileCount = collection->getTokenLocationFileCount();
|
||||
size_t referenceCount = collection->getTokenLocationCount();
|
||||
|
||||
MessageStatus(ss.str()).dispatch();
|
||||
std::stringstream ss;
|
||||
ss << message->tokenIds.size() << ' ';
|
||||
ss << (message->tokenIds.size() == 1 ? "result" : "results");
|
||||
|
||||
if (fileCount > 0)
|
||||
{
|
||||
ss << " with " << referenceCount << ' ';
|
||||
ss << (referenceCount == 1 ? "reference" : "references");
|
||||
ss << " in " << fileCount << ' ';
|
||||
ss << (fileCount == 1 ? "file" : "files");
|
||||
}
|
||||
|
||||
MessageStatus(ss.str()).dispatch();
|
||||
}
|
||||
}
|
||||
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageChangeFileView* message)
|
||||
{
|
||||
CodeView* view = getView();
|
||||
|
||||
switch (message->state)
|
||||
{
|
||||
case MessageChangeFileView::FILE_MINIMIZED:
|
||||
view->setFileState(message->filePath, CodeView::FILE_MINIMIZED);
|
||||
break;
|
||||
|
||||
case MessageChangeFileView::FILE_SNIPPETS:
|
||||
if (message->needsData)
|
||||
{
|
||||
view->addCodeSnippets(getSnippetsForActiveTokenLocationsInFile(message->locationFile), false);
|
||||
}
|
||||
view->setFileState(message->filePath, CodeView::FILE_SNIPPETS);
|
||||
break;
|
||||
|
||||
case MessageChangeFileView::FILE_MAXIMIZED:
|
||||
if (message->needsData)
|
||||
{
|
||||
CodeView::CodeSnippetParams params;
|
||||
params.startLineNumber = 0;
|
||||
params.endLineNumber = 0;
|
||||
|
||||
std::shared_ptr<TextAccess> textAccess = m_storageAccess->getFileContent(message->filePath);
|
||||
params.code = textAccess->getText();
|
||||
|
||||
params.modificationTime = m_storageAccess->getFileModificationTime(message->filePath);
|
||||
|
||||
if (message->showErrors)
|
||||
{
|
||||
std::vector<std::string> errorMessages;
|
||||
TokenLocationCollection errorCollection = m_storageAccess->getErrorTokenLocations(&errorMessages);
|
||||
params.locationFile = std::make_shared<TokenLocationFile>(*errorCollection.findTokenLocationFileByPath(message->filePath));
|
||||
params.locationFile->isWholeCopy = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
params.locationFile = m_storageAccess->getTokenLocationsForFile(message->filePath.str());
|
||||
}
|
||||
|
||||
getView()->showCodeFile(params);
|
||||
}
|
||||
view->setFileState(message->filePath, CodeView::FILE_MAXIMIZED);
|
||||
break;
|
||||
}
|
||||
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageFlushUpdates* message)
|
||||
{
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageFocusIn* message)
|
||||
@@ -154,35 +208,10 @@ void CodeController::handleMessage(MessageShowErrors* message)
|
||||
std::vector<CodeView::CodeSnippetParams> snippets = getSnippetsForErrorLocations(&errorMessages);
|
||||
|
||||
CodeView* view = getView();
|
||||
view->setActiveTokenIds(std::vector<Id>());
|
||||
view->setErrorMessages(errorMessages);
|
||||
view->showCodeSnippets(snippets);
|
||||
}
|
||||
view->showCodeSnippets(snippets, std::vector<Id>());
|
||||
|
||||
void CodeController::handleMessage(MessageShowFile* message)
|
||||
{
|
||||
CodeView::CodeSnippetParams params;
|
||||
params.startLineNumber = 0;
|
||||
params.endLineNumber = 0;
|
||||
|
||||
std::shared_ptr<TextAccess> textAccess = m_storageAccess->getFileContent(message->filePath);
|
||||
params.code = textAccess->getText();
|
||||
|
||||
params.modificationTime = m_storageAccess->getFileModificationTime(message->filePath);
|
||||
|
||||
if (message->showErrors)
|
||||
{
|
||||
std::vector<std::string> errorMessages;
|
||||
TokenLocationCollection errorCollection = m_storageAccess->getErrorTokenLocations(&errorMessages);
|
||||
params.locationFile = std::make_shared<TokenLocationFile>(*errorCollection.findTokenLocationFileByPath(message->filePath));
|
||||
params.locationFile->isWholeCopy = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
params.locationFile = m_storageAccess->getTokenLocationsForFile(message->filePath.str());
|
||||
}
|
||||
|
||||
getView()->showCodeFile(params);
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageShowScope* message)
|
||||
@@ -206,11 +235,8 @@ void CodeController::handleMessage(MessageShowScope* message)
|
||||
}
|
||||
|
||||
getView()->addCodeSnippets(snippets, true);
|
||||
}
|
||||
|
||||
void CodeController::handleMessage(MessageShowSnippets* message)
|
||||
{
|
||||
getView()->addCodeSnippets(getSnippetsForActiveTokenLocationsInFile(message->locationFile), false);
|
||||
showContents(message);
|
||||
}
|
||||
|
||||
CodeView* CodeController::getView()
|
||||
@@ -218,6 +244,14 @@ CodeView* CodeController::getView()
|
||||
return Controller::getView<CodeView>();
|
||||
}
|
||||
|
||||
void CodeController::showContents(MessageBase* message)
|
||||
{
|
||||
if (message->undoRedoType == MessageBase::UNDOTYPE_NORMAL)
|
||||
{
|
||||
getView()->showContents();
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<CodeView::CodeSnippetParams> CodeController::getSnippetsForActiveTokenLocations(
|
||||
const TokenLocationCollection* collection, Id declarationId
|
||||
) const {
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
#include "utility/messaging/MessageListener.h"
|
||||
#include "utility/messaging/type/MessageActivateAll.h"
|
||||
#include "utility/messaging/type/MessageActivateTokens.h"
|
||||
#include "utility/messaging/type/MessageChangeFileView.h"
|
||||
#include "utility/messaging/type/MessageFlushUpdates.h"
|
||||
#include "utility/messaging/type/MessageFocusIn.h"
|
||||
#include "utility/messaging/type/MessageFocusOut.h"
|
||||
#include "utility/messaging/type/MessageShowErrors.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/messaging/type/MessageShowScope.h"
|
||||
#include "utility/messaging/type/MessageShowSnippets.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
#include "component/controller/helper/SnippetMerger.h"
|
||||
@@ -27,12 +27,12 @@ class CodeController
|
||||
: public Controller
|
||||
, public MessageListener<MessageActivateAll>
|
||||
, public MessageListener<MessageActivateTokens>
|
||||
, public MessageListener<MessageChangeFileView>
|
||||
, public MessageListener<MessageFlushUpdates>
|
||||
, public MessageListener<MessageFocusIn>
|
||||
, public MessageListener<MessageFocusOut>
|
||||
, public MessageListener<MessageShowErrors>
|
||||
, public MessageListener<MessageShowFile>
|
||||
, public MessageListener<MessageShowScope>
|
||||
, public MessageListener<MessageShowSnippets>
|
||||
{
|
||||
public:
|
||||
CodeController(StorageAccess* storageAccess);
|
||||
@@ -43,14 +43,15 @@ private:
|
||||
|
||||
virtual void handleMessage(MessageActivateAll* message);
|
||||
virtual void handleMessage(MessageActivateTokens* message);
|
||||
virtual void handleMessage(MessageChangeFileView* message);
|
||||
virtual void handleMessage(MessageFlushUpdates* message);
|
||||
virtual void handleMessage(MessageFocusIn* message);
|
||||
virtual void handleMessage(MessageFocusOut* message);
|
||||
virtual void handleMessage(MessageShowErrors* message);
|
||||
virtual void handleMessage(MessageShowFile* message);
|
||||
virtual void handleMessage(MessageShowScope* message);
|
||||
virtual void handleMessage(MessageShowSnippets* message);
|
||||
|
||||
CodeView* getView();
|
||||
void showContents(MessageBase* message);
|
||||
|
||||
std::vector<CodeView::CodeSnippetParams> getSnippetsForActiveTokenLocations(
|
||||
const TokenLocationCollection* collection, Id declarationId) const;
|
||||
|
||||
@@ -79,6 +79,12 @@ void UndoRedoController::handleMessage(MessageActivateTokenIds* message)
|
||||
processCommand(command);
|
||||
}
|
||||
|
||||
void UndoRedoController::handleMessage(MessageChangeFileView* message)
|
||||
{
|
||||
Command command(std::make_shared<MessageChangeFileView>(*message), 1);
|
||||
processCommand(command);
|
||||
}
|
||||
|
||||
void UndoRedoController::handleMessage(MessageDeactivateEdge* message)
|
||||
{
|
||||
MessageBase* m = nullptr;
|
||||
@@ -205,18 +211,6 @@ void UndoRedoController::handleMessage(MessageShowErrors* message)
|
||||
processCommand(command);
|
||||
}
|
||||
|
||||
void UndoRedoController::handleMessage(MessageShowFile* message)
|
||||
{
|
||||
if (m_lastCommand.message && m_lastCommand.message->getType() == message->getType() &&
|
||||
static_cast<MessageShowFile*>(m_lastCommand.message.get())->filePath == message->filePath)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Command command(std::make_shared<MessageShowFile>(*message), 1);
|
||||
processCommand(command);
|
||||
}
|
||||
|
||||
void UndoRedoController::handleMessage(MessageShowScope* message)
|
||||
{
|
||||
Command command(std::make_shared<MessageShowScope>(*message), 1);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "utility/messaging/type/MessageActivateFile.h"
|
||||
#include "utility/messaging/type/MessageActivateNodes.h"
|
||||
#include "utility/messaging/type/MessageActivateTokenIds.h"
|
||||
#include "utility/messaging/type/MessageChangeFileView.h"
|
||||
#include "utility/messaging/type/MessageDeactivateEdge.h"
|
||||
#include "utility/messaging/type/MessageGraphNodeBundleSplit.h"
|
||||
#include "utility/messaging/type/MessageGraphNodeExpand.h"
|
||||
@@ -18,7 +19,6 @@
|
||||
#include "utility/messaging/type/MessageRefresh.h"
|
||||
#include "utility/messaging/type/MessageSearch.h"
|
||||
#include "utility/messaging/type/MessageShowErrors.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/messaging/type/MessageShowScope.h"
|
||||
#include "utility/messaging/type/MessageUndo.h"
|
||||
|
||||
@@ -34,6 +34,7 @@ class UndoRedoController
|
||||
, public MessageListener<MessageActivateFile>
|
||||
, public MessageListener<MessageActivateNodes>
|
||||
, public MessageListener<MessageActivateTokenIds>
|
||||
, public MessageListener<MessageChangeFileView>
|
||||
, public MessageListener<MessageDeactivateEdge>
|
||||
, public MessageListener<MessageGraphNodeBundleSplit>
|
||||
, public MessageListener<MessageGraphNodeExpand>
|
||||
@@ -43,7 +44,6 @@ class UndoRedoController
|
||||
, public MessageListener<MessageRefresh>
|
||||
, public MessageListener<MessageSearch>
|
||||
, public MessageListener<MessageShowErrors>
|
||||
, public MessageListener<MessageShowFile>
|
||||
, public MessageListener<MessageShowScope>
|
||||
, public MessageListener<MessageUndo>
|
||||
{
|
||||
@@ -66,6 +66,7 @@ private:
|
||||
virtual void handleMessage(MessageActivateFile* message);
|
||||
virtual void handleMessage(MessageActivateNodes* message);
|
||||
virtual void handleMessage(MessageActivateTokenIds* message);
|
||||
virtual void handleMessage(MessageChangeFileView* message);
|
||||
virtual void handleMessage(MessageDeactivateEdge* message);
|
||||
virtual void handleMessage(MessageGraphNodeBundleSplit* message);
|
||||
virtual void handleMessage(MessageGraphNodeExpand* message);
|
||||
@@ -75,7 +76,6 @@ private:
|
||||
virtual void handleMessage(MessageRefresh* message);
|
||||
virtual void handleMessage(MessageSearch* message);
|
||||
virtual void handleMessage(MessageShowErrors* message);
|
||||
virtual void handleMessage(MessageShowFile* message);
|
||||
virtual void handleMessage(MessageShowScope* message);
|
||||
virtual void handleMessage(MessageUndo* message);
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
#include "utility/messaging/type/MessageActivateNodes.h"
|
||||
#include "utility/messaging/type/MessageActivateTokenIds.h"
|
||||
#include "utility/messaging/type/MessageActivateTokens.h"
|
||||
#include "utility/messaging/type/MessageChangeFileView.h"
|
||||
#include "utility/messaging/type/MessageSearch.h"
|
||||
#include "utility/messaging/type/MessageShowErrors.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
|
||||
ActivationTranslator::ActivationTranslator(StorageAccess* storageAccess)
|
||||
: m_storageAccess(storageAccess)
|
||||
@@ -58,7 +58,13 @@ std::shared_ptr<MessageActivateTokens> ActivationTranslator::translateMessage(co
|
||||
|
||||
if (fileId == 0)
|
||||
{
|
||||
MessageShowFile msg(message->filePath, true);
|
||||
MessageChangeFileView msg(
|
||||
message->filePath,
|
||||
MessageChangeFileView::FILE_MAXIMIZED,
|
||||
true,
|
||||
false,
|
||||
nullptr
|
||||
);
|
||||
msg.undoRedoType = message->undoRedoType;
|
||||
msg.setKeepContent(message->keepContent());
|
||||
msg.dispatch();
|
||||
|
||||
@@ -13,6 +13,13 @@ class CodeController;
|
||||
class CodeView: public View
|
||||
{
|
||||
public:
|
||||
enum FileState
|
||||
{
|
||||
FILE_MINIMIZED,
|
||||
FILE_SNIPPETS,
|
||||
FILE_MAXIMIZED
|
||||
};
|
||||
|
||||
struct CodeSnippetParams
|
||||
{
|
||||
CodeSnippetParams();
|
||||
@@ -46,16 +53,20 @@ public:
|
||||
virtual void setActiveTokenIds(const std::vector<Id>& activeTokenIds) = 0;
|
||||
virtual void setErrorMessages(const std::vector<std::string>& errorMessages) = 0;
|
||||
|
||||
virtual void showCodeSnippets(const std::vector<CodeSnippetParams>& snippets) = 0;
|
||||
virtual void showCodeSnippets(const std::vector<CodeSnippetParams>& snippets, const std::vector<Id>& activeTokenIds) = 0;
|
||||
virtual void addCodeSnippets(const std::vector<CodeSnippetParams>& snippets, bool insert) = 0;
|
||||
virtual void showCodeFile(const CodeSnippetParams& params) = 0;
|
||||
|
||||
virtual void showFirstActiveSnippet() = 0;
|
||||
virtual void showActiveTokenIds() = 0;
|
||||
virtual void setFileState(const FilePath filePath, FileState state) = 0;
|
||||
|
||||
virtual void showFirstActiveSnippet(const std::vector<Id>& activeTokenIds) = 0;
|
||||
virtual void showActiveTokenIds(const std::vector<Id>& activeTokenIds) = 0;
|
||||
|
||||
virtual void focusTokenIds(const std::vector<Id>& focusedTokenIds) = 0;
|
||||
virtual void defocusTokenIds() = 0;
|
||||
|
||||
virtual void showContents() = 0;
|
||||
|
||||
private:
|
||||
CodeController* getController();
|
||||
};
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
#ifndef MESSAGE_CHANGE_FILE_VIEW_H
|
||||
#define MESSAGE_CHANGE_FILE_VIEW_H
|
||||
|
||||
#include "utility/messaging/Message.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
|
||||
class MessageChangeFileView
|
||||
: public Message<MessageChangeFileView>
|
||||
{
|
||||
public:
|
||||
enum FileState
|
||||
{
|
||||
FILE_MINIMIZED,
|
||||
FILE_SNIPPETS,
|
||||
FILE_MAXIMIZED
|
||||
};
|
||||
|
||||
MessageChangeFileView(
|
||||
const FilePath filePath,
|
||||
FileState state,
|
||||
bool needsData,
|
||||
bool showErrors,
|
||||
std::shared_ptr<TokenLocationFile> locationFile
|
||||
)
|
||||
: filePath(filePath)
|
||||
, state(state)
|
||||
, needsData(needsData)
|
||||
, showErrors(showErrors)
|
||||
, locationFile(locationFile)
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageChangeFileView";
|
||||
}
|
||||
|
||||
virtual void print(std::ostream& os) const
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case FILE_MINIMIZED: os << "minimize"; break;
|
||||
case FILE_SNIPPETS: os << "snippets"; break;
|
||||
case FILE_MAXIMIZED: os << "maximize"; break;
|
||||
}
|
||||
|
||||
if (needsData)
|
||||
{
|
||||
os << ", needs data";
|
||||
}
|
||||
}
|
||||
|
||||
FilePath filePath;
|
||||
FileState state;
|
||||
|
||||
bool needsData;
|
||||
bool showErrors;
|
||||
|
||||
std::shared_ptr<TokenLocationFile> locationFile;
|
||||
};
|
||||
|
||||
#endif // MESSAGE_CHANGE_FILE_VIEW_H
|
||||
@@ -1,32 +0,0 @@
|
||||
#ifndef MESSAGE_SHOW_FILE_H
|
||||
#define MESSAGE_SHOW_FILE_H
|
||||
|
||||
#include "utility/file/FilePath.h"
|
||||
#include "utility/messaging/Message.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
class MessageShowFile
|
||||
: public Message<MessageShowFile>
|
||||
{
|
||||
public:
|
||||
MessageShowFile(const FilePath& filePath, bool showErrors)
|
||||
: filePath(filePath)
|
||||
, showErrors(showErrors)
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageShowFile";
|
||||
}
|
||||
|
||||
virtual void print(std::ostream& os) const
|
||||
{
|
||||
os << filePath.str();
|
||||
}
|
||||
|
||||
const FilePath filePath;
|
||||
const bool showErrors;
|
||||
};
|
||||
|
||||
#endif // MESSAGE_SHOW_FILE_H
|
||||
@@ -1,31 +0,0 @@
|
||||
#ifndef MESSAGE_SHOW_SNIPPETS_H
|
||||
#define MESSAGE_SHOW_SNIPPETS_H
|
||||
|
||||
#include "utility/messaging/Message.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
|
||||
class MessageShowSnippets
|
||||
: public Message<MessageShowSnippets>
|
||||
{
|
||||
public:
|
||||
MessageShowSnippets(std::shared_ptr<TokenLocationFile> locationFile)
|
||||
: locationFile(locationFile)
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageShowSnippets";
|
||||
}
|
||||
|
||||
virtual void print(std::ostream& os) const
|
||||
{
|
||||
os << locationFile->getFilePath().str();
|
||||
}
|
||||
|
||||
std::shared_ptr<TokenLocationFile> locationFile;
|
||||
};
|
||||
|
||||
#endif // MESSAGE_SHOW_SNIPPETS_H
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
#include "utility/messaging/type/MessageActivateTokenLocations.h"
|
||||
#include "utility/messaging/type/MessageActivateTokenIds.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/messaging/type/MessageFocusIn.h"
|
||||
#include "utility/messaging/type/MessageFocusOut.h"
|
||||
#include "utility/messaging/type/MessageMoveIDECursor.h"
|
||||
@@ -436,14 +435,6 @@ void QtCodeArea::mouseReleaseEvent(QMouseEvent* event)
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeArea::mouseDoubleClickEvent(QMouseEvent* event)
|
||||
{
|
||||
if (event->button() == Qt::LeftButton && m_fileWidget->getFilePath().str().size())
|
||||
{
|
||||
MessageShowFile(m_fileWidget->getFilePath().str(), (m_fileWidget->getErrorMessages().size() > 0)).dispatch();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeArea::mouseMoveEvent(QMouseEvent* event)
|
||||
{
|
||||
if (m_panningValue != -1)
|
||||
|
||||
@@ -94,7 +94,6 @@ protected:
|
||||
virtual void enterEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void leaveEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void mouseReleaseEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void mouseDoubleClickEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void mousePressEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void mouseMoveEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
#include "utility/file/FileSystem.h"
|
||||
#include "utility/logging/logging.h"
|
||||
#include "utility/messaging/type/MessageActivateFile.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/messaging/type/MessageShowSnippets.h"
|
||||
#include "utility/messaging/type/MessageChangeFileView.h"
|
||||
|
||||
#include "data/location/TokenLocation.h"
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
@@ -23,6 +22,7 @@ QtCodeFile::QtCodeFile(const FilePath& filePath, QtCodeFileList* parent)
|
||||
, m_updateTitleBarFunctor(std::bind(&QtCodeFile::doUpdateTitleBar, this))
|
||||
, m_parent(parent)
|
||||
, m_filePath(filePath)
|
||||
, m_snippetsRequested(false)
|
||||
{
|
||||
setObjectName("code_file");
|
||||
|
||||
@@ -173,7 +173,7 @@ void QtCodeFile::addCodeSnippet(
|
||||
m_fileSnippet->setIsActiveFile(true);
|
||||
}
|
||||
|
||||
clickedMaximizeButton();
|
||||
setMaximized();
|
||||
if (refCount != -1)
|
||||
{
|
||||
updateRefCount(0);
|
||||
@@ -284,7 +284,7 @@ bool QtCodeFile::openCollapsedActiveSnippet() const
|
||||
|
||||
if (isActiveFile)
|
||||
{
|
||||
MessageShowSnippets(m_locationFile).dispatch();
|
||||
showSnippets();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -308,11 +308,74 @@ void QtCodeFile::updateContent()
|
||||
void QtCodeFile::setLocationFile(std::shared_ptr<TokenLocationFile> locationFile, int refCount)
|
||||
{
|
||||
m_locationFile = locationFile;
|
||||
clickedMinimizeButton();
|
||||
setMinimized();
|
||||
|
||||
updateRefCount(refCount);
|
||||
}
|
||||
|
||||
void QtCodeFile::setMinimized()
|
||||
{
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->hide();
|
||||
}
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->hide();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(false);
|
||||
if (m_snippets.size() || m_locationFile)
|
||||
{
|
||||
m_snippetButton->setEnabled(true);
|
||||
}
|
||||
m_maximizeButton->setEnabled(true);
|
||||
|
||||
m_minimizePlaceholder->show();
|
||||
}
|
||||
|
||||
void QtCodeFile::setSnippets()
|
||||
{
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->show();
|
||||
}
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->hide();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(true);
|
||||
m_snippetButton->setEnabled(false);
|
||||
m_maximizeButton->setEnabled(true);
|
||||
|
||||
m_minimizePlaceholder->hide();
|
||||
}
|
||||
|
||||
void QtCodeFile::setMaximized()
|
||||
{
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->hide();
|
||||
}
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->show();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(true);
|
||||
if (m_snippets.size())
|
||||
{
|
||||
m_snippetButton->setEnabled(true);
|
||||
}
|
||||
m_maximizeButton->setEnabled(false);
|
||||
|
||||
m_minimizePlaceholder->hide();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedTitleBar()
|
||||
{
|
||||
if (m_minimizeButton->isEnabled())
|
||||
@@ -334,77 +397,57 @@ void QtCodeFile::clickedTitle()
|
||||
MessageActivateFile(m_filePath).dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedMinimizeButton()
|
||||
void QtCodeFile::clickedMinimizeButton() const
|
||||
{
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->hide();
|
||||
}
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->hide();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(false);
|
||||
if (m_snippets.size() || m_locationFile)
|
||||
{
|
||||
m_snippetButton->setEnabled(true);
|
||||
}
|
||||
m_maximizeButton->setEnabled(true);
|
||||
|
||||
m_minimizePlaceholder->show();
|
||||
MessageChangeFileView(
|
||||
m_filePath,
|
||||
MessageChangeFileView::FILE_MINIMIZED,
|
||||
false,
|
||||
false,
|
||||
nullptr
|
||||
).dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedSnippetButton()
|
||||
void QtCodeFile::clickedSnippetButton() const
|
||||
{
|
||||
if (m_locationFile)
|
||||
MessageChangeFileView(
|
||||
m_filePath,
|
||||
MessageChangeFileView::FILE_SNIPPETS,
|
||||
(m_locationFile != nullptr),
|
||||
false,
|
||||
m_locationFile
|
||||
).dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedMaximizeButton() const
|
||||
{
|
||||
MessageChangeFileView(
|
||||
m_filePath,
|
||||
MessageChangeFileView::FILE_MAXIMIZED,
|
||||
(m_fileSnippet == nullptr),
|
||||
false,
|
||||
nullptr
|
||||
).dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::showSnippets() const
|
||||
{
|
||||
if (m_snippetsRequested)
|
||||
{
|
||||
MessageShowSnippets(m_locationFile).dispatch();
|
||||
return;
|
||||
}
|
||||
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->show();
|
||||
}
|
||||
m_snippetsRequested = true;
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->hide();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(true);
|
||||
m_snippetButton->setEnabled(false);
|
||||
m_maximizeButton->setEnabled(true);
|
||||
|
||||
m_minimizePlaceholder->hide();
|
||||
}
|
||||
|
||||
void QtCodeFile::clickedMaximizeButton()
|
||||
{
|
||||
for (std::shared_ptr<QtCodeSnippet> snippet : m_snippets)
|
||||
{
|
||||
snippet->hide();
|
||||
}
|
||||
|
||||
if (m_fileSnippet)
|
||||
{
|
||||
m_fileSnippet->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageShowFile(m_filePath, (getErrorMessages().size() > 0)).dispatch();
|
||||
}
|
||||
|
||||
m_minimizeButton->setEnabled(true);
|
||||
if (m_snippets.size())
|
||||
{
|
||||
m_snippetButton->setEnabled(true);
|
||||
}
|
||||
m_maximizeButton->setEnabled(false);
|
||||
|
||||
m_minimizePlaceholder->hide();
|
||||
MessageChangeFileView msg(
|
||||
m_filePath,
|
||||
MessageChangeFileView::FILE_SNIPPETS,
|
||||
(m_locationFile != nullptr),
|
||||
false,
|
||||
m_locationFile
|
||||
);
|
||||
msg.undoRedoType = MessageBase::UNDOTYPE_IGNORE;
|
||||
msg.dispatch();
|
||||
}
|
||||
|
||||
void QtCodeFile::handleMessage(MessageWindowFocus* message)
|
||||
@@ -431,7 +474,7 @@ void QtCodeFile::updateSnippets()
|
||||
m_snippets.front()->setProperty("isFirst", true);
|
||||
m_snippets.back()->setProperty("isLast", true);
|
||||
|
||||
clickedSnippetButton();
|
||||
setSnippets();
|
||||
}
|
||||
|
||||
void QtCodeFile::updateRefCount(int refCount)
|
||||
|
||||
@@ -65,14 +65,20 @@ public:
|
||||
|
||||
void setLocationFile(std::shared_ptr<TokenLocationFile> locationFile, int refCount);
|
||||
|
||||
void setMinimized();
|
||||
void setSnippets();
|
||||
void setMaximized();
|
||||
|
||||
void showSnippets() const;
|
||||
|
||||
public slots:
|
||||
void clickedSnippetButton();
|
||||
void clickedMinimizeButton() const;
|
||||
void clickedSnippetButton() const;
|
||||
void clickedMaximizeButton() const;
|
||||
|
||||
private slots:
|
||||
void clickedTitleBar();
|
||||
void clickedTitle();
|
||||
void clickedMinimizeButton();
|
||||
void clickedMaximizeButton();
|
||||
|
||||
private:
|
||||
virtual void handleMessage(MessageWindowFocus* message);
|
||||
@@ -101,7 +107,9 @@ private:
|
||||
|
||||
const FilePath m_filePath;
|
||||
TimePoint m_modificationTime;
|
||||
|
||||
std::shared_ptr<TokenLocationFile> m_locationFile;
|
||||
mutable bool m_snippetsRequested;
|
||||
};
|
||||
|
||||
#endif // QT_CODE_FILE_H
|
||||
|
||||
@@ -50,7 +50,7 @@ void QtCodeFileList::addCodeSnippet(
|
||||
TimePoint modificationTime,
|
||||
bool insert
|
||||
){
|
||||
QtCodeFile* file = getFile(locationFile);
|
||||
QtCodeFile* file = getFile(locationFile->getFilePath());
|
||||
|
||||
if (insert)
|
||||
{
|
||||
@@ -66,7 +66,7 @@ void QtCodeFileList::addCodeSnippet(
|
||||
|
||||
void QtCodeFileList::addFile(std::shared_ptr<TokenLocationFile> locationFile, int refCount, TimePoint modificationTime)
|
||||
{
|
||||
QtCodeFile* file = getFile(locationFile);
|
||||
QtCodeFile* file = getFile(locationFile->getFilePath());
|
||||
file->setLocationFile(locationFile, refCount);
|
||||
file->setModificationTime(modificationTime);
|
||||
}
|
||||
@@ -124,7 +124,7 @@ bool QtCodeFileList::scrollToFirstActiveSnippet()
|
||||
{
|
||||
if (!snippet->isVisible())
|
||||
{
|
||||
file->clickedSnippetButton();
|
||||
file->showSnippets();
|
||||
}
|
||||
|
||||
emit shouldScrollToSnippet(snippet);
|
||||
@@ -158,14 +158,48 @@ void QtCodeFileList::defocusTokenIds()
|
||||
updateFiles();
|
||||
}
|
||||
|
||||
void QtCodeFileList::setFileMinimized(const FilePath path)
|
||||
{
|
||||
QtCodeFile* file = getFile(path);
|
||||
if (file)
|
||||
{
|
||||
file->setMinimized();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeFileList::setFileSnippets(const FilePath path)
|
||||
{
|
||||
QtCodeFile* file = getFile(path);
|
||||
if (file)
|
||||
{
|
||||
file->setSnippets();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeFileList::setFileMaximized(const FilePath path)
|
||||
{
|
||||
QtCodeFile* file = getFile(path);
|
||||
if (file)
|
||||
{
|
||||
file->setMaximized();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeFileList::showContents()
|
||||
{
|
||||
for (std::shared_ptr<QtCodeFile> filePtr : m_files)
|
||||
{
|
||||
filePtr->show();
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeFileList::scrollToSnippet(QtCodeSnippet* snippet)
|
||||
{
|
||||
this->ensureWidgetVisibleAnimated(snippet, snippet->getFirstActiveLineRect());
|
||||
}
|
||||
|
||||
QtCodeFile* QtCodeFileList::getFile(std::shared_ptr<TokenLocationFile> locationFile)
|
||||
QtCodeFile* QtCodeFileList::getFile(const FilePath filePath)
|
||||
{
|
||||
FilePath filePath = locationFile->getFilePath();
|
||||
QtCodeFile* file = nullptr;
|
||||
|
||||
for (std::shared_ptr<QtCodeFile> filePtr : m_files)
|
||||
@@ -179,11 +213,13 @@ QtCodeFile* QtCodeFileList::getFile(std::shared_ptr<TokenLocationFile> locationF
|
||||
|
||||
if (!file)
|
||||
{
|
||||
std::shared_ptr<QtCodeFile> filePtr = std::make_shared<QtCodeFile>(locationFile->getFilePath(), this);
|
||||
std::shared_ptr<QtCodeFile> filePtr = std::make_shared<QtCodeFile>(filePath, this);
|
||||
m_files.push_back(filePtr);
|
||||
|
||||
file = filePtr.get();
|
||||
m_frame->layout()->addWidget(file);
|
||||
|
||||
file->hide();
|
||||
}
|
||||
|
||||
return file;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <QFrame>
|
||||
#include <QScrollArea>
|
||||
|
||||
#include "utility/file/FilePath.h"
|
||||
#include "utility/TimePoint.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
@@ -60,11 +61,17 @@ public:
|
||||
void focusTokenIds(const std::vector<Id>& focusedTokenIds);
|
||||
void defocusTokenIds();
|
||||
|
||||
void setFileMinimized(const FilePath path);
|
||||
void setFileSnippets(const FilePath path);
|
||||
void setFileMaximized(const FilePath path);
|
||||
|
||||
void showContents();
|
||||
|
||||
private slots:
|
||||
void scrollToSnippet(QtCodeSnippet* snippet);
|
||||
|
||||
private:
|
||||
QtCodeFile* getFile(std::shared_ptr<TokenLocationFile> locationFile);
|
||||
QtCodeFile* getFile(const FilePath filePath);
|
||||
|
||||
void updateFiles();
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include <QPushButton>
|
||||
|
||||
#include "utility/messaging/type/MessageShowScope.h"
|
||||
#include "utility/messaging/type/MessageShowFile.h"
|
||||
#include "utility/text/TextAccess.h"
|
||||
|
||||
#include "data/location/TokenLocationFile.h"
|
||||
@@ -160,11 +159,11 @@ std::string QtCodeSnippet::getCode() const
|
||||
|
||||
void QtCodeSnippet::contextMenuEvent(QContextMenuEvent* event)
|
||||
{
|
||||
QMenu menu(this);
|
||||
menu.addAction(new QAction("Bar", this));
|
||||
menu.addAction(new QAction("Brew Tea", this));
|
||||
menu.addAction(new QAction("Translate", this));
|
||||
menu.exec(event->globalPos());
|
||||
// QMenu menu(this);
|
||||
// menu.addAction(new QAction("Bar", this));
|
||||
// menu.addAction(new QAction("Brew Tea", this));
|
||||
// menu.addAction(new QAction("Translate", this));
|
||||
// menu.exec(event->globalPos());
|
||||
}
|
||||
|
||||
void QtCodeSnippet::clickedTitle()
|
||||
@@ -175,7 +174,7 @@ void QtCodeSnippet::clickedTitle()
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageShowFile(FilePath(m_titleString), (dynamic_cast<QtCodeFile*>(parent())->getErrorMessages().size() > 0)).dispatch();
|
||||
dynamic_cast<QtCodeFile*>(parent())->clickedMaximizeButton();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,13 +12,15 @@
|
||||
QtCodeView::QtCodeView(ViewLayout* viewLayout)
|
||||
: CodeView(viewLayout)
|
||||
, m_refreshViewFunctor(std::bind(&QtCodeView::doRefreshView, this))
|
||||
, m_showCodeSnippetsFunctor(std::bind(&QtCodeView::doShowCodeSnippets, this, std::placeholders::_1))
|
||||
, m_showCodeSnippetsFunctor(std::bind(&QtCodeView::doShowCodeSnippets, this, std::placeholders::_1, std::placeholders::_2))
|
||||
, m_addCodeSnippetsFunctor(std::bind(&QtCodeView::doAddCodeSnippets, this, std::placeholders::_1, std::placeholders::_2))
|
||||
, m_showCodeFileFunctor(std::bind(&QtCodeView::doShowCodeFile, this, std::placeholders::_1))
|
||||
, m_doShowFirstActiveSnippetFunctor(std::bind(&QtCodeView::doShowFirstActiveSnippet, this))
|
||||
, m_doShowActiveTokenIdsFunctor(std::bind(&QtCodeView::doShowActiveTokenIds, this))
|
||||
, m_setFileStateFunctor(std::bind(&QtCodeView::doSetFileState, this, std::placeholders::_1, std::placeholders::_2))
|
||||
, m_doShowFirstActiveSnippetFunctor(std::bind(&QtCodeView::doShowFirstActiveSnippet, this, std::placeholders::_1))
|
||||
, m_doShowActiveTokenIdsFunctor(std::bind(&QtCodeView::doShowActiveTokenIds, this, std::placeholders::_1))
|
||||
, m_focusTokenIdsFunctor(std::bind(&QtCodeView::doFocusTokenIds, this, std::placeholders::_1))
|
||||
, m_defocusTokenIdsFunctor(std::bind(&QtCodeView::doDefocusTokenIds, this))
|
||||
, m_showContentsFunctor(std::bind(&QtCodeView::doShowContents, this))
|
||||
, m_isExpanding(false)
|
||||
{
|
||||
m_widget = new QtCodeFileList();
|
||||
@@ -53,9 +55,9 @@ void QtCodeView::setErrorMessages(const std::vector<std::string>& errorMessages)
|
||||
m_errorMessages = errorMessages;
|
||||
}
|
||||
|
||||
void QtCodeView::showCodeSnippets(const std::vector<CodeSnippetParams>& snippets)
|
||||
void QtCodeView::showCodeSnippets(const std::vector<CodeSnippetParams>& snippets, const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_showCodeSnippetsFunctor(snippets);
|
||||
m_showCodeSnippetsFunctor(snippets, activeTokenIds);
|
||||
}
|
||||
|
||||
void QtCodeView::addCodeSnippets(const std::vector<CodeSnippetParams>& snippets, bool insert)
|
||||
@@ -68,14 +70,19 @@ void QtCodeView::showCodeFile(const CodeSnippetParams& params)
|
||||
m_showCodeFileFunctor(params);
|
||||
}
|
||||
|
||||
void QtCodeView::showFirstActiveSnippet()
|
||||
void QtCodeView::setFileState(const FilePath filePath, FileState state)
|
||||
{
|
||||
m_doShowFirstActiveSnippetFunctor();
|
||||
m_setFileStateFunctor(filePath, state);
|
||||
}
|
||||
|
||||
void QtCodeView::showActiveTokenIds()
|
||||
void QtCodeView::showFirstActiveSnippet(const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_doShowActiveTokenIdsFunctor();
|
||||
m_doShowFirstActiveSnippetFunctor(activeTokenIds);
|
||||
}
|
||||
|
||||
void QtCodeView::showActiveTokenIds(const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_doShowActiveTokenIdsFunctor(activeTokenIds);
|
||||
}
|
||||
|
||||
void QtCodeView::focusTokenIds(const std::vector<Id>& focusedTokenIds)
|
||||
@@ -88,6 +95,11 @@ void QtCodeView::defocusTokenIds()
|
||||
m_defocusTokenIdsFunctor();
|
||||
}
|
||||
|
||||
void QtCodeView::showContents()
|
||||
{
|
||||
m_showContentsFunctor();
|
||||
}
|
||||
|
||||
void QtCodeView::doRefreshView()
|
||||
{
|
||||
setStyleSheet();
|
||||
@@ -95,11 +107,11 @@ void QtCodeView::doRefreshView()
|
||||
QtCodeArea::clearAnnotationColors();
|
||||
}
|
||||
|
||||
void QtCodeView::doShowCodeSnippets(const std::vector<CodeSnippetParams>& snippets)
|
||||
void QtCodeView::doShowCodeSnippets(const std::vector<CodeSnippetParams>& snippets, const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_widget->clearCodeSnippets();
|
||||
|
||||
m_widget->setActiveTokenIds(m_activeTokenIds);
|
||||
m_widget->setActiveTokenIds(activeTokenIds);
|
||||
m_widget->setErrorMessages(m_errorMessages);
|
||||
|
||||
for (const CodeSnippetParams& params : snippets)
|
||||
@@ -155,9 +167,25 @@ void QtCodeView::doShowCodeFile(const CodeSnippetParams& params)
|
||||
m_widget->addCodeSnippet(1, params.title, 0, params.code, params.locationFile, -1, params.modificationTime);
|
||||
}
|
||||
|
||||
void QtCodeView::doShowFirstActiveSnippet()
|
||||
void QtCodeView::doSetFileState(const FilePath filePath, FileState state)
|
||||
{
|
||||
m_widget->setActiveTokenIds(m_activeTokenIds);
|
||||
switch (state)
|
||||
{
|
||||
case FILE_MINIMIZED:
|
||||
m_widget->setFileMinimized(filePath);
|
||||
break;
|
||||
case FILE_SNIPPETS:
|
||||
m_widget->setFileSnippets(filePath);
|
||||
break;
|
||||
case FILE_MAXIMIZED:
|
||||
m_widget->setFileMaximized(filePath);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeView::doShowFirstActiveSnippet(const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_widget->setActiveTokenIds(activeTokenIds);
|
||||
|
||||
if (!m_widget->scrollToFirstActiveSnippet())
|
||||
{
|
||||
@@ -166,9 +194,9 @@ void QtCodeView::doShowFirstActiveSnippet()
|
||||
}
|
||||
}
|
||||
|
||||
void QtCodeView::doShowActiveTokenIds()
|
||||
void QtCodeView::doShowActiveTokenIds(const std::vector<Id>& activeTokenIds)
|
||||
{
|
||||
m_widget->setActiveTokenIds(m_activeTokenIds);
|
||||
m_widget->setActiveTokenIds(activeTokenIds);
|
||||
m_widget->showActiveTokenIds();
|
||||
}
|
||||
|
||||
@@ -182,6 +210,11 @@ void QtCodeView::doDefocusTokenIds()
|
||||
m_widget->defocusTokenIds();
|
||||
}
|
||||
|
||||
void QtCodeView::doShowContents() const
|
||||
{
|
||||
m_widget->showContents();
|
||||
}
|
||||
|
||||
void QtCodeView::setStyleSheet() const
|
||||
{
|
||||
utility::setWidgetBackgroundColor(m_widget, ColorScheme::getInstance()->getColor("code/background"));
|
||||
|
||||
@@ -29,39 +29,49 @@ public:
|
||||
virtual void setActiveTokenIds(const std::vector<Id>& activeTokenIds);
|
||||
virtual void setErrorMessages(const std::vector<std::string>& errorMessages);
|
||||
|
||||
virtual void showCodeSnippets(const std::vector<CodeSnippetParams>& snippets);
|
||||
virtual void showCodeSnippets(const std::vector<CodeSnippetParams>& snippets, const std::vector<Id>& activeTokenIds);
|
||||
virtual void addCodeSnippets(const std::vector<CodeSnippetParams>& snippets, bool insert);
|
||||
virtual void showCodeFile(const CodeSnippetParams& params);
|
||||
|
||||
virtual void showFirstActiveSnippet();
|
||||
virtual void showActiveTokenIds();
|
||||
virtual void setFileState(const FilePath filePath, FileState state);
|
||||
|
||||
virtual void showFirstActiveSnippet(const std::vector<Id>& activeTokenIds);
|
||||
virtual void showActiveTokenIds(const std::vector<Id>& activeTokenIds);
|
||||
|
||||
virtual void focusTokenIds(const std::vector<Id>& focusedTokenIds);
|
||||
virtual void defocusTokenIds();
|
||||
|
||||
virtual void showContents();
|
||||
|
||||
private:
|
||||
void doRefreshView();
|
||||
|
||||
void doShowCodeSnippets(const std::vector<CodeSnippetParams>& snippets);
|
||||
void doShowCodeSnippets(const std::vector<CodeSnippetParams>& snippets, const std::vector<Id>& activeTokenIds);
|
||||
void doAddCodeSnippets(const std::vector<CodeSnippetParams>& snippets, bool insert);
|
||||
void doShowCodeFile(const CodeSnippetParams& params);
|
||||
|
||||
void doShowFirstActiveSnippet();
|
||||
void doShowActiveTokenIds();
|
||||
void doSetFileState(const FilePath filePath, FileState state);
|
||||
|
||||
void doShowFirstActiveSnippet(const std::vector<Id>& activeTokenIds);
|
||||
void doShowActiveTokenIds(const std::vector<Id>& activeTokenIds);
|
||||
|
||||
void doFocusTokenIds(const std::vector<Id>& focusedTokenIds);
|
||||
void doDefocusTokenIds();
|
||||
|
||||
void doShowContents() const;
|
||||
|
||||
void setStyleSheet() const;
|
||||
|
||||
QtThreadedFunctor<> m_refreshViewFunctor;
|
||||
QtThreadedFunctor<const std::vector<CodeSnippetParams>&> m_showCodeSnippetsFunctor;
|
||||
QtThreadedFunctor<const std::vector<CodeSnippetParams>&, const std::vector<Id>&> m_showCodeSnippetsFunctor;
|
||||
QtThreadedFunctor<const std::vector<CodeSnippetParams>&, bool> m_addCodeSnippetsFunctor;
|
||||
QtThreadedFunctor<const CodeSnippetParams&> m_showCodeFileFunctor;
|
||||
QtThreadedFunctor<> m_doShowFirstActiveSnippetFunctor;
|
||||
QtThreadedFunctor<> m_doShowActiveTokenIdsFunctor;
|
||||
QtThreadedFunctor<const FilePath, FileState> m_setFileStateFunctor;
|
||||
QtThreadedFunctor<const std::vector<Id>&> m_doShowFirstActiveSnippetFunctor;
|
||||
QtThreadedFunctor<const std::vector<Id>&> m_doShowActiveTokenIdsFunctor;
|
||||
QtThreadedFunctor<const std::vector<Id>&> m_focusTokenIdsFunctor;
|
||||
QtThreadedFunctor<> m_defocusTokenIdsFunctor;
|
||||
QtThreadedFunctor<> m_showContentsFunctor;
|
||||
|
||||
QtCodeFileList* m_widget;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user