Skip to content

Commit

Permalink
#4764: Rename a couple of classes and files. Introduce specialised Ma…
Browse files Browse the repository at this point in the history
…pTextureBrowser which will specifically deal with the scene textures.
  • Loading branch information
codereader committed Nov 6, 2022
1 parent b0b4a83 commit 093dfab
Show file tree
Hide file tree
Showing 15 changed files with 164 additions and 131 deletions.
5 changes: 3 additions & 2 deletions radiant/CMakeLists.txt
Expand Up @@ -159,8 +159,9 @@ add_executable(darkradiant
ui/statusbar/MapStatistics.cpp
ui/statusbar/StatusBarManager.cpp
ui/surfaceinspector/SurfaceInspector.cpp
ui/texturebrowser/MaterialThumbnailBrowser.cpp
ui/texturebrowser/TextureBrowser.cpp
ui/texturebrowser/MapTextureBrowser.cpp
ui/texturebrowser/TextureThumbnailBrowser.cpp
ui/texturebrowser/TextureBrowserPanel.cpp
ui/texturebrowser/TextureBrowserManager.cpp
ui/toolbar/ToolbarManager.cpp
ui/transform/TransformPanel.cpp
Expand Down
1 change: 0 additions & 1 deletion radiant/ui/mainframe/AuiLayout.cpp
Expand Up @@ -10,7 +10,6 @@

#include "camera/CameraWndManager.h"
#include "command/ExecutionFailure.h"
#include "ui/texturebrowser/TextureBrowser.h"
#include "wxutil/Bitmap.h"
#include "xyview/GlobalXYWnd.h"
#include "AuiFloatingFrame.h"
Expand Down
2 changes: 1 addition & 1 deletion radiant/ui/mediabrowser/MediaBrowser.cpp
Expand Up @@ -10,7 +10,7 @@
#include <wx/sizer.h>

#include "util/ScopedBoolLock.h"
#include "ui/texturebrowser/TextureBrowser.h"
#include "ui/texturebrowser/TextureBrowserManager.h"
#include "ui/common/TexturePreviewCombo.h"

#include "FocusMaterialRequest.h"
Expand Down
10 changes: 10 additions & 0 deletions radiant/ui/texturebrowser/MapTextureBrowser.cpp
@@ -0,0 +1,10 @@
#include "MapTextureBrowser.h"

namespace ui
{

MapTextureBrowser::MapTextureBrowser(wxWindow* parent) :
TextureThumbnailBrowser(parent)
{}

}
18 changes: 18 additions & 0 deletions radiant/ui/texturebrowser/MapTextureBrowser.h
@@ -0,0 +1,18 @@
#pragma once

#include "TextureThumbnailBrowser.h"

namespace ui
{
/**
* Texture thumbnail browser implementation showing all materials
* used in the current map ("in use").
*/
class MapTextureBrowser :
public TextureThumbnailBrowser
{
public:
MapTextureBrowser(wxWindow* parent);
};

}
12 changes: 6 additions & 6 deletions radiant/ui/texturebrowser/TextureBrowserManager.cpp
@@ -1,5 +1,5 @@
#include "TextureBrowserManager.h"
#include "TextureBrowser.h"
#include "TextureBrowserPanel.h"

#include <list>
#include <sigc++/functors/mem_fun.h>
Expand Down Expand Up @@ -40,7 +40,7 @@ class TextureBrowserControl :

wxWindow* createWidget(wxWindow* parent) override
{
return new TextureBrowser(parent);
return new TextureBrowserPanel(parent);
}
};

Expand All @@ -56,25 +56,25 @@ std::string TextureBrowserManager::getSelectedShader()

void TextureBrowserManager::setSelectedShader(const std::string& shader)
{
for (TextureBrowser* browser : _browsers)
for (auto browser : _browsers)
{
browser->setSelectedShader(shader);
}
}

void TextureBrowserManager::registerTextureBrowser(TextureBrowser* browser)
void TextureBrowserManager::registerTextureBrowser(TextureBrowserPanel* browser)
{
_browsers.insert(browser);
}

void TextureBrowserManager::unregisterTextureBrowser(TextureBrowser* browser)
void TextureBrowserManager::unregisterTextureBrowser(TextureBrowserPanel* browser)
{
_browsers.erase(browser);
}

