Skip to content

Commit

Permalink
#5527: With the GroupDialog instance getter as the only service left,…
Browse files Browse the repository at this point in the history
… the UIManager is now demoted to a GroupDialogManager.
  • Loading branch information
codereader committed Feb 7, 2021
1 parent ad50338 commit 79e6118
Show file tree
Hide file tree
Showing 11 changed files with 79 additions and 99 deletions.
23 changes: 14 additions & 9 deletions include/iuimanager.h
@@ -1,29 +1,34 @@
#pragma once

#include "imodule.h"
#include "igroupdialog.h"

// Forward declarations
class IGroupDialog; // see igroupdialog.h for definition

const char* const MODULE_UIMANAGER("UIManager");
namespace ui
{

/**
* greebo: The UI Manager gives access to the GroupDialog and the DialogManager.
*/
class IUIManager :
class IGroupDialogManager :
public RegisterableModule
{
public:
virtual IGroupDialog& getGroupDialog() = 0;
virtual ~IGroupDialogManager() {}

virtual IGroupDialog& get() = 0;
};

inline IUIManager& GlobalUIManager()
}

constexpr const char* const MODULE_GROUPDIALOG("GroupDialogModule");

inline ui::IGroupDialogManager& GlobalGroupDialogManager()
{
static module::InstanceReference<IUIManager> _reference(MODULE_UIMANAGER);
static module::InstanceReference<ui::IGroupDialogManager> _reference(MODULE_GROUPDIALOG);
return _reference;
}

inline IGroupDialog& GlobalGroupDialog()
{
return GlobalUIManager().getGroupDialog();
return GlobalGroupDialogManager().get();
}
19 changes: 8 additions & 11 deletions radiant/camera/CameraWndManager.cpp
Expand Up @@ -447,17 +447,14 @@ const std::string& CameraWndManager::getName() const

const StringSet& CameraWndManager::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
{
_dependencies.insert(MODULE_XMLREGISTRY);
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_RENDERSYSTEM);
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_MOUSETOOLMANAGER);
_dependencies.insert(MODULE_UIMANAGER);
}
static StringSet _dependencies
{
MODULE_XMLREGISTRY,
MODULE_EVENTMANAGER,
MODULE_RENDERSYSTEM,
MODULE_COMMANDSYSTEM,
MODULE_MOUSETOOLMANAGER,
};

return _dependencies;
}
Expand Down
1 change: 0 additions & 1 deletion radiant/ui/UserInterfaceModule.cpp
Expand Up @@ -92,7 +92,6 @@ const StringSet& UserInterfaceModule::getDependencies() const
{
MODULE_LAYERS,
MODULE_ORTHOCONTEXTMENU,
MODULE_UIMANAGER,
MODULE_FILTERSYSTEM,
MODULE_ENTITY,
MODULE_EVENTMANAGER,
Expand Down
22 changes: 10 additions & 12 deletions radiant/ui/einspector/EntityInspector.cpp
Expand Up @@ -372,19 +372,17 @@ const std::string& EntityInspector::getName() const

const StringSet& EntityInspector::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
static StringSet _dependencies
{
_dependencies.insert(MODULE_XMLREGISTRY);
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_SELECTIONSYSTEM);
_dependencies.insert(MODULE_UNDOSYSTEM);
_dependencies.insert(MODULE_GAMEMANAGER);
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_MAINFRAME);
}
MODULE_XMLREGISTRY,
MODULE_GROUPDIALOG,
MODULE_SELECTIONSYSTEM,
MODULE_UNDOSYSTEM,
MODULE_GAMEMANAGER,
MODULE_COMMANDSYSTEM,
MODULE_EVENTMANAGER,
MODULE_MAINFRAME
};

return _dependencies;
}
Expand Down
13 changes: 5 additions & 8 deletions radiant/ui/favourites/FavouritesUserInterfaceModule.cpp
Expand Up @@ -32,15 +32,12 @@ class FavouritesUserInterfaceModule :

const StringSet& getDependencies() const override
{
static StringSet _dependencies;

if (_dependencies.empty())
static StringSet _dependencies
{
_dependencies.insert(MODULE_FAVOURITES_MANAGER);
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_MAINFRAME);
}
MODULE_FAVOURITES_MANAGER,
MODULE_COMMANDSYSTEM,
MODULE_MAINFRAME
};

return _dependencies;
}
Expand Down
13 changes: 6 additions & 7 deletions radiant/ui/mainframe/MainFrameLayoutManager.cpp
Expand Up @@ -67,13 +67,12 @@ const std::string& MainFrameLayoutManager::getName() const

