From eae775b7257344e19af6cc08adf9b01a6b42388e Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Thu, 5 Apr 2018 22:23:34 +0200 Subject: [PATCH] ViewSpec: rearrange dependencies to simplify testing ...but still not clear yet what we actually need to access from within the ViewSpecDSL_test --- src/gui/interact/interaction-director.cpp | 2 +- src/gui/interact/view-locator.cpp | 13 +++---------- src/gui/interact/view-locator.hpp | 6 ++---- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/gui/interact/interaction-director.cpp b/src/gui/interact/interaction-director.cpp index 9e7dfff1b..2b4a05a3a 100644 --- a/src/gui/interact/interaction-director.cpp +++ b/src/gui/interact/interaction-director.cpp @@ -84,7 +84,7 @@ namespace interact { InteractionDirector::InteractionDirector (GlobalCtx& globals) : model::Controller(session::Root::getID(), globals.uiBus_.getAccessPoint()) , globalCtx_(globals) - , viewLocator_{new ViewLocator{globals}} + , viewLocator_{new ViewLocator{globals.windowLoc_}} , spotLocator_{new SpotLocator} , navigator_{*spotLocator_, *viewLocator_} // Service exposed as Depend , tracker_{new FocusTracker{*navigator_}} diff --git a/src/gui/interact/view-locator.cpp b/src/gui/interact/view-locator.cpp index d88863b36..6778ba4cf 100644 --- a/src/gui/interact/view-locator.cpp +++ b/src/gui/interact/view-locator.cpp @@ -44,7 +44,6 @@ #include "gui/ctrl/panel-locator.hpp" #include "gui/ctrl/window-locator.hpp" #include "gui/interact/ui-coord-resolver.hpp" -#include "gui/ctrl/global-ctx.hpp" #include "lib/depend.hpp" #include "lib/symbol.hpp" //#include "lib/util.hpp" @@ -71,8 +70,8 @@ namespace interact { - ViewLocator::ViewLocator (ctrl::GlobalCtx& uiTopLevel) - : globals_{uiTopLevel} + ViewLocator::ViewLocator (ctrl::WindowLocator& windowLocatorService) + : windowLoc_{windowLocatorService} , locResolver_{LocationQuery::service} { } @@ -86,13 +85,7 @@ namespace interact { PanelLocator& ViewLocator::panelLocator() { - return globals_.windowLoc_.locatePanel(); - } - - WindowLocator& - ViewLocator::windowLocator() - { - return globals_.windowLoc_; + return windowLoc_.locatePanel(); } diff --git a/src/gui/interact/view-locator.hpp b/src/gui/interact/view-locator.hpp index fc7d39ffd..ce23cc85f 100644 --- a/src/gui/interact/view-locator.hpp +++ b/src/gui/interact/view-locator.hpp @@ -69,7 +69,6 @@ namespace gui { namespace ctrl{ - class GlobalCtx; class PanelLocator; class WindowLocator; } @@ -92,12 +91,12 @@ namespace interact { { using Service_LocationSolver = lib::DependInject::ServiceInstance<>; - ctrl::GlobalCtx& globals_; + ctrl::WindowLocator& windowLoc_; Service_LocationSolver locResolver_; public: - ViewLocator (ctrl::GlobalCtx&); + ViewLocator (ctrl::WindowLocator&); ~ViewLocator(); @@ -110,7 +109,6 @@ namespace interact { private: /* === accessors to sibling global services === */ ctrl::PanelLocator& panelLocator(); - ctrl::WindowLocator& windowLocator(); };