From 21624ef27354b7759ba124ac76e873d2a5be01e1 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Tue, 16 Mar 2021 22:05:41 -0700 Subject: [PATCH] Add ImGui OutlineViewer (#3220) --- CMakeLists.txt | 1 + glass/src/libnt/native/cpp/NetworkTables.cpp | 73 +++--- .../glass/networktables/NetworkTables.h | 26 +- outlineviewer/.styleguide | 27 +++ outlineviewer/CMakeLists.txt | 28 +++ outlineviewer/Info.plist | 32 +++ outlineviewer/build.gradle | 119 +++++++++ outlineviewer/publish.gradle | 96 ++++++++ .../src/main/generate/WPILibVersion.cpp.in | 7 + outlineviewer/src/main/native/cpp/main.cpp | 229 ++++++++++++++++++ outlineviewer/src/main/native/mac/ov.icns | Bin 0 -> 92922 bytes .../src/main/native/resources/ov-128.png | Bin 0 -> 4796 bytes .../src/main/native/resources/ov-16.png | Bin 0 -> 533 bytes .../src/main/native/resources/ov-256.png | Bin 0 -> 9809 bytes .../src/main/native/resources/ov-32.png | Bin 0 -> 1149 bytes .../src/main/native/resources/ov-48.png | Bin 0 -> 1852 bytes .../src/main/native/resources/ov-512.png | Bin 0 -> 19904 bytes .../src/main/native/resources/ov-64.png | Bin 0 -> 2447 bytes .../src/main/native/win/outlineviewer.ico | Bin 0 -> 72807 bytes .../src/main/native/win/outlineviewer.rc | 1 + settings.gradle | 1 + 21 files changed, 606 insertions(+), 34 deletions(-) create mode 100644 outlineviewer/.styleguide create mode 100644 outlineviewer/CMakeLists.txt create mode 100644 outlineviewer/Info.plist create mode 100644 outlineviewer/build.gradle create mode 100644 outlineviewer/publish.gradle create mode 100644 outlineviewer/src/main/generate/WPILibVersion.cpp.in create mode 100644 outlineviewer/src/main/native/cpp/main.cpp create mode 100644 outlineviewer/src/main/native/mac/ov.icns create mode 100644 outlineviewer/src/main/native/resources/ov-128.png create mode 100644 outlineviewer/src/main/native/resources/ov-16.png create mode 100644 outlineviewer/src/main/native/resources/ov-256.png create mode 100644 outlineviewer/src/main/native/resources/ov-32.png create mode 100644 outlineviewer/src/main/native/resources/ov-48.png create mode 100644 outlineviewer/src/main/native/resources/ov-512.png create mode 100644 outlineviewer/src/main/native/resources/ov-64.png create mode 100644 outlineviewer/src/main/native/win/outlineviewer.ico create mode 100644 outlineviewer/src/main/native/win/outlineviewer.rc diff --git a/CMakeLists.txt b/CMakeLists.txt index f0e6bc0884..348e0d9797 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,6 +187,7 @@ if (WITH_GUI) add_subdirectory(imgui) add_subdirectory(wpigui) add_subdirectory(glass) + add_subdirectory(outlineviewer) endif() if (WITH_CSCORE) diff --git a/glass/src/libnt/native/cpp/NetworkTables.cpp b/glass/src/libnt/native/cpp/NetworkTables.cpp index 7a1c6b7ed1..cea8be538f 100644 --- a/glass/src/libnt/native/cpp/NetworkTables.cpp +++ b/glass/src/libnt/native/cpp/NetworkTables.cpp @@ -741,30 +741,20 @@ void glass::DisplayNetworkTables(NetworkTablesModel* model, ImGui::Columns(); } -void NetworkTablesView::Display() { - auto& storage = GetStorage(); - auto pTreeView = - storage.GetBoolRef("tree", m_defaultFlags & NetworkTablesFlags_TreeView); - auto pShowConnections = storage.GetBoolRef( - "connections", m_defaultFlags & NetworkTablesFlags_ShowConnections); - auto pShowFlags = storage.GetBoolRef( - "flags", m_defaultFlags & NetworkTablesFlags_ShowFlags); - auto pShowTimestamp = storage.GetBoolRef( - "timestamp", m_defaultFlags & NetworkTablesFlags_ShowTimestamp); - auto pCreateNoncanonicalKeys = storage.GetBoolRef( - "createNonCanonical", - m_defaultFlags & NetworkTablesFlags_CreateNoncanonicalKeys); - - if (ImGui::BeginPopupContextItem()) { - ImGui::MenuItem("Tree View", "", pTreeView); - ImGui::MenuItem("Show Connections", "", pShowConnections); - ImGui::MenuItem("Show Flags", "", pShowFlags); - ImGui::MenuItem("Show Timestamp", "", pShowTimestamp); - ImGui::Separator(); - ImGui::MenuItem("Allow creation of non-canonical keys", "", - pCreateNoncanonicalKeys); - - ImGui::EndPopup(); +void NetworkTablesFlagsSettings::Update() { + if (!m_pTreeView) { + auto& storage = GetStorage(); + m_pTreeView = storage.GetBoolRef( + "tree", m_defaultFlags & NetworkTablesFlags_TreeView); + m_pShowConnections = storage.GetBoolRef( + "connections", m_defaultFlags & NetworkTablesFlags_ShowConnections); + m_pShowFlags = storage.GetBoolRef( + "flags", m_defaultFlags & NetworkTablesFlags_ShowFlags); + m_pShowTimestamp = storage.GetBoolRef( + "timestamp", m_defaultFlags & NetworkTablesFlags_ShowTimestamp); + m_pCreateNoncanonicalKeys = storage.GetBoolRef( + "createNonCanonical", + m_defaultFlags & NetworkTablesFlags_CreateNoncanonicalKeys); } m_flags &= @@ -772,11 +762,32 @@ void NetworkTablesView::Display() { NetworkTablesFlags_ShowFlags | NetworkTablesFlags_ShowTimestamp | NetworkTablesFlags_CreateNoncanonicalKeys); m_flags |= - (*pTreeView ? NetworkTablesFlags_TreeView : 0) | - (*pShowConnections ? NetworkTablesFlags_ShowConnections : 0) | - (*pShowFlags ? NetworkTablesFlags_ShowFlags : 0) | - (*pShowTimestamp ? NetworkTablesFlags_ShowTimestamp : 0) | - (*pCreateNoncanonicalKeys ? NetworkTablesFlags_CreateNoncanonicalKeys - : 0); - DisplayNetworkTables(m_model, m_flags); + (*m_pTreeView ? NetworkTablesFlags_TreeView : 0) | + (*m_pShowConnections ? NetworkTablesFlags_ShowConnections : 0) | + (*m_pShowFlags ? NetworkTablesFlags_ShowFlags : 0) | + (*m_pShowTimestamp ? NetworkTablesFlags_ShowTimestamp : 0) | + (*m_pCreateNoncanonicalKeys ? NetworkTablesFlags_CreateNoncanonicalKeys + : 0); +} + +void NetworkTablesFlagsSettings::DisplayMenu() { + if (!m_pTreeView) { + return; + } + ImGui::MenuItem("Tree View", "", m_pTreeView); + ImGui::MenuItem("Show Connections", "", m_pShowConnections); + ImGui::MenuItem("Show Flags", "", m_pShowFlags); + ImGui::MenuItem("Show Timestamp", "", m_pShowTimestamp); + ImGui::Separator(); + ImGui::MenuItem("Allow creation of non-canonical keys", "", + m_pCreateNoncanonicalKeys); +} + +void NetworkTablesView::Display() { + m_flags.Update(); + if (ImGui::BeginPopupContextItem()) { + m_flags.DisplayMenu(); + ImGui::EndPopup(); + } + DisplayNetworkTables(m_model, m_flags.GetFlags()); } diff --git a/glass/src/libnt/native/include/glass/networktables/NetworkTables.h b/glass/src/libnt/native/include/glass/networktables/NetworkTables.h index f515764f42..e7dbbece83 100644 --- a/glass/src/libnt/native/include/glass/networktables/NetworkTables.h +++ b/glass/src/libnt/native/include/glass/networktables/NetworkTables.h @@ -104,19 +104,39 @@ void DisplayNetworkTables( NetworkTablesModel* model, NetworkTablesFlags flags = NetworkTablesFlags_Default); +class NetworkTablesFlagsSettings { + public: + explicit NetworkTablesFlagsSettings( + NetworkTablesFlags defaultFlags = NetworkTablesFlags_Default) + : m_defaultFlags{defaultFlags}, m_flags{defaultFlags} {} + + void Update(); + void DisplayMenu(); + + NetworkTablesFlags GetFlags() const { return m_flags; } + + private: + bool* m_pTreeView = nullptr; + bool* m_pShowConnections = nullptr; + bool* m_pShowFlags = nullptr; + bool* m_pShowTimestamp = nullptr; + bool* m_pCreateNoncanonicalKeys = nullptr; + NetworkTablesFlags m_defaultFlags; // NOLINT + NetworkTablesFlags m_flags; // NOLINT +}; + class NetworkTablesView : public View { public: explicit NetworkTablesView( NetworkTablesModel* model, NetworkTablesFlags defaultFlags = NetworkTablesFlags_Default) - : m_model{model}, m_defaultFlags{defaultFlags}, m_flags{defaultFlags} {} + : m_model{model}, m_flags{defaultFlags} {} void Display() override; private: NetworkTablesModel* m_model; - NetworkTablesFlags m_defaultFlags; - NetworkTablesFlags m_flags; + NetworkTablesFlagsSettings m_flags; }; } // namespace glass diff --git a/outlineviewer/.styleguide b/outlineviewer/.styleguide new file mode 100644 index 0000000000..c8e055a4ca --- /dev/null +++ b/outlineviewer/.styleguide @@ -0,0 +1,27 @@ +cppHeaderFileInclude { + \.h$ + \.inc$ + \.inl$ +} + +cppSrcFileInclude { + \.cpp$ +} + +generatedFileExclude { + src/main/native/resources/ + src/main/native/win/outlineviewer.ico + src/main/native/mac/ov.icns +} + +repoRootNameOverride { + outlineviewer +} + +includeOtherLibs { + ^GLFW + ^imgui + ^ntcore + ^wpi/ + ^wpigui +} diff --git a/outlineviewer/CMakeLists.txt b/outlineviewer/CMakeLists.txt new file mode 100644 index 0000000000..537134d3eb --- /dev/null +++ b/outlineviewer/CMakeLists.txt @@ -0,0 +1,28 @@ +project(outlineviewer) + +include(CompileWarnings) +include(GenResources) +include(LinkMacOSGUI) + +configure_file(src/main/generate/WPILibVersion.cpp.in WPILibVersion.cpp) +GENERATE_RESOURCES(src/main/native/resources generated/main/cpp OV ov outlineviewer_resources_src) + +file(GLOB outlineviewer_src src/main/native/cpp/*.cpp ${CMAKE_CURRENT_BINARY_DIR}/WPILibVersion.cpp) + +if (WIN32) + set(outlineviewer_rc src/main/native/win/outlineviewer.rc) +elseif(APPLE) + set(MACOSX_BUNDLE_ICON_FILE ov.icns) + set(APP_ICON_MACOSX src/main/native/mac/ov.icns) + set_source_files_properties(${APP_ICON_MACOSX} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") +endif() + +add_executable(outlineviewer ${outlineviewer_src} ${outlineviewer_resources_src} ${outlineviewer_rc} ${APP_ICON_MACOSX}) +wpilib_link_macos_gui(outlineviewer) +target_link_libraries(outlineviewer libglassnt libglass) + +if (WIN32) + set_target_properties(outlineviewer PROPERTIES WIN32_EXECUTABLE YES) +elseif(APPLE) + set_target_properties(outlineviewer PROPERTIES MACOSX_BUNDLE YES OUTPUT_NAME "OutlineViewer") +endif() diff --git a/outlineviewer/Info.plist b/outlineviewer/Info.plist new file mode 100644 index 0000000000..a3e8a85d91 --- /dev/null +++ b/outlineviewer/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleName + OutlineViewer + CFBundleExecutable + outlineviewer + CFBundleDisplayName + OutlineViewer + CFBundleIdentifier + edu.wpi.first.tools.OutlineViewer + CFBundleIconFile + ov.icns + CFBundlePackageType + APPL + CFBundleSupportedPlatforms + + MacOSX + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleShortVersionString + 2021 + CFBundleVersion + 2021 + LSMinimumSystemVersion + 10.11 + NSHighResolutionCapable + + + diff --git a/outlineviewer/build.gradle b/outlineviewer/build.gradle new file mode 100644 index 0000000000..5b4ee6ed40 --- /dev/null +++ b/outlineviewer/build.gradle @@ -0,0 +1,119 @@ +import org.gradle.internal.os.OperatingSystem + +if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian') && !project.hasProperty('onlylinuxaarch64bionic')) { + + description = "NetworkTables Viewer" + + apply plugin: 'cpp' + apply plugin: 'c' + apply plugin: 'google-test-test-suite' + apply plugin: 'visual-studio' + apply plugin: 'edu.wpi.first.NativeUtils' + + if (OperatingSystem.current().isWindows()) { + apply plugin: 'windows-resources' + } + + ext { + nativeName = 'outlineviewer' + } + + apply from: "${rootDir}/shared/resources.gradle" + apply from: "${rootDir}/shared/config.gradle" + + def wpilibVersionFileInput = file("src/main/generate/WPILibVersion.cpp.in") + def wpilibVersionFileOutput = file("$buildDir/generated/main/cpp/WPILibVersion.cpp") + + task generateCppVersion() { + description = 'Generates the wpilib version class' + group = 'WPILib' + + outputs.file wpilibVersionFileOutput + inputs.file wpilibVersionFileInput + + if (wpilibVersioning.releaseMode) { + outputs.upToDateWhen { false } + } + + // We follow a simple set of checks to determine whether we should generate a new version file: + // 1. If the release type is not development, we generate a new version file + // 2. If there is no generated version number, we generate a new version file + // 3. If there is a generated build number, and the release type is development, then we will + // only generate if the publish task is run. + doLast { + def version = wpilibVersioning.version.get() + println "Writing version ${version} to $wpilibVersionFileOutput" + + if (wpilibVersionFileOutput.exists()) { + wpilibVersionFileOutput.delete() + } + def read = wpilibVersionFileInput.text.replace('${wpilib_version}', version) + wpilibVersionFileOutput.write(read) + } + } + + gradle.taskGraph.addTaskExecutionGraphListener { graph -> + def willPublish = graph.hasTask(publish) + if (willPublish) { + generateCppVersion.outputs.upToDateWhen { false } + } + } + + def generateTask = createGenerateResourcesTask('main', 'OV', 'ov', project) + + project(':').libraryBuild.dependsOn build + tasks.withType(CppCompile) { + dependsOn generateTask + dependsOn generateCppVersion + } + + model { + components { + // By default, a development executable will be generated. This is to help the case of + // testing specific functionality of the library. + "${nativeName}"(NativeExecutableSpec) { + baseName = 'outlineviewer' + sources { + cpp { + source { + srcDirs 'src/main/native/cpp', "$buildDir/generated/main/cpp" + include '**/*.cpp' + } + exportedHeaders { + srcDirs 'src/main/native/include' + } + } + if (OperatingSystem.current().isWindows()) { + rc { + source { + srcDirs 'src/main/native/win' + include '*.rc' + } + } + } + } + binaries.all { + if (it.targetPlatform.name == nativeUtils.wpi.platforms.roborio || it.targetPlatform.name == nativeUtils.wpi.platforms.raspbian || it.targetPlatform.name == nativeUtils.wpi.platforms.aarch64bionic) { + it.buildable = false + return + } + lib project: ':glass', library: 'glassnt', linkage: 'static' + lib project: ':glass', library: 'glass', linkage: 'static' + lib project: ':ntcore', library: 'ntcore', linkage: 'static' + lib project: ':wpiutil', library: 'wpiutil', linkage: 'static' + lib project: ':wpigui', library: 'wpigui', linkage: 'static' + nativeUtils.useRequiredLibrary(it, 'imgui_static') + if (it.targetPlatform.operatingSystem.isWindows()) { + it.linker.args << 'Gdi32.lib' << 'Shell32.lib' << 'd3d11.lib' << 'd3dcompiler.lib' + } else if (it.targetPlatform.operatingSystem.isMacOsX()) { + it.linker.args << '-framework' << 'Metal' << '-framework' << 'MetalKit' << '-framework' << 'Cocoa' << '-framework' << 'IOKit' << '-framework' << 'CoreFoundation' << '-framework' << 'CoreVideo' << '-framework' << 'QuartzCore' + } else { + it.linker.args << '-lX11' + } + } + } + } + } + + apply from: 'publish.gradle' +} diff --git a/outlineviewer/publish.gradle b/outlineviewer/publish.gradle new file mode 100644 index 0000000000..85605c47e3 --- /dev/null +++ b/outlineviewer/publish.gradle @@ -0,0 +1,96 @@ +apply plugin: 'maven-publish' + +def baseArtifactId = 'OutlineViewer' +def artifactGroupId = 'edu.wpi.first.tools' +def zipBaseName = '_GROUP_edu_wpi_first_tools_ID_OutlineViewer_CLS' + +def outputsFolder = file("$project.buildDir/outputs") + +model { + publishing { + def outlineViewerTaskList = [] + $.components.each { component -> + component.binaries.each { binary -> + if (binary in NativeExecutableBinarySpec && binary.component.name.contains("outlineviewer")) { + if (binary.buildable && binary.name.contains("Release")) { + // We are now in the binary that we want. + // This is the default application path for the ZIP task. + def applicationPath = binary.executable.file + def icon = file("$project.projectDir/src/main/native/mac/ov.icns") + + // Create the macOS bundle. + def bundleTask = project.tasks.create("bundleOutlineViewerOsxApp", Copy) { + description("Creates a macOS application bundle for OutlineViewer") + from(file("$project.projectDir/Info.plist")) + into(file("$project.buildDir/outputs/bundles/OutlineViewer.app/Contents")) + into("MacOS") { with copySpec { from binary.executable.file } } + into("Resources") { with copySpec { from icon } } + + doLast { + if (project.hasProperty("developerID")) { + // Get path to binary. + exec { + workingDir rootDir + def args = [ + "sh", + "-c", + "codesign --force --strict --deep " + + "--timestamp --options=runtime " + + "--verbose -s ${project.findProperty("developerID")} " + + "$project.buildDir/outputs/bundles/OutlineViewer.app/" + ] + commandLine args + } + } + } + } + + // Reset the application path if we are creating a bundle. + if (binary.targetPlatform.operatingSystem.isMacOsX()) { + applicationPath = file("$project.buildDir/outputs/bundles") + project.build.dependsOn bundleTask + } + + // Create the ZIP. + def task = project.tasks.create("copyOutlineViewerExecutable", Zip) { + description("Copies the OutlineViewer executable to the outputs directory.") + destinationDirectory = outputsFolder + + archiveBaseName = '_M_' + zipBaseName + duplicatesStrategy = 'exclude' + classifier = nativeUtils.getPublishClassifier(binary) + + from(licenseFile) { + into '/' + } + + from(applicationPath) + into(nativeUtils.getPlatformPath(binary)) + } + + if (binary.targetPlatform.operatingSystem.isMacOsX()) { + bundleTask.dependsOn binary.tasks.link + task.dependsOn(bundleTask) + } + + task.dependsOn binary.tasks.link + outlineViewerTaskList.add(task) + project.build.dependsOn task + project.artifacts { task } + addTaskToCopyAllOutputs(task) + } + } + } + } + + publications { + outlineViewer(MavenPublication) { + outlineViewerTaskList.each { artifact it } + + artifactId = baseArtifactId + groupId = artifactGroupId + version wpilibVersioning.version.get() + } + } + } +} diff --git a/outlineviewer/src/main/generate/WPILibVersion.cpp.in b/outlineviewer/src/main/generate/WPILibVersion.cpp.in new file mode 100644 index 0000000000..b0a4490520 --- /dev/null +++ b/outlineviewer/src/main/generate/WPILibVersion.cpp.in @@ -0,0 +1,7 @@ +/* + * Autogenerated file! Do not manually edit this file. This version is regenerated + * any time the publish task is run, or when this file is deleted. + */ +const char* GetWPILibVersion() { + return "${wpilib_version}"; +} diff --git a/outlineviewer/src/main/native/cpp/main.cpp b/outlineviewer/src/main/native/cpp/main.cpp new file mode 100644 index 0000000000..0bfd91614e --- /dev/null +++ b/outlineviewer/src/main/native/cpp/main.cpp @@ -0,0 +1,229 @@ +// 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 + +#include +#include +#include +#include +#include + +#include "glass/Context.h" +#include "glass/Model.h" +#include "glass/networktables/NetworkTables.h" +#include "glass/networktables/NetworkTablesSettings.h" +#include "glass/other/Log.h" + +namespace gui = wpi::gui; + +const char* GetWPILibVersion(); + +namespace ov { +wpi::StringRef GetResource_ov_16_png(); +wpi::StringRef GetResource_ov_32_png(); +wpi::StringRef GetResource_ov_48_png(); +wpi::StringRef GetResource_ov_64_png(); +wpi::StringRef GetResource_ov_128_png(); +wpi::StringRef GetResource_ov_256_png(); +wpi::StringRef GetResource_ov_512_png(); +} // namespace ov + +static std::unique_ptr gModel; +static std::unique_ptr gSettings; +static glass::LogData gLog; +static glass::NetworkTablesFlagsSettings gFlagsSettings; + +static void NtInitialize() { + // update window title when connection status changes + auto inst = nt::GetDefaultInstance(); + auto poller = nt::CreateConnectionListenerPoller(inst); + nt::AddPolledConnectionListener(poller, true); + gui::AddEarlyExecute([inst, poller] { + auto win = gui::GetSystemWindow(); + if (!win) { + return; + } + bool timedOut; + for (auto&& event : nt::PollConnectionListener(poller, 0, &timedOut)) { + if ((nt::GetNetworkMode(inst) & NT_NET_MODE_SERVER) != 0) { + // for server mode, just print number of clients connected + wpi::SmallString<64> title; + glfwSetWindowTitle(win, ("OutlineViewer - " + + wpi::Twine{nt::GetConnections(inst).size()} + + " Clients Connected") + .toNullTerminatedStringRef(title) + .data()); + } else if (event.connected) { + wpi::SmallString<64> title; + title = "OutlineViewer - Connected ("; + title += event.conn.remote_ip; + title += ')'; + glfwSetWindowTitle(win, title.c_str()); + } else { + glfwSetWindowTitle(win, "OutlineViewer - DISCONNECTED"); + } + } + }); + + // handle NetworkTables log messages + auto logPoller = nt::CreateLoggerPoller(inst); + nt::AddPolledLogger(logPoller, NT_LOG_INFO, 100); + gui::AddEarlyExecute([logPoller] { + bool timedOut; + for (auto&& msg : nt::PollLogger(logPoller, 0, &timedOut)) { + const char* level = ""; + if (msg.level >= NT_LOG_CRITICAL) { + level = "CRITICAL: "; + } else if (msg.level >= NT_LOG_ERROR) { + level = "ERROR: "; + } else if (msg.level >= NT_LOG_WARNING) { + level = "WARNING: "; + } + gLog.Append(wpi::Twine{level} + msg.message + wpi::Twine{" ("} + + msg.filename + wpi::Twine{':'} + wpi::Twine{msg.line} + + wpi::Twine{")\n"}); + } + }); + + // NetworkTables table window + gModel = std::make_unique(); + gui::AddEarlyExecute([] { gModel->Update(); }); + + // NetworkTables settings window + gSettings = std::make_unique(); + gui::AddEarlyExecute([] { gSettings->Update(); }); +} + +static void DisplayGui() { + ImGui::GetStyle().WindowRounding = 0; + + // fill entire OS window with this window + ImGui::SetNextWindowPos(ImVec2(0, 0)); + int width, height; + glfwGetWindowSize(gui::GetSystemWindow(), &width, &height); + ImGui::SetNextWindowSize(ImVec2(width, height)); + + ImGui::Begin("Entries", nullptr, + ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_MenuBar | + ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | + ImGuiWindowFlags_NoCollapse); + + gFlagsSettings.Update(); + + // can't create popups from within menu, so use flags + bool settings = false; + bool log = false; + bool about = false; + + // main menu + ImGui::BeginMenuBar(); + gui::EmitViewMenu(); + if (ImGui::BeginMenu("View")) { + gFlagsSettings.DisplayMenu(); + ImGui::EndMenu(); + } + + if (ImGui::BeginMenu("Options")) { + if (ImGui::MenuItem("Settings")) { + settings = true; + } + ImGui::EndMenu(); + } + + if (ImGui::BeginMenu("Info")) { + if (ImGui::MenuItem("Log")) { + log = true; + } + ImGui::Separator(); + if (ImGui::MenuItem("About")) { + about = true; + } + ImGui::EndMenu(); + } + ImGui::EndMenuBar(); + + // settings popup + if (settings) { + ImGui::OpenPopup("Settings"); + } + if (ImGui::BeginPopupModal("Settings", nullptr, + ImGuiWindowFlags_AlwaysAutoResize)) { + if (gSettings->Display()) { + ImGui::CloseCurrentPopup(); + } + ImGui::SameLine(); + if (ImGui::Button("Cancel")) { + ImGui::CloseCurrentPopup(); + } + ImGui::EndPopup(); + } + + // log popup + if (log) { + ImGui::OpenPopup("Log"); + } + if (ImGui::BeginPopupModal("Log", nullptr, + ImGuiWindowFlags_AlwaysAutoResize)) { + if (ImGui::Button("Close")) { + ImGui::CloseCurrentPopup(); + } + ImGui::BeginChild("Lines", ImVec2(width * 0.75f, height * 0.75f)); + glass::DisplayLog(&gLog, true); + ImGui::EndChild(); + ImGui::EndPopup(); + } + + // about popup + if (about) { + ImGui::OpenPopup("About"); + } + if (ImGui::BeginPopupModal("About", nullptr, + ImGuiWindowFlags_AlwaysAutoResize)) { + ImGui::Text("OutlineViewer"); + ImGui::Separator(); + ImGui::Text("v%s", GetWPILibVersion()); + if (ImGui::Button("Close")) { + ImGui::CloseCurrentPopup(); + } + ImGui::EndPopup(); + } + + // display table view + glass::DisplayNetworkTables(gModel.get(), gFlagsSettings.GetFlags()); + + ImGui::End(); +} + +#ifdef _WIN32 +int __stdcall WinMain(void* hInstance, void* hPrevInstance, char* pCmdLine, + int nCmdShow) { +#else +int main() { +#endif + gui::CreateContext(); + glass::CreateContext(); + + gui::AddIcon(ov::GetResource_ov_16_png()); + gui::AddIcon(ov::GetResource_ov_32_png()); + gui::AddIcon(ov::GetResource_ov_48_png()); + gui::AddIcon(ov::GetResource_ov_64_png()); + gui::AddIcon(ov::GetResource_ov_128_png()); + gui::AddIcon(ov::GetResource_ov_256_png()); + gui::AddIcon(ov::GetResource_ov_512_png()); + + gui::ConfigurePlatformSaveFile("outlineviewer.ini"); + gui::AddInit(NtInitialize); + + gui::AddLateExecute(DisplayGui); + + gui::Initialize("OutlineViewer - DISCONNECTED", 1024, 768); + gui::Main(); + + gModel.reset(); + gSettings.reset(); + + glass::DestroyContext(); + gui::DestroyContext(); +} diff --git a/outlineviewer/src/main/native/mac/ov.icns b/outlineviewer/src/main/native/mac/ov.icns new file mode 100644 index 0000000000000000000000000000000000000000..b96e85928b5ea1a7440859b8899c42fc6a05a7b7 GIT binary patch literal 92922 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 literal 0 HcmV?d00001 diff --git a/outlineviewer/src/main/native/resources/ov-128.png b/outlineviewer/src/main/native/resources/ov-128.png new file mode 100644 index 0000000000000000000000000000000000000000..950d0ca2db1eeaf3e6a008f818188439aa1433e9 GIT binary patch literal 4796 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 WFBz5viCeJ%0000MO=FT literal 0 HcmV?d00001 diff --git a/outlineviewer/src/main/native/resources/ov-16.png b/outlineviewer/src/main/native/resources/ov-16.png new file mode 100644 index 0000000000000000000000000000000000000000..db84366bd9cac8f9101fc5613049da79dde25d11 GIT binary patch literal 533 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 E54|&Q&;S4c literal 0 HcmV?d00001 diff --git a/outlineviewer/src/main/native/resources/ov-32.png b/outlineviewer/src/main/native/resources/ov-32.png new file mode 100644 index 0000000000000000000000000000000000000000..4db8e8b5891d16ff7cd1ffa03bbbc1beaa69681b GIT binary patch literal 1149 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 literal 0 HcmV?d00001 diff --git a/outlineviewer/src/main/native/win/outlineviewer.rc b/outlineviewer/src/main/native/win/outlineviewer.rc new file mode 100644 index 0000000000..85bdcae2ef --- /dev/null +++ b/outlineviewer/src/main/native/win/outlineviewer.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON "outlineviewer.ico" diff --git a/settings.gradle b/settings.gradle index 89cba97761..0cd962f700 100644 --- a/settings.gradle +++ b/settings.gradle @@ -29,6 +29,7 @@ include 'wpilibjExamples' include 'wpilibjIntegrationTests' include 'wpilibj' include 'glass' +include 'outlineviewer' include 'simulation:gz_msgs' include 'simulation:frc_gazebo_plugins' include 'simulation:halsim_gazebo'