Skip to content

Commit

Permalink
#6022: Remove decl::Type::Model, since it's not a declaration
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Jul 24, 2022
1 parent 667e01b commit 2086a1c
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 18 deletions.
2 changes: 0 additions & 2 deletions include/idecltypes.h
Expand Up @@ -20,7 +20,6 @@ enum class Type
Table,
EntityDef,
SoundShader,
Model,
ModelDef,
Particle,
Skin,
Expand All @@ -39,7 +38,6 @@ inline std::string getTypeName(Type type)
case Type::Material: return "Material";
case Type::EntityDef: return "EntityDef";
case Type::SoundShader: return "SoundShader";
case Type::Model: return "Model";
case Type::ModelDef: return "ModelDef";
case Type::Particle: return "Particle";
case Type::Skin: return "Skin";
Expand Down
2 changes: 1 addition & 1 deletion libs/wxutil/EntityClassChooser.cpp
Expand Up @@ -321,7 +321,7 @@ void EntityClassChooser::setupTreeView()
_treeView = new ResourceTreeView(parent, _columns, wxDV_NO_HEADER);
_treeView->AddSearchColumn(_columns.iconAndName);
_treeView->SetExpandTopLevelItemsAfterPopulation(true);
_treeView->EnableFavouriteManagement(decl::Type::EntityDef);
_treeView->EnableFavouriteManagement(decl::getTypeName(decl::Type::EntityDef));

_treeView->Bind(wxEVT_DATAVIEW_SELECTION_CHANGED, &EntityClassChooser::onSelectionChanged, this);

Expand Down
15 changes: 7 additions & 8 deletions libs/wxutil/dataview/ResourceTreeView.cpp
Expand Up @@ -45,7 +45,6 @@ ResourceTreeView::ResourceTreeView(wxWindow* parent, const TreeModel::Ptr& model
_mode(TreeMode::ShowAll),
_expandTopLevelItemsAfterPopulation(false),
_columnToSelectAfterPopulation(nullptr),
_declType(decl::Type::None),
_declPathColumn(_columns.fullName)
{
_treeStore = model;
Expand Down Expand Up @@ -186,14 +185,14 @@ void ResourceTreeView::PopulateContextMenu(wxutil::PopupMenu& popupMenu)
new StockIconTextMenuItem(_(ADD_TO_FAVOURITES), wxART_ADD_BOOKMARK),
std::bind(&ResourceTreeView::_onSetFavourite, this, true),
std::bind(&ResourceTreeView::_testAddToFavourites, this),
[this]() { return _declType != decl::Type::None; }
[this]() { return !_favouriteTypeName.empty(); }
);

popupMenu.addItem(
new StockIconTextMenuItem(_(REMOVE_FROM_FAVOURITES), wxART_DEL_BOOKMARK),
std::bind(&ResourceTreeView::_onSetFavourite, this, false),
std::bind(&ResourceTreeView::_testRemoveFromFavourites, this),
[this]() { return _declType != decl::Type::None; }
[this]() { return !_favouriteTypeName.empty(); }
);

popupMenu.addSeparator();
Expand Down Expand Up @@ -378,14 +377,14 @@ void ResourceTreeView::Clear()
_emptyFavouritesLabel = wxDataViewItem();
}

void ResourceTreeView::EnableFavouriteManagement(decl::Type declType)
void ResourceTreeView::EnableFavouriteManagement(const std::string& typeName)
{
_declType = declType;
_favouriteTypeName = typeName;
}

void ResourceTreeView::DisableFavouriteManagement()
{
_declType = decl::Type::None;
_favouriteTypeName.clear();
SetTreeMode(TreeMode::ShowAll);
}

Expand Down Expand Up @@ -513,11 +512,11 @@ void ResourceTreeView::SetFavouriteRecursively(TreeModel::Row& row, bool isFavou
// Keep track of this choice
if (isFavourite)
{
GlobalFavouritesManager().addFavourite(decl::getTypeName(_declType), row[_columns.fullName]);
GlobalFavouritesManager().addFavourite(_favouriteTypeName, row[_columns.fullName]);
}
else
{
GlobalFavouritesManager().removeFavourite(decl::getTypeName(_declType), row[_columns.fullName]);
GlobalFavouritesManager().removeFavourite(_favouriteTypeName, row[_columns.fullName]);
}

row.SendItemChanged();
Expand Down
7 changes: 4 additions & 3 deletions libs/wxutil/dataview/ResourceTreeView.h
Expand Up @@ -87,7 +87,8 @@ class ResourceTreeView :

std::vector<ui::IMenuItemPtr> _customMenuItems;

decl::Type _declType;
// Typename used to store favourites. Favourites disabled if empty.
std::string _favouriteTypeName;

wxString _filterText;

Expand Down Expand Up @@ -130,8 +131,8 @@ class ResourceTreeView :

virtual void Clear();

// Enable favourite management for the given declaration type
virtual void EnableFavouriteManagement(decl::Type declType);
// Enable favourite management for the given favourite type name
virtual void EnableFavouriteManagement(const std::string& typeName);
// Disable favourite management features
virtual void DisableFavouriteManagement();

Expand Down
2 changes: 1 addition & 1 deletion radiant/ui/common/SoundChooser.cpp
Expand Up @@ -196,7 +196,7 @@ wxutil::ResourceTreeView* SoundChooser::createTreeView(wxWindow* parent)
// Use the TreeModel's full string search function
_treeView->AddSearchColumn(_columns.iconAndName);
_treeView->SetExpandTopLevelItemsAfterPopulation(true);
_treeView->EnableFavouriteManagement(decl::Type::SoundShader);
_treeView->EnableFavouriteManagement(decl::getTypeName(decl::Type::SoundShader));

// Get selection and connect the changed callback
_treeView->Bind(wxEVT_DATAVIEW_SELECTION_CHANGED, &SoundChooser::_onSelectionChange, this);
Expand Down
2 changes: 1 addition & 1 deletion radiant/ui/materials/MaterialTreeView.cpp
Expand Up @@ -17,7 +17,7 @@ MaterialTreeView::MaterialTreeView(wxWindow* parent) :
textCol->SetWidth(300);

AddSearchColumn(Columns().iconAndName);
EnableFavouriteManagement(decl::Type::Material);
EnableFavouriteManagement(decl::getTypeName(decl::Type::Material));

// The wxWidgets algorithm sucks at sorting large flat lists of strings,
// so we do that ourselves
Expand Down
2 changes: 1 addition & 1 deletion radiant/ui/modelselector/ModelTreeView.cpp
Expand Up @@ -18,7 +18,7 @@ ModelTreeView::ModelTreeView(wxWindow* parent) :

// Use the TreeModel's full string search function
AddSearchColumn(Columns().iconAndName);
EnableFavouriteManagement(decl::Type::Model);
EnableFavouriteManagement("model");
}

const ModelTreeView::TreeColumns& ModelTreeView::Columns() const
Expand Down
2 changes: 1 addition & 1 deletion radiant/ui/particles/ParticleSelector.cpp
Expand Up @@ -43,7 +43,7 @@ wxutil::ResourceTreeView* ParticleSelector::createTreeView(wxWindow* parent)

// Apply full-text search to the column
_treeView->AddSearchColumn(_columns.leafName);
_treeView->EnableFavouriteManagement(decl::Type::Particle);
_treeView->EnableFavouriteManagement(decl::getTypeName(decl::Type::Particle));

// Start loading particles into the view
populateParticleList();
Expand Down

0 comments on commit 2086a1c

Please sign in to comment.