7 #include "SmartDashboard/SendableChooser.h"
8 #include "networktables2/type/StringArray.h"
12 static const char *kDefault =
"default";
13 static const char *kOptions =
"options";
14 static const char *kSelected =
"selected";
16 SendableChooser::SendableChooser()
29 m_choices[name] = object;
41 m_defaultChoice = name;
52 std::string selected = m_table->
GetString(kSelected, m_defaultChoice);
56 return m_choices[selected];
62 if (m_table != NULL) {
63 std::map<std::string, void *>::iterator iter;
64 for (iter = m_choices.begin(); iter != m_choices.end(); iter++) {
65 keys.add(iter->first);
68 m_table->
PutString(kDefault, m_defaultChoice);
77 return "String Chooser";
virtual void InitTable(ITable *subtable)
virtual void PutValue(std::string key, ComplexData &value)=0
virtual std::string GetString(std::string key)=0
void AddDefault(const char *name, void *object)
virtual std::string GetSmartDashboardType()
virtual void PutString(std::string key, std::string value)=0
void AddObject(const char *name, void *object)
virtual ITable * GetTable()