MCPcopy Create free account
hub / github.com/SpartanJ/eepp / insertStatusBarElement

Method insertStatusBarElement

src/tools/ecode/uistatusbar.cpp:192–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190}
191
192UIPushButton* UIStatusBar::insertStatusBarElement( std::string id, const String& text,
193 const std::string& icon,
194 std::shared_ptr<StatusBarElement> element ) {
195 auto elemIt = mElements.find( id );
196 UIPushButton* button = nullptr;
197 if ( elemIt != mElements.end() ) {
198 button = elemIt->second.first;
199 mElements.erase( elemIt );
200 } else {
201 button = UIPushButton::New();
202 button->beginAttributesTransaction();
203 button->setText( text );
204 button->setParent( this )->setId( id );
205 button->setClass( "status_but" );
206 UIWidget* statusSep = findByClass( "status_sep" );
207 if ( statusSep )
208 button->toPosition( statusSep->getNodeIndex() );
209 button->applyProperty(
210 StyleSheetProperty( "icon", icon, false, StyleSheetSelectorRule::SpecificityInline ) );
211 button->endAttributesTransaction();
212 }
213
214 mElements[id] = { button, element };
215 return button;
216}
217
218void UIStatusBar::removeStatusBarElement( const std::string& id ) {
219 auto elemIt = mElements.find( id );

Callers 1

buildStatusBarMethod · 0.80

Calls 14

findByClassFunction · 0.85
setParentMethod · 0.80
setClassMethod · 0.80
toPositionMethod · 0.80
getNodeIndexMethod · 0.80
NewFunction · 0.50
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
setTextMethod · 0.45

Tested by

no test coverage detected