[wpilibc] Shuffleboard SimpleWidget: Return pointer instead of reference (#4703)

Based on beta test feedback, returning a pointer is more intuitive, as
typically the return value is late bound to an instance variable.
This commit is contained in:
Peter Johnson
2022-11-24 09:05:37 -08:00
committed by GitHub
parent e15200068d
commit 34ec89c041
5 changed files with 35 additions and 33 deletions

View File

@@ -83,7 +83,7 @@ SimpleWidget& ShuffleboardContainer::Add(std::string_view title,
auto ptr = widget.get();
m_components.emplace_back(std::move(widget));
ptr->GetEntry(nt::GetStringFromType(defaultValue.type()))
.SetDefault(defaultValue);
->SetDefault(defaultValue);
return *ptr;
}
@@ -322,7 +322,7 @@ SimpleWidget& ShuffleboardContainer::AddPersistent(
std::string_view title, const nt::Value& defaultValue) {
auto& widget = Add(title, defaultValue);
widget.GetEntry(nt::GetStringFromType(defaultValue.type()))
.GetTopic()
->GetTopic()
.SetPersistent(true);
return widget;
}

View File

@@ -14,19 +14,19 @@ SimpleWidget::SimpleWidget(ShuffleboardContainer& parent,
std::string_view title)
: ShuffleboardValue(title), ShuffleboardWidget(parent, title), m_entry() {}
nt::GenericEntry& SimpleWidget::GetEntry() {
nt::GenericEntry* SimpleWidget::GetEntry() {
if (!m_entry) {
ForceGenerate();
}
return m_entry;
return &m_entry;
}
nt::GenericEntry& SimpleWidget::GetEntry(std::string_view typeString) {
nt::GenericEntry* SimpleWidget::GetEntry(std::string_view typeString) {
if (!m_entry) {
m_typeString = typeString;
ForceGenerate();
}
return m_entry;
return &m_entry;
}
void SimpleWidget::BuildInto(std::shared_ptr<nt::NetworkTable> parentTable,