Search wiring.org.co:

Librerías \ MenuItem

Referencia para la versión de Wiring 1.0 Build 0100+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Nombre |

### MenuItem

Ejemplos |
    #include <MenuBackend.h>

    //this controls the menu backend and the event generation
    MenuBackend menu = MenuBackend(menuUseEvent,menuChangeEvent);
    //beneath is list of menu items needed to build the menu
    MenuItem settings   = MenuItem(menu, "Settings", 1);
    MenuItem pin      = MenuItem(menu, "Pin", 2);
    MenuItem debug    = MenuItem(menu, "Debug", 2);
    MenuItem options    = MenuItem(menu, "Options", 1);
    MenuItem setDelay = MenuItem(menu, "Delay",'D', 2);
    MenuItem d100   = MenuItem(menu, "100 ms", 3);
    MenuItem d200   = MenuItem(menu, "200 ms", 3);
    MenuItem d300   = MenuItem(menu, "300 ms", 3);
    MenuItem d400   = MenuItem(menu, "400 ms", 3);

    //this function builds the menu and connects the correct items together
    void menuSetup()
    {
      Serial.println("Setting up menu...");
      //add the file menu to the menu root
      menu.getRoot().add(settings);
      //setup the settings menu item
      settings.addAfter(options);
      options.addAfter(settings);

      settings.addLeft(settings); //loop back if left on settings
      settings.addRight(pin);     //chain settings to  pin on right
      debug.addLeft(settings);  //also go to settings left for debug
      //we want looping both up and down
      pin.addBefore(debug);
      pin.addAfter(debug);
      debug.addBefore(pin);
      debug.addAfter(pin);

      options.addLeft(options);   //loop back if left on settings
      options.addRight(setDelay); //chain options to delay on right
      setDelay.addRight(d100);
      d100.addBefore(d100);   //loop to d400
      d100.addAfter(d200);
      d200.addAfter(d300);
      d300.addAfter(d400);
      d400.addAfter(d100);    //loop back to d100
      //we want left to always be bak to delay
      d100.addLeft(setDelay);
      d200.addLeft(setDelay);
      d300.addLeft(setDelay);
      d400.addLeft(setDelay);
    }

    /*
      This is an important function
     Here all use events are handled

     This is where you define a behaviour for a menu item
     */
    void menuUseEvent(MenuUseEvent used)
    {
      Serial.print("Menu use ");
      Serial.println(used.item.getName());

      if (used.item.isEqual(setDelay)) //comparison agains a known item
      {
        Serial.println("menuUseEvent found Delay (D)");
      }
    }

    /*
      This is an important function
     Here we get a notification whenever the user changes the menu
     That is, when the menu is navigated
     */
    void menuChangeEvent(MenuChangeEvent changed)
    {
      Serial.print("Menu change ");
      Serial.print(changed.from.getName());
      Serial.print(" ");
      Serial.println(changed.to.getName());
    }

    void setup()
    {
      Serial.begin(9600);

      menuSetup();
      Serial.println("Starting navigation:rnUp:w Down:s Left:a Right:d Use: e");

      //fire Delay : menu.use('D');
      //bail back to Options by moving up one logical level
      //after a D : menu.moveRelativeLevels(-1);
    }

    void loop()
    {
      if (Serial.available())
      {
        byte read = Serial.read();
        switch (read)
        {
        case 'w':
          menu.moveUp();
          break;
        case 's':
          menu.moveDown();
          break;
        case 'd':
          menu.moveRight();
          break;
        case 'a':
          menu.moveLeft();
          break;
        case 'e':
          menu.use();
          break;
        }
      }
    }
Descripción | Hay dos comos de trabajar con menuItem. El item básico con un nombre y a mnemómico opcional o un item complejo que usa eventos de los item cambiantes.
Sintaxis |
    MenuItem(itemName, shortKey)
    MenuItem(mb, itemName, lvl, shortKey)
Métodos |

registerBackend() |
getValue() |
setValue() |
increment() |
decrement() |
setLevel() |
getLevel() |
hasShortkey() |
hasChildren() |
setBack() |
getShortkey() |
getName() |
getBack() |
getBefore() |
getRight() |
getAfter() |
getLeft() |
add() |
addBefore() |
addRight() |
addAfter() |
addLeft() |
isEqual() |

Parámetros |

itemName | El nombre del item.
shortKey | La abreviación mnemómica.
mb | El menu backend que controla este item.
lvl | El nivel de este item en la jerarquía.

Retorna | Ninguno
Uso | Application

Updated on July 07, 2011 11:15:33pm PDT