Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## controlP5
Class ControllerPlug

    java.lang.Object
      controlP5.ControllerPlug

    public class ControllerPlug

extends java.lang.Object

The ControllerPlug is used to do all the reflection procedures to link a controller to a variable or function inside your main application.

+Example
  `

      /**
      * ControlP5 plugTo
      *
      * This example demonstrate how to use the plugTo method to
      * connect a controller to a field or method of a particular object.
      *
      *
      * find a list of public methods available for the ControlP5 Controller
      * at the bottom of this sketch.
      *
      * by Andreas Schlegel, 2011
      * www.sojamo.de/libraries/controlp5
      *
      */

      import controlP5.*;
      import processing.opengl.*;

      ControlP5 controlP5;

      Test[] testarray;

      Test test;

      Button b;

      int cnt;

      void setup() {
        size(600,400,OPENGL);
        smooth();
        textMode(SCREEN);
        test = new Test(50);
        testarray = new Test[10];
        for(int i=0;i<10;i++) {
          testarray[i] = new Test(200 + i*20);
        }

        controlP5 = new ControlP5(this);

        controlP5.begin(100,20);

        b = controlP5.addButton("trigger",1);
        b.setColorBackground(color(255,0,0));

        controlP5.addButton("plug",2);
        controlP5.addButton("unplug",3);

        // b is a button previously added to controlP5 with name 'trigger'
        // controlP5 no tries to find a field or method inside object test
        // in order to connect controller 'trigger' with test.trigger()
        b.plugTo(test);
        controlP5.end();
      }

      // connects controller 'trigger' with objects of type Test contained
      // inside arrat testarray
      void plug(int theValue) {
         b.plugTo(testarray);
         b.setColorBackground(color(0,128,0));
         println("plugging controller b1 to array 'testarray' and variable 'test'.");
      }

      // disconnects controller 'trigger' from objects of type Test stored
      // inside array testarray
      void unplug(int theValue) {
        b.unplugFrom(testarray);
        b.setColorBackground(color(255,0,0));
        println("removing array 'testarray' and variable 'test' from controller b1.");
      }

      void draw() {
        background(0);
        fill(255);
        for(int i=0;i<10;i++) {
          testarray[i].display();
        }
        test.display();
        cnt++;
        if(cnt%30 == 0) {
          controlP5.getController("trigger").update();
        }
      }

      class Test {
        float n0 = 0;
        float n1 = 1;
        float x;

        Test(float theX) {
          x = theX;
        }

        void trigger(int theValue) {
          n1 = random(100);
        }

        void display() {
          n0 += (n1-n0) * 0.1;
          rect(x,200,10,n0);
        }

        void controlEvent(ControlEvent theEvent) {
          //println("\t\t b1 event sub \n\n");
        }
      }

  `

Constructor Summary
`ControllerPlug(java.lang.Object theObject, java.lang.String theName, int theType, int theParameterType, java.lang.Class[] theAcceptClassList)`

Method Summary
`static boolean` | `checkPlug(java.lang.Object theObject, java.lang.String thePlugName, java.lang.Class[] theArgs)`
`void` | `set(java.lang.Object theObject, java.lang.String theName, int theType, int theParameterType, java.lang.Class[] theAcceptClassList)`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ControllerPlug

    public ControllerPlug(java.lang.Object theObject,
                          java.lang.String theName,
                          int theType,
                          int theParameterType,
                          java.lang.Class[] theAcceptClassList)

Method Detail

### checkPlug

    public static boolean checkPlug(java.lang.Object theObject,
                                    java.lang.String thePlugName,
                                    java.lang.Class[] theArgs)

### set

    public void set(java.lang.Object theObject,
                    java.lang.String theName,
                    int theType,
                    int theParameterType,
                    java.lang.Class[] theAcceptClassList)

Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

processing library controlP5 by Andreas Schlegel. (c) 2006-2012