Skip to content

Commit

Permalink
#5532: Add the module and command/menu bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Feb 12, 2021
1 parent b8dbc7d commit 59b1b75
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 0 deletions.
1 change: 1 addition & 0 deletions radiant/CMakeLists.txt
Expand Up @@ -100,6 +100,7 @@ add_executable(darkradiant
ui/mainframe/SplitPaneLayout.cpp
ui/mainframe/TopLevelFrame.cpp
ui/mapselector/MapSelector.cpp
ui/materials/MaterialEditorModule.cpp
ui/animationpreview/AnimationPreview.cpp
ui/animationpreview/MD5AnimationChooser.cpp
ui/animationpreview/MD5AnimationViewer.cpp
Expand Down
15 changes: 15 additions & 0 deletions radiant/ui/materials/MaterialEditor.h
@@ -0,0 +1,15 @@
#pragma once

#include "icommandsystem.h"

namespace ui
{

class MaterialEditor
{
public:
static void ShowDialog(const cmd::ArgumentList& args)
{}
};

}
56 changes: 56 additions & 0 deletions radiant/ui/materials/MaterialEditorModule.cpp
@@ -0,0 +1,56 @@
#include "MaterialEditor.h"

#include "imodule.h"
#include "icommandsystem.h"
#include "itextstream.h"
#include "imenumanager.h"
#include "module/StaticModule.h"

namespace ui
{

class MaterialEditorModule :
public RegisterableModule
{
public:
// RegisterableModule
const std::string& getName() const override
{
static std::string _name("MaterialEditor");
return _name;
}

const StringSet& getDependencies() const override
{
static StringSet _dependencies
{
MODULE_COMMANDSYSTEM,
MODULE_MENUMANAGER,
};

return _dependencies;
}

void initialiseModule(const IApplicationContext& ctx) override
{
rMessage() << getName() << "::initialiseModule called." << std::endl;

GlobalCommandSystem().addCommand("MaterialEditor", MaterialEditor::ShowDialog);

// Bind the command to the menu
GlobalMenuManager().add("main/entity", // menu location path
"MaterialEditor", // name
ui::menu::ItemType::Item, // type
_("Material Editor..."), // caption
"icon_texture.png", // icon
"MaterialEditor"); // event name
}

void shutdownModule() override
{
}
};

module::StaticModule<MaterialEditorModule> materialEditorModule;

}
2 changes: 2 additions & 0 deletions tools/msvc/DarkRadiant.vcxproj
Expand Up @@ -262,6 +262,7 @@
<ClCompile Include="..\..\radiant\ui\MapFileProgressHandler.cpp" />
<ClCompile Include="..\..\radiant\ui\mapinfo\LayerInfoTab.cpp" />
<ClCompile Include="..\..\radiant\ui\mapselector\MapSelector.cpp" />
<ClCompile Include="..\..\radiant\ui\materials\MaterialEditorModule.cpp" />
<ClCompile Include="..\..\radiant\ui\mediabrowser\MediaBrowserTreeView.cpp" />
<ClCompile Include="..\..\radiant\ui\menu\MenuBar.cpp" />
<ClCompile Include="..\..\radiant\ui\menu\MenuElement.cpp" />
Expand Down Expand Up @@ -450,6 +451,7 @@
<ClInclude Include="..\..\radiant\ui\MapFileProgressHandler.h" />
<ClInclude Include="..\..\radiant\ui\mapinfo\LayerInfoTab.h" />
<ClInclude Include="..\..\radiant\ui\mapselector\MapSelector.h" />
<ClInclude Include="..\..\radiant\ui\materials\MaterialEditor.h" />
<ClInclude Include="..\..\radiant\ui\mediabrowser\MediaBrowserTreeView.h" />
<ClInclude Include="..\..\radiant\ui\menu\MenuBar.h" />
<ClInclude Include="..\..\radiant\ui\menu\MenuElement.h" />
Expand Down
9 changes: 9 additions & 0 deletions tools/msvc/DarkRadiant.vcxproj.filters
Expand Up @@ -179,6 +179,9 @@
<Filter Include="src\ui\groupdialog">
<UniqueIdentifier>{07fc75c2-d1cf-498c-8eb4-806389afc62b}</UniqueIdentifier>
</Filter>
<Filter Include="src\ui\materials">
<UniqueIdentifier>{d855833c-6204-4825-ba61-c4e143ba50ce}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\radiant\main.cpp">
Expand Down Expand Up @@ -685,6 +688,9 @@
<ClCompile Include="..\..\radiant\ui\common\SoundShaderPreview.cpp">
<Filter>src\ui\common</Filter>
</ClCompile>
<ClCompile Include="..\..\radiant\ui\materials\MaterialEditorModule.cpp">
<Filter>src\ui\materials</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\radiant\camera\CameraSettings.h">
Expand Down Expand Up @@ -1311,6 +1317,9 @@
<ClInclude Include="..\..\radiant\ui\common\SoundShaderPreview.h">
<Filter>src\ui\common</Filter>
</ClInclude>
<ClInclude Include="..\..\radiant\ui\materials\MaterialEditor.h">
<Filter>src\ui\materials</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\radiant\darkradiant.rc" />
Expand Down

0 comments on commit 59b1b75

Please sign in to comment.