wpilibsuite / shuffleboard

A modern dashboard for FRC
Other
79 stars 84 forks source link

Dynamic NT metadata / plugin can alter tiles and new nt metadata fields #769

Open oh-yes-0-fps opened 1 year ago

oh-yes-0-fps commented 1 year ago

Overview

Adds more allowed metadata fields to NT for Opacity and ContentVisibility and allows widgets to dynamically update to any new metadata. this is achieved by having an object in API that tiles subscribe/listen to that can change content visibility, opacity, size, position, and widget type. This will allow not just NT but any plugin to have this ability. Tiles now have a lock|unlock option in their context menu that makes them immune to any plugins dynamic changes and in preferences/settings for the NT plugin u can disable the dynamic metadata feature in case it hinders you.

I was having build errors directly pulled off main with examples folder and a file check in build.gradle so if you merge I would recommend throwing out those changes (I'm sorry for the inconvenience) and I will write unit tests soon.

Screenshots

image image image