This commit is contained in:
Mikulas Florek 2016-06-09 21:25:52 +02:00
parent d714c4c146
commit d146c2b1de
3 changed files with 18 additions and 22 deletions

View file

@ -145,22 +145,10 @@ public:
"main_toolbar", ImVec2(1, menu_height), ImVec2(ImGui::GetIO().DisplaySize.x, 24 + padding)))
{
auto& render_interface = *m_editor->getRenderInterface();
ImVec2 icon_size(24, 24);
for (int i = 0; i < m_actions.size(); ++i)
{
if (i > 0) ImGui::SameLine();
if (m_actions[i]->is_in_toolbar)
{
if (ImGui::ImageButton(m_actions[i]->icon, icon_size))
{
m_actions[i]->func.invoke();
}
if (ImGui::IsItemHovered())
{
ImGui::SetTooltip("%s", m_actions[i]->label);
}
}
if(m_actions[i]->is_in_toolbar) m_actions[i]->toolbarButton();
}
}
ImGui::EndToolbar();

View file

@ -43,6 +43,22 @@ struct Action
static bool falseConst() { return false; }
void toolbarButton()
{
if (!icon) return;
ImGui::SameLine();
if (ImGui::ImageButton(icon, ImVec2(24, 24)))
{
func.invoke();
}
if (ImGui::IsItemHovered())
{
ImGui::SetTooltip("%s", label);
}
}
bool isActive()
{
if (ImGui::IsAnyItemActive()) return false;

View file

@ -355,15 +355,7 @@ void SceneView::onToolbar()
ImVec2 icon_size(24, 24);
if (ImGui::BeginToolbar("scene_view_toolbar", pos, ImVec2(w, 24)))
{
for (auto* action : actions)
{
if (!action->icon) continue;
ImGui::SameLine();
if (ImGui::ImageButton(action->icon, icon_size))
{
action->func.invoke();
}
}
for (auto* action : actions) action->toolbarButton();
}
ImGui::EndToolbar();
}