#include "menuitems.h" namespace segl { // MISendSDLEvent MISendSDLEvent::MISendSDLEvent(std::string str, SDL_Event event) : MenuItem(str) { resetEvent(event); } void MISendSDLEvent::select() { SDL_PushEvent(&sendevent); } void MISendSDLEvent::resetEvent(SDL_Event event) { sendevent = event; } // MITextLabel MITextLabel::MITextLabel(std::string str) : MenuItem(str) { selectable = false; } // MIValueLabel MIValueLabel::MIValueLabel(std::string str) : MenuItem(str) { selectable = false; usevalue = true; } void MIValueLabel::setValue(std::string _val) { value = _val; } // MIToggle MIToggle::MIToggle(std::string str) : MenuItem(str) { usevalue = true; togglepos = 0; } void MIToggle::left() { togglepos--; if(togglepos<0) togglepos = toggles.size()-1; value = getValueString(); } void MIToggle::right() { togglepos++; if((unsigned int)togglepos>=toggles.size()) togglepos = 0; value = getValueString(); } void MIToggle::select() { right(); } void MIToggle::addToggle(std::string str) { toggles.push_back(str); if(toggles.size()==1) { value = getValueString(); } } int MIToggle::getMaxValueLen() { int ret=0; for(unsigned int i=0; i=toggles.size()) return; togglepos = val; value = getValueString(); } void MIToggle::setValueString(std::string str) { for(unsigned int t=0; t0) { value = value.substr(0, value.length()-1); } } else if(c>=32) { if(!maxlen || value.length()<(unsigned int)maxlen) value +=c; // std::cout << maxlen << " && " << value.length() << " < " << maxlen << std::endl; } } void MIStringInput::setValue(std::string str) { value = str; } int MIStringInput::getMaxValueLen() { return maxlen; } std::string MIStringInput::getValue() { return value; } void MIStringInput::setMaxLen(int _maxlen) { maxlen = _maxlen; } // MICheckbox MICheckBox::MICheckBox(std::string str) : MenuItem(str) { usevalue = true; } bool MICheckBox::isChecked() { return state; } void MICheckBox::setState(bool _state) { state = _state; updateValue(); } void MICheckBox::select() { right(); } void MICheckBox::right() { state = !state; updateValue(); } void MICheckBox::left() { state = !state; updateValue(); } int MICheckBox::getMaxValueLen() { return 3; } void MICheckBox::updateValue() { value = state ? "An" : "Aus"; } // MIEventOnToggle MIEventOnToggle::MIEventOnToggle(std::string str, SDL_Event event) : MIToggle(str) { resetEvent(event); } void MIEventOnToggle::sendEvent() { SDL_PushEvent(&sendevent); } void MIEventOnToggle::select() { MIToggle::select(); sendEvent(); } void MIEventOnToggle::left() { MIToggle::left(); sendEvent(); } void MIEventOnToggle::right() { MIToggle::right(); sendEvent(); } void MIEventOnToggle::resetEvent(SDL_Event event) { sendevent = event; } } // namespace segl