ui: statusbar
statusbar added, listen to status- , error- and parsingfinishedmessages
This commit is contained in:
@@ -32,6 +32,8 @@ add_files(
|
||||
component/controller/GraphLayouter.h
|
||||
component/controller/SearchController.cpp
|
||||
component/controller/SearchController.h
|
||||
component/controller/StatusBarController.cpp
|
||||
component/controller/StatusBarController.h
|
||||
|
||||
component/view/graphElements/GraphEdge.cpp
|
||||
component/view/graphElements/GraphEdge.h
|
||||
@@ -46,6 +48,8 @@ add_files(
|
||||
component/view/MainView.h
|
||||
component/view/SearchView.cpp
|
||||
component/view/SearchView.h
|
||||
component/view/StatusBarView.cpp
|
||||
component/view/StatusBarView.h
|
||||
component/view/View.cpp
|
||||
component/view/View.h
|
||||
component/view/ViewFactory.cpp
|
||||
@@ -191,6 +195,8 @@ add_files(
|
||||
utility/math/VectorBase.h
|
||||
|
||||
utility/messaging/type/MessageActivateToken.h
|
||||
utility/messaging/type/MessageActivateTokens.h
|
||||
utility/messaging/type/MessageError.h
|
||||
utility/messaging/type/MessageFind.h
|
||||
utility/messaging/type/MessageFinishedParsing.h
|
||||
utility/messaging/type/MessageGraphNodeExpand.h
|
||||
@@ -198,8 +204,11 @@ add_files(
|
||||
utility/messaging/type/MessageLoadProject.h
|
||||
utility/messaging/type/MessageLoadSource.h
|
||||
utility/messaging/type/MessageRefresh.h
|
||||
utility/messaging/type/MessageSaveProject.h
|
||||
utility/messaging/type/MessageSearch.h
|
||||
utility/messaging/type/MessageSearchAutocomplete.h
|
||||
utility/messaging/type/MessageShowFile.h
|
||||
utility/messaging/type/MessageStatus.h
|
||||
|
||||
utility/messaging/Message.h
|
||||
utility/messaging/MessageBase.h
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
#include "component/controller/CodeController.h"
|
||||
#include "component/controller/GraphController.h"
|
||||
#include "component/controller/SearchController.h"
|
||||
#include "component/controller/StatusBarController.h"
|
||||
#include "component/view/CodeView.h"
|
||||
#include "component/view/GraphView.h"
|
||||
#include "component/view/SearchView.h"
|
||||
#include "component/view/StatusBarView.h"
|
||||
#include "component/view/ViewFactory.h"
|
||||
#include "component/view/ViewLayout.h"
|
||||
|
||||
@@ -52,6 +54,18 @@ std::shared_ptr<Component> ComponentFactory::createSearchComponent()
|
||||
return component;
|
||||
}
|
||||
|
||||
std::shared_ptr<Component> ComponentFactory::createStatusBarComponent()
|
||||
{
|
||||
std::shared_ptr<StatusBarView> view = m_viewFactory->createStatusBarView(m_viewLayout);
|
||||
std::shared_ptr<StatusBarController> controller = std::make_shared<StatusBarController>();
|
||||
|
||||
std::shared_ptr<Component> component = std::make_shared<Component>(view,controller);
|
||||
return component;
|
||||
}
|
||||
|
||||
|
||||
|
||||
ComponentFactory::ComponentFactory()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ public:
|
||||
std::shared_ptr<Component> createCodeComponent();
|
||||
std::shared_ptr<Component> createGraphComponent();
|
||||
std::shared_ptr<Component> createSearchComponent();
|
||||
std::shared_ptr<Component> createStatusBarComponent();
|
||||
|
||||
private:
|
||||
ComponentFactory();
|
||||
|
||||
@@ -26,6 +26,9 @@ void ComponentManager::setup()
|
||||
|
||||
std::shared_ptr<Component> searchComponent = m_componentFactory->createSearchComponent();
|
||||
m_components.push_back(searchComponent);
|
||||
|
||||
std::shared_ptr<Component> statusBarComponent = m_componentFactory->createStatusBarComponent();
|
||||
m_components.push_back(statusBarComponent);
|
||||
}
|
||||
|
||||
ComponentManager::ComponentManager()
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
#include "component/controller/StatusBarController.h"
|
||||
|
||||
#include "component/view/StatusBarView.h"
|
||||
|
||||
StatusBarController::StatusBarController()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
StatusBarController::~StatusBarController()
|
||||
{
|
||||
}
|
||||
|
||||
StatusBarView* StatusBarController::getView()
|
||||
{
|
||||
return Controller::getView<StatusBarView>();
|
||||
}
|
||||
|
||||
void StatusBarController::handleMessage(MessageFinishedParsing* message)
|
||||
{
|
||||
setStatus("Parsing Finished");
|
||||
}
|
||||
|
||||
void StatusBarController::handleMessage(MessageStatus* message)
|
||||
{
|
||||
setStatus(message->status);
|
||||
}
|
||||
|
||||
void StatusBarController::handleMessage(MessageError* message)
|
||||
{
|
||||
setStatus(message->error, true);
|
||||
}
|
||||
|
||||
void StatusBarController::setStatus(const std::string& status, bool isError)
|
||||
{
|
||||
if(!status.empty())
|
||||
getView()->showMessage(status, isError);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef STATUS_BAR_CONTROLLER_H
|
||||
#define STATUS_BAR_CONTROLLER_H
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "component/controller/Controller.h"
|
||||
|
||||
#include "utility/messaging/MessageListener.h"
|
||||
#include "utility/messaging/type/MessageError.h"
|
||||
#include "utility/messaging/type/MessageFinishedParsing.h"
|
||||
#include "utility/messaging/type/MessageStatus.h"
|
||||
|
||||
class StatusBarView;
|
||||
|
||||
class StatusBarController
|
||||
: public Controller
|
||||
, public MessageListener<MessageError>
|
||||
, public MessageListener<MessageFinishedParsing>
|
||||
, public MessageListener<MessageStatus>
|
||||
{
|
||||
public:
|
||||
|
||||
StatusBarController(void);
|
||||
~StatusBarController(void);
|
||||
|
||||
StatusBarView* getView();
|
||||
private:
|
||||
void setStatus(const std::string& status, bool isError = false);
|
||||
|
||||
virtual void handleMessage(MessageError* message);
|
||||
virtual void handleMessage(MessageFinishedParsing* message);
|
||||
virtual void handleMessage(MessageStatus* message);
|
||||
};
|
||||
|
||||
#endif // STATUS_BAR_CONTROLLER_H
|
||||
@@ -15,6 +15,10 @@ CodeView::CodeSnippetParams::CodeSnippetParams()
|
||||
|
||||
bool CodeView::CodeSnippetParams::sort( CodeSnippetParams a, CodeSnippetParams b )
|
||||
{
|
||||
if(a.isActive && b.isActive)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// sort active snippet first
|
||||
if(a.isActive)
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@ class MainView: public ViewLayout
|
||||
public:
|
||||
MainView();
|
||||
virtual ~MainView();
|
||||
|
||||
};
|
||||
|
||||
#endif // MAIN_VIEW_H
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#include "component/view/StatusBarView.h"
|
||||
|
||||
#include "component/controller/StatusBarController.h"
|
||||
|
||||
StatusBarView::StatusBarView(ViewLayout* viewLayout)
|
||||
: View(viewLayout, Vec2i(100,100))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
StatusBarView::~StatusBarView()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::string StatusBarView::getName() const
|
||||
{
|
||||
return "StatusBarView";
|
||||
}
|
||||
|
||||
StatusBarController* StatusBarView::getController()
|
||||
{
|
||||
return View::getController<StatusBarController>();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef STATUS_BAR_VIEW_H
|
||||
#define STATUS_BAR_VIEW_H
|
||||
|
||||
#include "component/view/View.h"
|
||||
|
||||
class StatusBarController;
|
||||
|
||||
class StatusBarView : public View
|
||||
{
|
||||
public:
|
||||
StatusBarView(ViewLayout* viewLayout);
|
||||
~StatusBarView(void);
|
||||
|
||||
virtual std::string getName() const;
|
||||
virtual void showMessage(const std::string& message, bool isError) = 0;
|
||||
protected:
|
||||
StatusBarController* getController();
|
||||
};
|
||||
|
||||
#endif //STATUS_BAR_VIEW_H
|
||||
@@ -16,6 +16,9 @@ public:
|
||||
template<typename T>
|
||||
static std::shared_ptr<T> create(ViewLayout* viewLayout);
|
||||
|
||||
template<typename T>
|
||||
static std::shared_ptr<T> createAndDontAddToLayout(ViewLayout* viewLayout);
|
||||
|
||||
View(ViewLayout* viewLayout, const Vec2i& minSize);
|
||||
virtual ~View();
|
||||
|
||||
@@ -60,6 +63,19 @@ std::shared_ptr<T> View::create(ViewLayout* viewLayout)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
std::shared_ptr<T> View::createAndDontAddToLayout(ViewLayout* viewLayout)
|
||||
{
|
||||
std::shared_ptr<T> ptr = std::make_shared<T>(viewLayout);
|
||||
|
||||
ptr->createWidgetWrapper();
|
||||
ptr->initView();
|
||||
|
||||
//viewLayout->addView(ptr.get());
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
template <typename ControllerType>
|
||||
ControllerType* View::getController()
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ class CodeView;
|
||||
class GraphView;
|
||||
class MainView;
|
||||
class SearchView;
|
||||
class StatusBarView;
|
||||
class ViewLayout;
|
||||
|
||||
class ViewFactory
|
||||
@@ -19,6 +20,7 @@ public:
|
||||
virtual std::shared_ptr<CodeView> createCodeView(ViewLayout* viewLayout) const = 0;
|
||||
virtual std::shared_ptr<GraphView> createGraphView(ViewLayout* viewLayout) const = 0;
|
||||
virtual std::shared_ptr<SearchView> createSearchView(ViewLayout* viewLayout) const = 0;
|
||||
virtual std::shared_ptr<StatusBarView> createStatusBarView(ViewLayout* viewLayout) const = 0;
|
||||
};
|
||||
|
||||
#endif // VIEW_FACTORY_H
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "data/search/SearchNode.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "utility/text/Dictionary.h"
|
||||
|
||||
#include "data/search/SearchIndex.h"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define SEARCH_RESULT_H
|
||||
|
||||
#include <set>
|
||||
#include <stddef.h>
|
||||
|
||||
class SearchNode;
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#ifndef MESSAGE_ERROR_H
|
||||
#define MESSAGE_ERROR_H
|
||||
|
||||
#include "utility/messaging/Message.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
class MessageError: public Message<MessageError>
|
||||
{
|
||||
public:
|
||||
MessageError(
|
||||
const std::string& error
|
||||
)
|
||||
: error(error)
|
||||
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageError";
|
||||
}
|
||||
|
||||
const std::string error;
|
||||
};
|
||||
|
||||
#endif // MESSAGE_ERROR_H
|
||||
@@ -0,0 +1,26 @@
|
||||
#ifndef MESSAGE_STATUS_H
|
||||
#define MESSAGE_STATUS_H
|
||||
|
||||
#include "utility/messaging/Message.h"
|
||||
#include "utility/types.h"
|
||||
|
||||
class MessageStatus: public Message<MessageStatus>
|
||||
{
|
||||
public:
|
||||
MessageStatus(
|
||||
const std::string& status
|
||||
)
|
||||
: status(status)
|
||||
|
||||
{
|
||||
}
|
||||
|
||||
static const std::string getStaticType()
|
||||
{
|
||||
return "MessageStatus";
|
||||
}
|
||||
|
||||
const std::string status;
|
||||
};
|
||||
|
||||
#endif // MESSAGE_STATUS_H
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "utility/utilityString.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cctype>
|
||||
#include <string>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user