const StringSet& MainFrameLayoutManager::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty()) {
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_COMMANDSYSTEM);
}
static StringSet _dependencies
{
MODULE_EVENTMANAGER,
MODULE_GROUPDIALOG,
MODULE_COMMANDSYSTEM
};

return _dependencies;
}
Expand Down
24 changes: 11 additions & 13 deletions radiant/ui/mediabrowser/MediaBrowser.cpp
Expand Up @@ -173,19 +173,17 @@ const std::string& MediaBrowser::getName() const

const StringSet& MediaBrowser::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
{
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_SHADERSYSTEM);
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_SHADERCLIPBOARD);
_dependencies.insert(MODULE_MAINFRAME);
_dependencies.insert(MODULE_FAVOURITES_MANAGER);
_dependencies.insert(MODULE_MAP);
}
static StringSet _dependencies
{
MODULE_COMMANDSYSTEM,
MODULE_EVENTMANAGER,
MODULE_SHADERSYSTEM,
MODULE_GROUPDIALOG,
MODULE_SHADERCLIPBOARD,
MODULE_MAINFRAME,
MODULE_FAVOURITES_MANAGER,
MODULE_MAP
};

return _dependencies;
}
Expand Down
13 changes: 5 additions & 8 deletions radiant/ui/ortho/OrthoContextMenu.cpp
Expand Up @@ -606,15 +606,12 @@ const std::string& OrthoContextMenu::getName() const

const StringSet& OrthoContextMenu::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
static StringSet _dependencies
{
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_MAINFRAME);
}
MODULE_COMMANDSYSTEM,
MODULE_EVENTMANAGER,
MODULE_MAINFRAME,
};

return _dependencies;
}
Expand Down
20 changes: 7 additions & 13 deletions radiant/uimanager/UIManager.cpp
Expand Up @@ -2,39 +2,33 @@
#include "module/StaticModule.h"

#include "itextstream.h"
#include "imainframe.h"
#include "GroupDialog.h"

namespace ui
{

IGroupDialog& UIManager::getGroupDialog() {
IGroupDialog& GroupDialogManager::get()
{
return GroupDialog::Instance();
}

const std::string& UIManager::getName() const
const std::string& GroupDialogManager::getName() const
{
static std::string _name(MODULE_UIMANAGER);
static std::string _name(MODULE_GROUPDIALOG);
return _name;
}

const StringSet& UIManager::getDependencies() const
const StringSet& GroupDialogManager::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
{
_dependencies.insert(MODULE_MAINFRAME);
}

return _dependencies;
}

void UIManager::initialiseModule(const IApplicationContext& ctx)
void GroupDialogManager::initialiseModule(const IApplicationContext& ctx)
{
rMessage() << getName() << "::initialiseModule called" << std::endl;
}

module::StaticModule<UIManager> uiManagerModule;
module::StaticModule<GroupDialogManager> groupDialogManagerModule;

} // namespace ui
7 changes: 3 additions & 4 deletions radiant/uimanager/UIManager.h
Expand Up @@ -10,12 +10,11 @@
namespace ui
{

class UIManager :
public IUIManager,
public std::enable_shared_from_this<UIManager>
class GroupDialogManager :
public IGroupDialogManager
{
public:
IGroupDialog& getGroupDialog() override;
IGroupDialog& get() override;

// RegisterableModule implementation
const std::string& getName() const override;
Expand Down
23 changes: 10 additions & 13 deletions radiant/xyview/GlobalXYWnd.cpp
Expand Up @@ -648,19 +648,16 @@ const std::string& XYWndManager::getName() const

const StringSet& XYWndManager::getDependencies() const
{
static StringSet _dependencies;

if (_dependencies.empty())
{
_dependencies.insert(MODULE_XMLREGISTRY);
_dependencies.insert(MODULE_EVENTMANAGER);
_dependencies.insert(MODULE_RENDERSYSTEM);
_dependencies.insert(MODULE_PREFERENCESYSTEM);
_dependencies.insert(MODULE_COMMANDSYSTEM);
_dependencies.insert(MODULE_UIMANAGER);
_dependencies.insert(MODULE_MOUSETOOLMANAGER);
_dependencies.insert(MODULE_STATUSBARMANAGER);
}
static StringSet _dependencies
{
MODULE_XMLREGISTRY,
MODULE_EVENTMANAGER,
MODULE_RENDERSYSTEM,
MODULE_PREFERENCESYSTEM,
MODULE_COMMANDSYSTEM,
MODULE_MOUSETOOLMANAGER,
MODULE_STATUSBARMANAGER
};

return _dependencies;
}
Expand Down

0 comments on commit 79e6118

Please sign in to comment.