WPILibC++  unspecified
frc::SendableChooser< T > Class Template Reference

The SendableChooser class is a useful tool for presenting a selection of options to the SmartDashboard. More...

#include <SendableChooser.h>

Inheritance diagram for frc::SendableChooser< T >:
Collaboration diagram for frc::SendableChooser< T >:

Public Member Functions

void AddObject (llvm::StringRef name, T object)
 Adds the given object to the list of options. More...
 
void AddDefault (llvm::StringRef name, T object)
 Add the given object to the list of options and marks it as the default. More...
 
auto GetSelected () -> decltype(_unwrap_smart_ptr(m_choices[""]))
 Returns a copy of the selected option (a raw pointer U* if T = std::unique_ptr<U> or a std::weak_ptr<U> if T = std::shared_ptr<U>). More...
 
void InitSendable (SendableBuilder &builder) override
 Initializes this Sendable object. More...
 
- Public Member Functions inherited from frc::SendableBase
 SendableBase (bool addLiveWindow=true)
 Creates an instance of the sensor base. More...
 
 ~SendableBase () override
 Free the resources used by this object.
 
std::string GetName () const final
 Gets the name of this Sendable object. More...
 
void SetName (const llvm::Twine &name) final
 Sets the name of this Sendable object. More...
 
std::string GetSubsystem () const final
 Gets the subsystem name of this Sendable object. More...
 
void SetSubsystem (const llvm::Twine &subsystem) final
 Sets the subsystem name of this Sendable object. More...
 
- Public Member Functions inherited from frc::Sendable
void SetName (const llvm::Twine &subsystem, const llvm::Twine &name)
 Sets both the subsystem name and device name of this Sendable object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from frc::SendableBase
void AddChild (std::shared_ptr< Sendable > child)
 Add a child component. More...
 
void AddChild (void *child)
 Add a child component. More...
 
void SetName (const llvm::Twine &moduleType, int channel)
 Sets the name of the sensor with a channel number. More...
 
void SetName (const llvm::Twine &moduleType, int moduleNumber, int channel)
 Sets the name of the sensor with a module and channel number. More...
 
- Protected Attributes inherited from frc::SendableChooserBase
std::string m_defaultChoice
 
nt::NetworkTableEntry m_selectedEntry
 
- Static Protected Attributes inherited from frc::SendableChooserBase
static const char * kDefault = "default"
 
static const char * kOptions = "options"
 
static const char * kSelected = "selected"
 

Detailed Description

template<class T>
class frc::SendableChooser< T >

The SendableChooser class is a useful tool for presenting a selection of options to the SmartDashboard.

For instance, you may wish to be able to select between multiple autonomous modes. You can do this by putting every possible Command you want to run as an autonomous into a SendableChooser and then put it into the SmartDashboard to have a list of options appear on the laptop. Once autonomous starts, simply ask the SendableChooser what the selected value is.

Template Parameters
TThe type of values to be stored
See also
SmartDashboard

Member Function Documentation

template<class T >
void frc::SendableChooser< T >::AddDefault ( llvm::StringRef  name,
object 
)

Add the given object to the list of options and marks it as the default.

Functionally, this is very close to AddObject() except that it will use this as the default option if none other is explicitly selected.

Parameters
namethe name of the option
objectthe option
template<class T >
void frc::SendableChooser< T >::AddObject ( llvm::StringRef  name,
object 
)

Adds the given object to the list of options.

On the SmartDashboard on the desktop, the object will appear as the given name.

Parameters
namethe name of the option
objectthe option
template<class T >
auto frc::SendableChooser< T >::GetSelected ( ) -> decltype(_unwrap_smart_ptr(m_choices[""]))

Returns a copy of the selected option (a raw pointer U* if T = std::unique_ptr<U> or a std::weak_ptr<U> if T = std::shared_ptr<U>).

If there is none selected, it will return the default. If there is none selected and no default, then it will return a value-initialized instance. For integer types, this is 0. For container types like std::string, this is an empty string.

Returns
The option selected
template<class T >
void frc::SendableChooser< T >::InitSendable ( SendableBuilder builder)
overridevirtual

Initializes this Sendable object.

Parameters
buildersendable builder

Implements frc::Sendable.


The documentation for this class was generated from the following files: