mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-02 23:16:22 +01:00
refactor(editor): the helpers repeated over the editor files are shared
The name of a node or "(no name)" was written out in twenty places and four local functions, a lower-case copy of a text in four files, the test for a number, the file name of a template made comparable and the heading of a direction in three and two, the green main button of a panel in five and the key=value parameters of a self-test command in five. Each of them is one helper now: name_of, tall_button_height and main_button with the panel helpers, numeric with format, normalized with the include helpers, heading_of with the plan geometry and selftest_values with the tools; lower gives way to ToLower.
This commit is contained in:
@@ -18,6 +18,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include "utilities/Globals.h"
|
||||
#include "rendering/renderer.h"
|
||||
#include "world/Track.h"
|
||||
#include "utilities/utilities.h"
|
||||
#include "scene/scene.h"
|
||||
#include "scene/scenelayers.h"
|
||||
#include "simulation/simulation.h"
|
||||
@@ -61,17 +62,6 @@ bool rail(TTrack const &Track)
|
||||
return (Track.iCategoryFlag & 15) == kRailCategory && false == Track.m_editorremoved && Track.visible();
|
||||
}
|
||||
|
||||
std::string name_of(TTrack const &Track)
|
||||
{
|
||||
return Track.name().empty() ? std::string{STR_C("(no name)")} : Track.name();
|
||||
}
|
||||
|
||||
std::string lower(std::string Text)
|
||||
{
|
||||
std::transform(Text.begin(), Text.end(), Text.begin(), [](unsigned char const Character) { return static_cast<char>(std::tolower(Character)); });
|
||||
return Text;
|
||||
}
|
||||
|
||||
char const *type_of(TTrack const &Track)
|
||||
{
|
||||
switch (Track.eType)
|
||||
@@ -843,7 +833,7 @@ void editor_mode::render_track_search()
|
||||
}
|
||||
ImGui::SetNextItemWidth(-1.0f);
|
||||
ImGui::InputTextWithHint("##findtrack", STR_C("Find a track by its name (Ctrl+F)"), search.text, sizeof(search.text));
|
||||
std::string const text{lower(search.text)};
|
||||
std::string const text{ToLower(search.text)};
|
||||
if (text.empty())
|
||||
{
|
||||
search.searched.clear();
|
||||
@@ -857,7 +847,7 @@ void editor_mode::render_track_search()
|
||||
search.total = 0;
|
||||
for (auto *track : simulation::Paths.sequence())
|
||||
{
|
||||
if (track == nullptr || false == rail(*track) || lower(track->name()).find(text) == std::string::npos)
|
||||
if (track == nullptr || false == rail(*track) || ToLower(track->name()).find(text) == std::string::npos)
|
||||
continue;
|
||||
++search.total;
|
||||
if (search.found.size() < kSearchLimit)
|
||||
|
||||
Reference in New Issue
Block a user