What steps will reproduce the problem?
1. See code at the end
What is the expected output? What do you see instead?
the multilist should be displayed in tab "extra" but is only displayed in tab
"default"
What version of the product are you using? On what operating system?
OSX 10.7.4 / Version 0.7.5
Please provide any additional information below.
/**
* ControlP5 Tab
*
*
* find a list of public methods available for the Tab Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
int myColorBackground = color(128);
int sliderValue = 100;
void setup() {
size(700,400);
noStroke();
cp5 = new ControlP5(this);
// By default all controllers are stored inside Tab 'default'
// add a second tab with name 'extra'
cp5.addTab("extra")
.setColorBackground(color(0, 160, 100))
.setColorLabel(color(255))
.setColorActive(color(255,128,0))
;
// if you want to receive a controlEvent when
// a tab is clicked, use activeEvent(true)
cp5.getTab("default")
.activateEvent(true)
.setLabel("my default tab")
.setId(1)
;
cp5.getTab("extra")
.activateEvent(true)
.setId(2)
;
// create a few controllers
cp5.addButton("button")
.setBroadcast(false)
.setPosition(100,100)
.setSize(80,40)
.setValue(1)
.setBroadcast(true)
.getCaptionLabel().align(CENTER,CENTER)
;
cp5.addButton("buttonValue")
.setBroadcast(false)
.setPosition(220,100)
.setSize(80,40)
.setValue(2)
.setBroadcast(true)
.getCaptionLabel().align(CENTER,CENTER)
;
cp5.addSlider("slider")
.setBroadcast(false)
.setRange(100,200)
.setValue(128)
.setPosition(100,160)
.setSize(200,20)
.setBroadcast(true)
;
cp5.addSlider("sliderValue")
.setBroadcast(false)
.setRange(0,255)
.setValue(128)
.setPosition(100,200)
.setSize(200,20)
.setBroadcast(true)
;
// add a multiList to controlP5.
// elements of the list have default dimensions
// here, a width of 100 and a height of 12
MultiList l = cp5.addMultiList("myListinger",20,20,100,12);
// create a multiListButton which we will use to
// add new buttons to the multilist
MultiListButton b;
b = l.add("level1",1);
// add items to a sublist of button "level1"
b.add("level11",11).setLabel("level1 item1");
b.add("level12",12).setLabel("level1 item2");
b = l.add("level2",2);
int cnt = 100;
// add some more sublists.
for(int i=0;i<10;i++) {
MultiListButton c = b.add("level2"+(i+1),20+i+1);
c.setLabel("level2 item"+(i+1));
c.setColorBackground(color(64 + 18*i,0,0));
if(i==4) {
// changing the width and the height of a button
// will be inherited by its sublists.
c.setWidth(100);
c.setHeight(20);
}
cnt++;
if(i==4) {
for(int j=0;j<10;j++) {
cnt++;
MultiListButton d;
d = c.add("level2"+i+""+j,250+j+1);
d.setLabel("level2 item"+(i+1)+" "+"item"+(j+1));
d.setColorBackground(color(64 + 18*j,(64 + 18*j)/2,0));
d.setId(cnt);
d.setWidth(200);
}
}
}
// arrange controller in separate tabs
cp5.getController("sliderValue").moveTo("extra");
cp5.getController("slider").moveTo("global");
cp5.getController("myListinger").moveTo("extra");
// Tab 'global' is a tab that lies on top of any
// other tab and is always visible
}
void draw() {
background(myColorBackground);
fill(sliderValue);
rect(0,0,width,100);
}
void controlEvent(ControlEvent theControlEvent) {
if (theControlEvent.isTab()) {
println("got an event from tab : "+theControlEvent.getTab().getName()+" with id "+theControlEvent.getTab().getId());
}
}
void slider(int theColor) {
myColorBackground = color(theColor);
println("a slider event. setting background to "+theColor);
}
void keyPressed() {
if(keyCode==TAB) {
cp5.getTab("extra").bringToFront();
}
}
Original issue reported on code.google.com by maybi...@gmail.com on 13 Jun 2012 at 9:51
Original issue reported on code.google.com by
maybi...@gmail.com
on 13 Jun 2012 at 9:51