Page 1 of 2
How to get the object index in a Container?
Posted: 22 Mar 2016 00:56
by Perun
Hi,
Let's say I have 10 buttons (set to "switch" behavior) in a container. How can I get the object index of the currently selected button (x==1) inside the Container? In my scenario one button is selected at a time.
Thanks
Re: How to get the object index in a Container?
Posted: 22 Mar 2016 11:49
by Softcore
Are you using ONE switch object with many rows - columns or are you using multiple switch objects?
Re: How to get the object index in a Container?
Posted: 22 Mar 2016 16:14
by Perun
I use ONE switch object with multiple rows/columns. All switches are packed into a container. The switches name hierarchy is:
Btn_0; Btn_1; Btn_2 etc.
Re: How to get the object index in a Container?
Posted: 22 Mar 2016 16:30
by Softcore
Sorry still dont understand one thing....
Bu your description you have a lot of switches ( names you gave).
Do you want a way to find the "on" switch in each ONE object of multi-rows/columns? Then:
Code: Select all
Script on execution x
decl index = firstof(x);
The index declared above will give you the position of the active switch inside the x vector (array)
Or do you want to search for the on switch of all the objects combined?
Re: How to get the object index in a Container?
Posted: 22 Mar 2016 18:31
by Perun
Here is an simple image of my scenario shown below. I have several buttons in a Container (in this example 4 in one row) but in my actual setup there are about 80 buttons placed in rows and columns. One of them can be switched ON at a time. I have a simple script which switches OFF the last selected button automatically (that script is embedded into each button and executed "On Expression" x of the button.
I need to get the current selected button Index number in the Container. I.e the Container is the array and the example below.
I need something like that:
Index=Btn_Container[2] so the Index=2 in this example.
Re: How to get the object index in a Container?
Posted: 24 Mar 2016 10:53
by Softcore
Ok got ya now....So you are using miltiple customSwitch objects.
Create an array (vector) inside your Container that inlcudes all your buttons' x.
so
array = {Btn_0.x, Btn_1.x,........Btn_80.x}
then use a script inside your container
On expression, buttons
decl Index = firstof(buttons);
Re: How to get the object index in a Container?
Posted: 24 Mar 2016 10:55
by Softcore
Here's an example with 4 buttons
Re: How to get the object index in a Container?
Posted: 24 Mar 2016 11:00
by Softcore
But I dont get one thing...since you ALREADY have one script in EACH of the 80 buttons why dont you simply create a "index" expression and change that individually in EACH of the buttons - its just one added line of code.
Re: How to get the object index in a Container?
Posted: 24 Mar 2016 12:21
by Softcore
By the way....if I were you I would definitely use
ONE Switch object in
Radio mode......and
multiple rows - columns with labels...NOT a lot of CoustomSwitch objects. See how easy that is:
Re: How to get the object index in a Container?
Posted: 25 Mar 2016 17:53
by Perun
THANKS A LOT!
I tried the examples and I could get the ideas. Example #1 is most closed to my project.
Great community - hugs!