载入中...
搜索中...
未找到
EditorToolbar.h
浏览该文件的文档.
1#pragma once
2
3#include <string>
4#include <vector>
5
6namespace eve::editor {
7
10public:
11 void clear();
12 void addTool(const std::string &id, const std::string &label);
13 void setShortcut(const std::string &id, const std::string &key);
14 bool setActive(const std::string &id);
15 std::string getActive() const { return active_; }
16
17 bool matchShortcut(const std::string &key);
18
19 int getToolCount() const { return static_cast<int>(tools_.size()); }
20 std::string getToolId(int index) const;
21 std::string getToolLabel(int index) const;
22 std::string getToolShortcut(int index) const;
23
24private:
25 struct Tool {
26 std::string id;
27 std::string label;
28 std::string shortcut;
29 };
30
31 int findIndex(const std::string &id) const;
32
33 std::vector<Tool> tools_;
34 std::string active_;
35};
36
37} // namespace eve::editor
std::string id
Tool strip state for assembling editor chrome with ui.
std::string getToolLabel(int index) const
std::string getToolId(int index) const
void addTool(const std::string &id, const std::string &label)
bool setActive(const std::string &id)
std::string getActive() const
void setShortcut(const std::string &id, const std::string &key)
std::string getToolShortcut(int index) const
bool matchShortcut(const std::string &key)