Files
allwpilib/glass/src/lib/native/cpp/other/CommandSelector.cpp
Peter Johnson 2aed432b4b Add braces to C++ single-line loops and conditionals (NFC) (#2973)
This makes code easier to read and more consistent between C++ and Java.
Also update clang-format settings to always add a line break (even if no braces are used).
2020-12-28 12:58:06 -08:00

36 lines
942 B
C++

// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#include "glass/other/CommandSelector.h"
#include <imgui.h>
#include "glass/Context.h"
#include "glass/DataSource.h"
using namespace glass;
void glass::DisplayCommandSelector(CommandSelectorModel* m) {
if (auto name = m->GetName()) {
ImGui::Text("%s", name);
}
if (m->Exists()) {
if (auto run = m->GetRunningData()) {
bool running = run->GetValue();
if (ImGui::Button(running ? "Cancel" : "Run")) {
running = !running;
m->SetRunning(running);
}
ImGui::SameLine();
if (running) {
ImGui::Text("Running...");
}
}
} else {
ImGui::PushStyleColor(ImGuiCol_Text, IM_COL32(96, 96, 96, 255));
ImGui::Text("Unknown Command");
ImGui::PopStyleColor();
}
}