-class QuicktuneShortcutter
-{
-private:
- std::vector<std::string> m_names;
- u32 m_selected_i;
- std::string m_message;
-public:
- std::string getMessage()
- {
- std::string s = m_message;
- m_message = "";
- return s;
- }
- std::string getSelectedName()
- {
- if(m_selected_i < m_names.size())
- return m_names[m_selected_i];
- return "";
- }
- void next()
- {
- m_names = getQuicktuneNames();
- if(m_selected_i < m_names.size()-1)
- m_selected_i++;
- else
- m_selected_i = 0;
- m_message = std::string("Selected \"")+getSelectedName()+"\"";
- }
- void prev()
- {
- m_names = getQuicktuneNames();
- if(m_selected_i > 0)
- m_selected_i--;
- else
- m_selected_i = m_names.size()-1;
- m_message = std::string("Selected \"")+getSelectedName()+"\"";
- }
- void inc()
- {
- QuicktuneValue val = getQuicktuneValue(getSelectedName());
- switch(val.type){
- case QUICKTUNE_NONE:
- break;
- case QUICKTUNE_FLOAT:
- val.value_float.current += 0.05 * (val.value_float.max - val.value_float.min);
- if(val.value_float.current > val.value_float.max)
- val.value_float.current = val.value_float.max;
- m_message = std::string("\"")+getSelectedName()
- +"\" = "+ftos(val.value_float.current);
- break;
- default:
- m_message = std::string("\"")+getSelectedName()
- +"\" has unknown value type";
- }
- setQuicktuneValue(getSelectedName(), val);
- }
- void dec()
- {
- QuicktuneValue val = getQuicktuneValue(getSelectedName());
- switch(val.type){
- case QUICKTUNE_NONE:
- break;
- case QUICKTUNE_FLOAT:
- val.value_float.current -= 0.05 * (val.value_float.max - val.value_float.min);
- if(val.value_float.current < val.value_float.max)
- val.value_float.current = val.value_float.max;
- m_message = std::string("\"")+getSelectedName()
- +"\" = "+ftos(val.value_float.current);
- break;
- default:
- m_message = std::string("\"")+getSelectedName()
- +"\" has unknown value type";
- }
- setQuicktuneValue(getSelectedName(), val);
- }
-};
-