2020-12-26 14:12:05 -08:00
|
|
|
// 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.
|
2018-09-28 04:18:18 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2021-06-06 16:13:58 -07:00
|
|
|
#include <string_view>
|
2018-09-28 04:18:18 -04:00
|
|
|
|
|
|
|
|
namespace frc {
|
|
|
|
|
|
|
|
|
|
class ShuffleboardTab;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The root of the data placed in Shuffleboard. It contains the tabs, but no
|
|
|
|
|
* data is placed directly in the root.
|
|
|
|
|
*
|
|
|
|
|
* This class is package-private to minimize API surface area.
|
|
|
|
|
*/
|
|
|
|
|
class ShuffleboardRoot {
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* Gets the tab with the given title, creating it if it does not already
|
|
|
|
|
* exist.
|
|
|
|
|
*
|
|
|
|
|
* @param title the title of the tab
|
|
|
|
|
* @return the tab with the given title
|
|
|
|
|
*/
|
2021-06-06 16:13:58 -07:00
|
|
|
virtual ShuffleboardTab& GetTab(std::string_view title) = 0;
|
2018-09-28 04:18:18 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Updates all tabs.
|
|
|
|
|
*/
|
|
|
|
|
virtual void Update() = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Enables all widgets in Shuffleboard that offer user control over actuators.
|
|
|
|
|
*/
|
|
|
|
|
virtual void EnableActuatorWidgets() = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Disables all widgets in Shuffleboard that offer user control over
|
|
|
|
|
* actuators.
|
|
|
|
|
*/
|
|
|
|
|
virtual void DisableActuatorWidgets() = 0;
|
2018-11-28 01:12:50 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Selects the tab in the dashboard with the given index in the range
|
|
|
|
|
* [0..n-1], where <i>n</i> is the number of tabs in the dashboard at the time
|
|
|
|
|
* this method is called.
|
|
|
|
|
*
|
|
|
|
|
* @param index the index of the tab to select
|
|
|
|
|
*/
|
|
|
|
|
virtual void SelectTab(int index) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Selects the tab in the dashboard with the given title.
|
|
|
|
|
*
|
|
|
|
|
* @param title the title of the tab to select
|
|
|
|
|
*/
|
2021-06-06 16:13:58 -07:00
|
|
|
virtual void SelectTab(std::string_view title) = 0;
|
2018-09-28 04:18:18 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace frc
|