From 2c92e07f337e42cf58970443f9de678f85a9b2a4 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Thu, 19 Oct 2023 22:50:07 -0700 Subject: The great renaming: switch to "module style" --- source/30-game/EditorCommandPalette.hpp | 94 --------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 source/30-game/EditorCommandPalette.hpp (limited to 'source/30-game/EditorCommandPalette.hpp') diff --git a/source/30-game/EditorCommandPalette.hpp b/source/30-game/EditorCommandPalette.hpp deleted file mode 100644 index 101344d..0000000 --- a/source/30-game/EditorCommandPalette.hpp +++ /dev/null @@ -1,94 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include - -class EditorCommandExecuteContext; -class EditorCommand { -public: - std::string name; - std::function callback; - std::function subsequentCallback; - std::function terminate; -}; - -class EditorCommandExecuteContext { - friend class EditorCommandPalette; - -private: - const EditorCommand* mCommand = nullptr; - std::vector mCurrentOptions; - int mDepth = 0; - -public: - bool IsInitiated() const; - const EditorCommand* GetCurrentCommand() const; - void Initiate(const EditorCommand& command); - - void Prompt(std::vector options); - void Finish(); - - /// Return the number of prompts that the user is currently completing. For example, when the user opens command - /// palette fresh and selects a command, 0 is returned. If the command asks some prompt, and then the user selects - /// again, 1 is returned. - int GetExecutionDepth() const; -}; - -class EditorCommandPalette { -private: - struct SearchResult; - struct Item; - - std::vector mCommands; - std::vector mItems; - std::vector mSearchResults; - std::string mSearchText; - EditorCommandExecuteContext mExeCtx; - int mFocusedItemId = 0; - bool mFocusSearchBox = false; - bool mShouldCloseNextFrame = false; - -public: - EditorCommandPalette(); - ~EditorCommandPalette(); - - EditorCommandPalette(const EditorCommandPalette&) = delete; - EditorCommandPalette& operator=(const EditorCommandPalette&) = delete; - EditorCommandPalette(EditorCommandPalette&&) = default; - EditorCommandPalette& operator=(EditorCommandPalette&&) = default; - - void AddCommand(std::string_view category, std::string_view name, EditorCommand command); - void RemoveCommand(std::string_view category, std::string_view name); - void RemoveCommand(const std::string& commandName); - - void Show(bool* open = nullptr); - - enum ItemType { - CommandItem, - CommandOptionItem, - }; - - enum IndexType { - DirectIndex, - SearchResultIndex, - }; - - struct ItemInfo { - const char* text; - const EditorCommand* command; - int itemId; - ItemType itemType; - IndexType indexType; - }; - - size_t GetItemCount() const; - ItemInfo GetItem(size_t idx) const; - - void SelectFocusedItem(); - -private: - void InvalidateSearchResults(); -}; -- cgit v1.2.3-70-g09d2