/*
 * This file is autogenerated with bcop:
 * The Compiz option code generator
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */


#include <core/core.h>

#include "commands_options.h"

CommandsOptions::CommandsOptions (bool init /* = true */) :
    mOptions (CommandsOptions::OptionNum),
    mNotify (CommandsOptions::OptionNum)
{
    if (init)
        initOptions ();
}

void
CommandsOptions::initOptions ()
{
    unsigned int state;
    CompAction action;
    unsigned int edge;

    // command0
    mOptions[CommandsOptions::Command0].setName ("command0", CompOption::TypeString);
    mOptions[CommandsOptions::Command0].value().set(CompString (""));

    // command1
    mOptions[CommandsOptions::Command1].setName ("command1", CompOption::TypeString);
    mOptions[CommandsOptions::Command1].value().set(CompString (""));

    // command2
    mOptions[CommandsOptions::Command2].setName ("command2", CompOption::TypeString);
    mOptions[CommandsOptions::Command2].value().set(CompString (""));

    // command3
    mOptions[CommandsOptions::Command3].setName ("command3", CompOption::TypeString);
    mOptions[CommandsOptions::Command3].value().set(CompString (""));

    // command4
    mOptions[CommandsOptions::Command4].setName ("command4", CompOption::TypeString);
    mOptions[CommandsOptions::Command4].value().set(CompString (""));

    // command5
    mOptions[CommandsOptions::Command5].setName ("command5", CompOption::TypeString);
    mOptions[CommandsOptions::Command5].value().set(CompString (""));

    // command6
    mOptions[CommandsOptions::Command6].setName ("command6", CompOption::TypeString);
    mOptions[CommandsOptions::Command6].value().set(CompString (""));

    // command7
    mOptions[CommandsOptions::Command7].setName ("command7", CompOption::TypeString);
    mOptions[CommandsOptions::Command7].value().set(CompString (""));

    // command8
    mOptions[CommandsOptions::Command8].setName ("command8", CompOption::TypeString);
    mOptions[CommandsOptions::Command8].value().set(CompString (""));

    // command9
    mOptions[CommandsOptions::Command9].setName ("command9", CompOption::TypeString);
    mOptions[CommandsOptions::Command9].value().set(CompString (""));

    // command10
    mOptions[CommandsOptions::Command10].setName ("command10", CompOption::TypeString);
    mOptions[CommandsOptions::Command10].value().set(CompString (""));

    // command11
    mOptions[CommandsOptions::Command11].setName ("command11", CompOption::TypeString);
    mOptions[CommandsOptions::Command11].value().set(CompString (""));

    // command12
    mOptions[CommandsOptions::Command12].setName ("command12", CompOption::TypeString);
    mOptions[CommandsOptions::Command12].value().set(CompString (""));

    // command13
    mOptions[CommandsOptions::Command13].setName ("command13", CompOption::TypeString);
    mOptions[CommandsOptions::Command13].value().set(CompString (""));

    // command14
    mOptions[CommandsOptions::Command14].setName ("command14", CompOption::TypeString);
    mOptions[CommandsOptions::Command14].value().set(CompString (""));

    // command15
    mOptions[CommandsOptions::Command15].setName ("command15", CompOption::TypeString);
    mOptions[CommandsOptions::Command15].value().set(CompString (""));

    // command16
    mOptions[CommandsOptions::Command16].setName ("command16", CompOption::TypeString);
    mOptions[CommandsOptions::Command16].value().set(CompString (""));

    // command17
    mOptions[CommandsOptions::Command17].setName ("command17", CompOption::TypeString);
    mOptions[CommandsOptions::Command17].value().set(CompString (""));

    // command18
    mOptions[CommandsOptions::Command18].setName ("command18", CompOption::TypeString);
    mOptions[CommandsOptions::Command18].value().set(CompString (""));

    // command19
    mOptions[CommandsOptions::Command19].setName ("command19", CompOption::TypeString);
    mOptions[CommandsOptions::Command19].value().set(CompString (""));

    // command20
    mOptions[CommandsOptions::Command20].setName ("command20", CompOption::TypeString);
    mOptions[CommandsOptions::Command20].value().set(CompString (""));

    // run_command0_key
    mOptions[CommandsOptions::RunCommand0Key].setName ("run_command0_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand0Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand0Key].value ().action ());

    // run_command1_key
    mOptions[CommandsOptions::RunCommand1Key].setName ("run_command1_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand1Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand1Key].value ().action ());

    // run_command2_key
    mOptions[CommandsOptions::RunCommand2Key].setName ("run_command2_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand2Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand2Key].value ().action ());

    // run_command3_key
    mOptions[CommandsOptions::RunCommand3Key].setName ("run_command3_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand3Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand3Key].value ().action ());

    // run_command4_key
    mOptions[CommandsOptions::RunCommand4Key].setName ("run_command4_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand4Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand4Key].value ().action ());

    // run_command5_key
    mOptions[CommandsOptions::RunCommand5Key].setName ("run_command5_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand5Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand5Key].value ().action ());

    // run_command6_key
    mOptions[CommandsOptions::RunCommand6Key].setName ("run_command6_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand6Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand6Key].value ().action ());

    // run_command7_key
    mOptions[CommandsOptions::RunCommand7Key].setName ("run_command7_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand7Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand7Key].value ().action ());

    // run_command8_key
    mOptions[CommandsOptions::RunCommand8Key].setName ("run_command8_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand8Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand8Key].value ().action ());

    // run_command9_key
    mOptions[CommandsOptions::RunCommand9Key].setName ("run_command9_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand9Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand9Key].value ().action ());

    // run_command10_key
    mOptions[CommandsOptions::RunCommand10Key].setName ("run_command10_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand10Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand10Key].value ().action ());

    // run_command11_key
    mOptions[CommandsOptions::RunCommand11Key].setName ("run_command11_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand11Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand11Key].value ().action ());

    // run_command12_key
    mOptions[CommandsOptions::RunCommand12Key].setName ("run_command12_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand12Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand12Key].value ().action ());

    // run_command13_key
    mOptions[CommandsOptions::RunCommand13Key].setName ("run_command13_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand13Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand13Key].value ().action ());

    // run_command14_key
    mOptions[CommandsOptions::RunCommand14Key].setName ("run_command14_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand14Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand14Key].value ().action ());

    // run_command15_key
    mOptions[CommandsOptions::RunCommand15Key].setName ("run_command15_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand15Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand15Key].value ().action ());

    // run_command16_key
    mOptions[CommandsOptions::RunCommand16Key].setName ("run_command16_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand16Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand16Key].value ().action ());

    // run_command17_key
    mOptions[CommandsOptions::RunCommand17Key].setName ("run_command17_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand17Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand17Key].value ().action ());

    // run_command18_key
    mOptions[CommandsOptions::RunCommand18Key].setName ("run_command18_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand18Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand18Key].value ().action ());

    // run_command19_key
    mOptions[CommandsOptions::RunCommand19Key].setName ("run_command19_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand19Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand19Key].value ().action ());

    // run_command20_key
    mOptions[CommandsOptions::RunCommand20Key].setName ("run_command20_key", CompOption::TypeKey);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitKey);
    mOptions[CommandsOptions::RunCommand20Key].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand20Key].value ().action ());

    // run_command0_button
    mOptions[CommandsOptions::RunCommand0Button].setName ("run_command0_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand0Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand0Button].value ().action ());

    // run_command1_button
    mOptions[CommandsOptions::RunCommand1Button].setName ("run_command1_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand1Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand1Button].value ().action ());

    // run_command2_button
    mOptions[CommandsOptions::RunCommand2Button].setName ("run_command2_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand2Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand2Button].value ().action ());

    // run_command3_button
    mOptions[CommandsOptions::RunCommand3Button].setName ("run_command3_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand3Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand3Button].value ().action ());

    // run_command4_button
    mOptions[CommandsOptions::RunCommand4Button].setName ("run_command4_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand4Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand4Button].value ().action ());

    // run_command5_button
    mOptions[CommandsOptions::RunCommand5Button].setName ("run_command5_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand5Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand5Button].value ().action ());

    // run_command6_button
    mOptions[CommandsOptions::RunCommand6Button].setName ("run_command6_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand6Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand6Button].value ().action ());

    // run_command7_button
    mOptions[CommandsOptions::RunCommand7Button].setName ("run_command7_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand7Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand7Button].value ().action ());

    // run_command8_button
    mOptions[CommandsOptions::RunCommand8Button].setName ("run_command8_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand8Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand8Button].value ().action ());

    // run_command9_button
    mOptions[CommandsOptions::RunCommand9Button].setName ("run_command9_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand9Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand9Button].value ().action ());

    // run_command10_button
    mOptions[CommandsOptions::RunCommand10Button].setName ("run_command10_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand10Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand10Button].value ().action ());

    // run_command11_button
    mOptions[CommandsOptions::RunCommand11Button].setName ("run_command11_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand11Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand11Button].value ().action ());

    // run_command12_button
    mOptions[CommandsOptions::RunCommand12Button].setName ("run_command12_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand12Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand12Button].value ().action ());

    // run_command13_button
    mOptions[CommandsOptions::RunCommand13Button].setName ("run_command13_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand13Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand13Button].value ().action ());

    // run_command14_button
    mOptions[CommandsOptions::RunCommand14Button].setName ("run_command14_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand14Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand14Button].value ().action ());

    // run_command15_button
    mOptions[CommandsOptions::RunCommand15Button].setName ("run_command15_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand15Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand15Button].value ().action ());

    // run_command16_button
    mOptions[CommandsOptions::RunCommand16Button].setName ("run_command16_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand16Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand16Button].value ().action ());

    // run_command17_button
    mOptions[CommandsOptions::RunCommand17Button].setName ("run_command17_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand17Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand17Button].value ().action ());

    // run_command18_button
    mOptions[CommandsOptions::RunCommand18Button].setName ("run_command18_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand18Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand18Button].value ().action ());

    // run_command19_button
    mOptions[CommandsOptions::RunCommand19Button].setName ("run_command19_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand19Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand19Button].value ().action ());

    // run_command20_button
    mOptions[CommandsOptions::RunCommand20Button].setName ("run_command20_button", CompOption::TypeButton);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitButton);
    mOptions[CommandsOptions::RunCommand20Button].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand20Button].value ().action ());

    // run_command0_edge
    mOptions[CommandsOptions::RunCommand0Edge].setName ("run_command0_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand0Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand0Edge].value ().action ());

    // run_command1_edge
    mOptions[CommandsOptions::RunCommand1Edge].setName ("run_command1_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand1Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand1Edge].value ().action ());

    // run_command2_edge
    mOptions[CommandsOptions::RunCommand2Edge].setName ("run_command2_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand2Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand2Edge].value ().action ());

    // run_command3_edge
    mOptions[CommandsOptions::RunCommand3Edge].setName ("run_command3_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand3Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand3Edge].value ().action ());

    // run_command4_edge
    mOptions[CommandsOptions::RunCommand4Edge].setName ("run_command4_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand4Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand4Edge].value ().action ());

    // run_command5_edge
    mOptions[CommandsOptions::RunCommand5Edge].setName ("run_command5_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand5Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand5Edge].value ().action ());

    // run_command6_edge
    mOptions[CommandsOptions::RunCommand6Edge].setName ("run_command6_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand6Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand6Edge].value ().action ());

    // run_command7_edge
    mOptions[CommandsOptions::RunCommand7Edge].setName ("run_command7_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand7Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand7Edge].value ().action ());

    // run_command8_edge
    mOptions[CommandsOptions::RunCommand8Edge].setName ("run_command8_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand8Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand8Edge].value ().action ());

    // run_command9_edge
    mOptions[CommandsOptions::RunCommand9Edge].setName ("run_command9_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand9Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand9Edge].value ().action ());

    // run_command10_edge
    mOptions[CommandsOptions::RunCommand10Edge].setName ("run_command10_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand10Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand10Edge].value ().action ());

    // run_command11_edge
    mOptions[CommandsOptions::RunCommand11Edge].setName ("run_command11_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand11Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand11Edge].value ().action ());

    // run_command12_edge
    mOptions[CommandsOptions::RunCommand12Edge].setName ("run_command12_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand12Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand12Edge].value ().action ());

    // run_command13_edge
    mOptions[CommandsOptions::RunCommand13Edge].setName ("run_command13_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand13Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand13Edge].value ().action ());

    // run_command14_edge
    mOptions[CommandsOptions::RunCommand14Edge].setName ("run_command14_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand14Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand14Edge].value ().action ());

    // run_command15_edge
    mOptions[CommandsOptions::RunCommand15Edge].setName ("run_command15_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand15Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand15Edge].value ().action ());

    // run_command16_edge
    mOptions[CommandsOptions::RunCommand16Edge].setName ("run_command16_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand16Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand16Edge].value ().action ());

    // run_command17_edge
    mOptions[CommandsOptions::RunCommand17Edge].setName ("run_command17_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand17Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand17Edge].value ().action ());

    // run_command18_edge
    mOptions[CommandsOptions::RunCommand18Edge].setName ("run_command18_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand18Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand18Edge].value ().action ());

    // run_command19_edge
    mOptions[CommandsOptions::RunCommand19Edge].setName ("run_command19_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand19Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand19Edge].value ().action ());

    // run_command20_edge
    mOptions[CommandsOptions::RunCommand20Edge].setName ("run_command20_edge", CompOption::TypeEdge);
    state = CompAction::StateAutoGrab;
    action = CompAction ();
    action.setState (state | CompAction::StateInitEdge);
    edge = 0;
    action.setEdgeMask (edge);
    mOptions[CommandsOptions::RunCommand20Edge].value().set (action);
    if (screen) screen->addAction (&mOptions[CommandsOptions::RunCommand20Edge].value ().action ());

}

CommandsOptions::~CommandsOptions ()
{
}


CompOption::Vector &
CommandsOptions::getOptions ()
{
    return mOptions;
}

bool
CommandsOptions::setOption (const CompString &name, CompOption::Value &value)
{
    CompOption   *o;
    unsigned int index;

    o = CompOption::findOption (mOptions, name, &index);

    if (!o)
        return false;

    switch (index)
    {
        case CommandsOptions::Command0:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command0].empty ())
                    mNotify[CommandsOptions::Command0] (o, CommandsOptions::Command0);
                return true;
            }
            break;
        case CommandsOptions::Command1:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command1].empty ())
                    mNotify[CommandsOptions::Command1] (o, CommandsOptions::Command1);
                return true;
            }
            break;
        case CommandsOptions::Command2:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command2].empty ())
                    mNotify[CommandsOptions::Command2] (o, CommandsOptions::Command2);
                return true;
            }
            break;
        case CommandsOptions::Command3:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command3].empty ())
                    mNotify[CommandsOptions::Command3] (o, CommandsOptions::Command3);
                return true;
            }
            break;
        case CommandsOptions::Command4:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command4].empty ())
                    mNotify[CommandsOptions::Command4] (o, CommandsOptions::Command4);
                return true;
            }
            break;
        case CommandsOptions::Command5:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command5].empty ())
                    mNotify[CommandsOptions::Command5] (o, CommandsOptions::Command5);
                return true;
            }
            break;
        case CommandsOptions::Command6:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command6].empty ())
                    mNotify[CommandsOptions::Command6] (o, CommandsOptions::Command6);
                return true;
            }
            break;
        case CommandsOptions::Command7:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command7].empty ())
                    mNotify[CommandsOptions::Command7] (o, CommandsOptions::Command7);
                return true;
            }
            break;
        case CommandsOptions::Command8:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command8].empty ())
                    mNotify[CommandsOptions::Command8] (o, CommandsOptions::Command8);
                return true;
            }
            break;
        case CommandsOptions::Command9:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command9].empty ())
                    mNotify[CommandsOptions::Command9] (o, CommandsOptions::Command9);
                return true;
            }
            break;
        case CommandsOptions::Command10:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command10].empty ())
                    mNotify[CommandsOptions::Command10] (o, CommandsOptions::Command10);
                return true;
            }
            break;
        case CommandsOptions::Command11:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command11].empty ())
                    mNotify[CommandsOptions::Command11] (o, CommandsOptions::Command11);
                return true;
            }
            break;
        case CommandsOptions::Command12:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command12].empty ())
                    mNotify[CommandsOptions::Command12] (o, CommandsOptions::Command12);
                return true;
            }
            break;
        case CommandsOptions::Command13:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command13].empty ())
                    mNotify[CommandsOptions::Command13] (o, CommandsOptions::Command13);
                return true;
            }
            break;
        case CommandsOptions::Command14:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command14].empty ())
                    mNotify[CommandsOptions::Command14] (o, CommandsOptions::Command14);
                return true;
            }
            break;
        case CommandsOptions::Command15:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command15].empty ())
                    mNotify[CommandsOptions::Command15] (o, CommandsOptions::Command15);
                return true;
            }
            break;
        case CommandsOptions::Command16:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command16].empty ())
                    mNotify[CommandsOptions::Command16] (o, CommandsOptions::Command16);
                return true;
            }
            break;
        case CommandsOptions::Command17:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command17].empty ())
                    mNotify[CommandsOptions::Command17] (o, CommandsOptions::Command17);
                return true;
            }
            break;
        case CommandsOptions::Command18:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command18].empty ())
                    mNotify[CommandsOptions::Command18] (o, CommandsOptions::Command18);
                return true;
            }
            break;
        case CommandsOptions::Command19:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command19].empty ())
                    mNotify[CommandsOptions::Command19] (o, CommandsOptions::Command19);
                return true;
            }
            break;
        case CommandsOptions::Command20:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::Command20].empty ())
                    mNotify[CommandsOptions::Command20] (o, CommandsOptions::Command20);
                return true;
            }
            break;
        case CommandsOptions::RunCommand0Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand0Key].empty ())
                    mNotify[CommandsOptions::RunCommand0Key] (o, CommandsOptions::RunCommand0Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand1Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand1Key].empty ())
                    mNotify[CommandsOptions::RunCommand1Key] (o, CommandsOptions::RunCommand1Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand2Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand2Key].empty ())
                    mNotify[CommandsOptions::RunCommand2Key] (o, CommandsOptions::RunCommand2Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand3Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand3Key].empty ())
                    mNotify[CommandsOptions::RunCommand3Key] (o, CommandsOptions::RunCommand3Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand4Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand4Key].empty ())
                    mNotify[CommandsOptions::RunCommand4Key] (o, CommandsOptions::RunCommand4Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand5Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand5Key].empty ())
                    mNotify[CommandsOptions::RunCommand5Key] (o, CommandsOptions::RunCommand5Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand6Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand6Key].empty ())
                    mNotify[CommandsOptions::RunCommand6Key] (o, CommandsOptions::RunCommand6Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand7Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand7Key].empty ())
                    mNotify[CommandsOptions::RunCommand7Key] (o, CommandsOptions::RunCommand7Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand8Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand8Key].empty ())
                    mNotify[CommandsOptions::RunCommand8Key] (o, CommandsOptions::RunCommand8Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand9Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand9Key].empty ())
                    mNotify[CommandsOptions::RunCommand9Key] (o, CommandsOptions::RunCommand9Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand10Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand10Key].empty ())
                    mNotify[CommandsOptions::RunCommand10Key] (o, CommandsOptions::RunCommand10Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand11Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand11Key].empty ())
                    mNotify[CommandsOptions::RunCommand11Key] (o, CommandsOptions::RunCommand11Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand12Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand12Key].empty ())
                    mNotify[CommandsOptions::RunCommand12Key] (o, CommandsOptions::RunCommand12Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand13Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand13Key].empty ())
                    mNotify[CommandsOptions::RunCommand13Key] (o, CommandsOptions::RunCommand13Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand14Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand14Key].empty ())
                    mNotify[CommandsOptions::RunCommand14Key] (o, CommandsOptions::RunCommand14Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand15Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand15Key].empty ())
                    mNotify[CommandsOptions::RunCommand15Key] (o, CommandsOptions::RunCommand15Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand16Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand16Key].empty ())
                    mNotify[CommandsOptions::RunCommand16Key] (o, CommandsOptions::RunCommand16Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand17Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand17Key].empty ())
                    mNotify[CommandsOptions::RunCommand17Key] (o, CommandsOptions::RunCommand17Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand18Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand18Key].empty ())
                    mNotify[CommandsOptions::RunCommand18Key] (o, CommandsOptions::RunCommand18Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand19Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand19Key].empty ())
                    mNotify[CommandsOptions::RunCommand19Key] (o, CommandsOptions::RunCommand19Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand20Key:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand20Key].empty ())
                    mNotify[CommandsOptions::RunCommand20Key] (o, CommandsOptions::RunCommand20Key);
                return true;
            }
            break;
        case CommandsOptions::RunCommand0Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand0Button].empty ())
                    mNotify[CommandsOptions::RunCommand0Button] (o, CommandsOptions::RunCommand0Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand1Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand1Button].empty ())
                    mNotify[CommandsOptions::RunCommand1Button] (o, CommandsOptions::RunCommand1Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand2Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand2Button].empty ())
                    mNotify[CommandsOptions::RunCommand2Button] (o, CommandsOptions::RunCommand2Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand3Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand3Button].empty ())
                    mNotify[CommandsOptions::RunCommand3Button] (o, CommandsOptions::RunCommand3Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand4Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand4Button].empty ())
                    mNotify[CommandsOptions::RunCommand4Button] (o, CommandsOptions::RunCommand4Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand5Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand5Button].empty ())
                    mNotify[CommandsOptions::RunCommand5Button] (o, CommandsOptions::RunCommand5Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand6Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand6Button].empty ())
                    mNotify[CommandsOptions::RunCommand6Button] (o, CommandsOptions::RunCommand6Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand7Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand7Button].empty ())
                    mNotify[CommandsOptions::RunCommand7Button] (o, CommandsOptions::RunCommand7Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand8Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand8Button].empty ())
                    mNotify[CommandsOptions::RunCommand8Button] (o, CommandsOptions::RunCommand8Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand9Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand9Button].empty ())
                    mNotify[CommandsOptions::RunCommand9Button] (o, CommandsOptions::RunCommand9Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand10Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand10Button].empty ())
                    mNotify[CommandsOptions::RunCommand10Button] (o, CommandsOptions::RunCommand10Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand11Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand11Button].empty ())
                    mNotify[CommandsOptions::RunCommand11Button] (o, CommandsOptions::RunCommand11Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand12Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand12Button].empty ())
                    mNotify[CommandsOptions::RunCommand12Button] (o, CommandsOptions::RunCommand12Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand13Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand13Button].empty ())
                    mNotify[CommandsOptions::RunCommand13Button] (o, CommandsOptions::RunCommand13Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand14Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand14Button].empty ())
                    mNotify[CommandsOptions::RunCommand14Button] (o, CommandsOptions::RunCommand14Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand15Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand15Button].empty ())
                    mNotify[CommandsOptions::RunCommand15Button] (o, CommandsOptions::RunCommand15Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand16Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand16Button].empty ())
                    mNotify[CommandsOptions::RunCommand16Button] (o, CommandsOptions::RunCommand16Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand17Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand17Button].empty ())
                    mNotify[CommandsOptions::RunCommand17Button] (o, CommandsOptions::RunCommand17Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand18Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand18Button].empty ())
                    mNotify[CommandsOptions::RunCommand18Button] (o, CommandsOptions::RunCommand18Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand19Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand19Button].empty ())
                    mNotify[CommandsOptions::RunCommand19Button] (o, CommandsOptions::RunCommand19Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand20Button:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand20Button].empty ())
                    mNotify[CommandsOptions::RunCommand20Button] (o, CommandsOptions::RunCommand20Button);
                return true;
            }
            break;
        case CommandsOptions::RunCommand0Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand0Edge].empty ())
                    mNotify[CommandsOptions::RunCommand0Edge] (o, CommandsOptions::RunCommand0Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand1Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand1Edge].empty ())
                    mNotify[CommandsOptions::RunCommand1Edge] (o, CommandsOptions::RunCommand1Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand2Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand2Edge].empty ())
                    mNotify[CommandsOptions::RunCommand2Edge] (o, CommandsOptions::RunCommand2Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand3Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand3Edge].empty ())
                    mNotify[CommandsOptions::RunCommand3Edge] (o, CommandsOptions::RunCommand3Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand4Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand4Edge].empty ())
                    mNotify[CommandsOptions::RunCommand4Edge] (o, CommandsOptions::RunCommand4Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand5Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand5Edge].empty ())
                    mNotify[CommandsOptions::RunCommand5Edge] (o, CommandsOptions::RunCommand5Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand6Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand6Edge].empty ())
                    mNotify[CommandsOptions::RunCommand6Edge] (o, CommandsOptions::RunCommand6Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand7Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand7Edge].empty ())
                    mNotify[CommandsOptions::RunCommand7Edge] (o, CommandsOptions::RunCommand7Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand8Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand8Edge].empty ())
                    mNotify[CommandsOptions::RunCommand8Edge] (o, CommandsOptions::RunCommand8Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand9Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand9Edge].empty ())
                    mNotify[CommandsOptions::RunCommand9Edge] (o, CommandsOptions::RunCommand9Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand10Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand10Edge].empty ())
                    mNotify[CommandsOptions::RunCommand10Edge] (o, CommandsOptions::RunCommand10Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand11Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand11Edge].empty ())
                    mNotify[CommandsOptions::RunCommand11Edge] (o, CommandsOptions::RunCommand11Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand12Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand12Edge].empty ())
                    mNotify[CommandsOptions::RunCommand12Edge] (o, CommandsOptions::RunCommand12Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand13Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand13Edge].empty ())
                    mNotify[CommandsOptions::RunCommand13Edge] (o, CommandsOptions::RunCommand13Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand14Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand14Edge].empty ())
                    mNotify[CommandsOptions::RunCommand14Edge] (o, CommandsOptions::RunCommand14Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand15Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand15Edge].empty ())
                    mNotify[CommandsOptions::RunCommand15Edge] (o, CommandsOptions::RunCommand15Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand16Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand16Edge].empty ())
                    mNotify[CommandsOptions::RunCommand16Edge] (o, CommandsOptions::RunCommand16Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand17Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand17Edge].empty ())
                    mNotify[CommandsOptions::RunCommand17Edge] (o, CommandsOptions::RunCommand17Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand18Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand18Edge].empty ())
                    mNotify[CommandsOptions::RunCommand18Edge] (o, CommandsOptions::RunCommand18Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand19Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand19Edge].empty ())
                    mNotify[CommandsOptions::RunCommand19Edge] (o, CommandsOptions::RunCommand19Edge);
                return true;
            }
            break;
        case CommandsOptions::RunCommand20Edge:
            if (o->set (value))
            {
                if (!mNotify[CommandsOptions::RunCommand20Edge].empty ())
                    mNotify[CommandsOptions::RunCommand20Edge] (o, CommandsOptions::RunCommand20Edge);
                return true;
            }
            break;
        default:
            break;
    }
    return false;

}

