// 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 "NetworkTablesSimGui.h" #include #include #include #include #include "HALSimGui.h" using namespace halsimgui; static std::unique_ptr gNetworkTablesModel; static std::unique_ptr gNetworkTablesWindow; void NetworkTablesSimGui::Initialize() { gNetworkTablesModel = std::make_unique(); wpi::gui::AddEarlyExecute([] { gNetworkTablesModel->Update(); }); gNetworkTablesWindow = std::make_unique( glass::GetStorageRoot().GetChild("NetworkTables View"), "NetworkTables"); gNetworkTablesWindow->SetView( std::make_unique(gNetworkTablesModel.get())); gNetworkTablesWindow->SetDefaultPos(250, 277); gNetworkTablesWindow->SetDefaultSize(750, 185); gNetworkTablesWindow->DisableRenamePopup(); wpi::gui::AddLateExecute([] { gNetworkTablesWindow->Display(); }); wpi::gui::AddWindowScaler([](float scale) { // scale default window positions gNetworkTablesWindow->ScaleDefault(scale); }); } void NetworkTablesSimGui::DisplayMenu() { if (gNetworkTablesWindow) { gNetworkTablesWindow->DisplayMenuItem("NetworkTables View"); } }