void TextureBrowserManager::updateAllWindows()
{
for (TextureBrowser* browser : _browsers)
for (auto browser : _browsers)
{
browser->queueUpdate();
}
Expand Down
8 changes: 4 additions & 4 deletions radiant/ui/texturebrowser/TextureBrowserManager.h
Expand Up @@ -7,7 +7,7 @@
namespace ui
{

class TextureBrowser;
class TextureBrowserPanel;

constexpr const char* const RKEY_TEXTURES_HIDE_UNUSED = "user/ui/textures/browser/hideUnused";
constexpr const char* const RKEY_TEXTURES_SHOW_FAVOURITES_ONLY = "user/ui/textures/browser/showFavouritesOnly";
Expand All @@ -26,7 +26,7 @@ class TextureBrowserManager :
public RegisterableModule
{
private:
std::set<TextureBrowser*> _browsers;
std::set<TextureBrowserPanel*> _browsers;
sigc::connection _shaderClipboardConn;

public:
Expand All @@ -36,8 +36,8 @@ class TextureBrowserManager :
std::string getSelectedShader();
void setSelectedShader(const std::string& shader);

void registerTextureBrowser(TextureBrowser* browser);
void unregisterTextureBrowser(TextureBrowser* browser);
void registerTextureBrowser(TextureBrowserPanel* browser);
void unregisterTextureBrowser(TextureBrowserPanel* browser);

// Sends an queueUpdate() call to all registered browsers
void updateAllWindows();
Expand Down
@@ -1,25 +1,25 @@
#include "TextureBrowser.h"
#include "TextureBrowserPanel.h"

#include "TextureBrowserManager.h"
#include "ifavourites.h"
#include "MaterialThumbnailBrowser.h"
#include "MapTextureBrowser.h"

namespace ui
{

TextureBrowser::TextureBrowser(wxWindow* parent) :
TextureBrowserPanel::TextureBrowserPanel(wxWindow* parent) :
DockablePanel(parent),
_thumbnailBrowser(nullptr)
{
_thumbnailBrowser = new MaterialThumbnailBrowser(this);
_thumbnailBrowser = new MapTextureBrowser(this);

SetSizer(new wxBoxSizer(wxVERTICAL));
GetSizer()->Add(_thumbnailBrowser, 1, wxEXPAND);

GlobalTextureBrowser().registerTextureBrowser(this);
}

TextureBrowser::~TextureBrowser()
TextureBrowserPanel::~TextureBrowserPanel()
{
if (panelIsActive())
{
Expand All @@ -28,44 +28,44 @@ TextureBrowser::~TextureBrowser()
GlobalTextureBrowser().unregisterTextureBrowser(this);
}

const std::string& TextureBrowser::getSelectedShader() const
const std::string& TextureBrowserPanel::getSelectedShader() const
{
return _thumbnailBrowser->getSelectedShader();
}

void TextureBrowser::setSelectedShader(const std::string& newShader)
void TextureBrowserPanel::setSelectedShader(const std::string& newShader)
{
_thumbnailBrowser->setSelectedShader(newShader);
}

void TextureBrowser::onPanelActivated()
void TextureBrowserPanel::onPanelActivated()
{
connectListeners();
queueUpdate();
}

void TextureBrowser::onPanelDeactivated()
void TextureBrowserPanel::onPanelDeactivated()
{
disconnectListeners();
}

void TextureBrowser::connectListeners()
void TextureBrowserPanel::connectListeners()
{
_favouritesChangedHandler = GlobalFavouritesManager().getSignalForType(decl::getTypeName(decl::Type::Material))
.connect(sigc::mem_fun(this, &TextureBrowser::onFavouritesChanged));
.connect(sigc::mem_fun(this, &TextureBrowserPanel::onFavouritesChanged));
}

void TextureBrowser::disconnectListeners()
void TextureBrowserPanel::disconnectListeners()
{
_favouritesChangedHandler.disconnect();
}

void TextureBrowser::onFavouritesChanged()
void TextureBrowserPanel::onFavouritesChanged()
{
queueUpdate();
}

void TextureBrowser::queueUpdate()
void TextureBrowserPanel::queueUpdate()
{
if (panelIsActive())
{
Expand Down
Expand Up @@ -7,21 +7,21 @@
namespace ui
{

class MaterialThumbnailBrowser;
class MapTextureBrowser;
class TextureBrowserManager;

class TextureBrowser :
class TextureBrowserPanel :
public wxutil::DockablePanel,
public sigc::trackable
{
private:
sigc::connection _favouritesChangedHandler;

MaterialThumbnailBrowser* _thumbnailBrowser;
MapTextureBrowser* _thumbnailBrowser;

public:
TextureBrowser(wxWindow* parent);
~TextureBrowser() override;
TextureBrowserPanel(wxWindow* parent);
~TextureBrowserPanel() override;

void queueUpdate();

Expand Down

0 comments on commit 093dfab

Please sign in to comment.