Hi…
I am trying to create mutually exclusive multi-state buttons, but there seems to be an issue I can’t get past. Not sure if it’s a bug or ‘by-design’. What I have done to test is:
Created two 2-State Toggle Buttons named StateToggle1 and StateToggle2
Created a Memory Tag called ToggleTag
Bind this one tag to both buttons
In Style Customizer:
• set Driving Property to Control Value
• choose Bkgrd Color and Border as the only Used Properties
• set these properties to anything
- (my setting) State 0 is No Border and No Bkgrd
- (my setting) State 1 is 4pt Blk Border and 50% Alpha Wht
• on StateToggle1 - set Value on State 1 to 0, and State 2 to 51
• on StateToggle2 - set Value on State 1 to 0, and State 2 to 52
In Property Editor: (settings changed from default listed)
• Opaque = False
• Rollover = False
• State 2 Value
- on StateToggle1 set to 51
- on StateToggle2 set to 52
• Background 3D? = False
• Text =
Expected behavior:
1. When StateToggle1 is pressed, State 2 Value (51) is passed to bound Control Value (ToggleTag).
2. Control Value (51) == StateToggle1 Style Customizer Value for State 1 (51)
3. Control Value (51) != StateToggle2 Style Customizer Value for State 1 (52)
4. StateToggle1 visual style from Style Customizer State 1 (4pt Blk Border) is displayed.
5. StateToggle2 visual style from Style Customizer State 1 (4pt Blk Border) is not displayed.
6. When StateToggle2 is pressed, State 2 Value (52) is passed to bound Control Value (ToggleTag).
7. Control Value (52) == StateToggle2 Style Customizer Value for State 1 (52)
8. Control Value (52) != StateToggle1 Style Customizer Value for State 1 (51)
9. StateToggle2 visual style from Style Customizer State 1 (4pt Blk Border) is displayed.
10. StateToggle1 visual style from Style Customizer State 1 (4pt Blk Border) is not displayed.
Actual Behavior:
1. When StateToggle1 is pressed, State 2 Value (51) is passed to bound Control Value (ToggleTag).
2. Control Value (51) == StateToggle1 Style Customizer Value for State 1 (51)
3. Control Value (51) != StateToggle2 Style Customizer Value for State 1 (52)
4. StateToggle1 visual style from Style Customizer State 1 (4pt Blk Border) is displayed.
5. StateToggle2 visual style from Style Customizer State 1 (4pt Blk Border) is not displayed.
6. When StateToggle2 is pressed, State 2 Value (52) is passed to bound Control Value (ToggleTag).
7. Control Value (52) == StateToggle2 Style Customizer Value for State 1 (52)
8. Control Value (52) != StateToggle1 Style Customizer Value for State 1 (51)
9. StateToggle2 visual style from Style Customizer State 1 (4pt Blk Border) is displayed.
10. StateToggle1 visual style from Style Customizer State 1 (4pt Blk Border) is displayed.
Notice the difference in expected and actual on items 9 and 10. It looks like instead of the Control Value firing on equal to is is firing on equal to or greater than. The components act correctly when Toggle1 is pressed because 51 is not greater that 52, but when Toggle2 is pressed they both display 4pt border because 52 is greater than 51? I would expect that equal to would be the behavior on this method.
Although, this is writing the correct value from either toggle to a single tag (what I wanted) the display behavior is a bit confusing.
Bug, or ‘feature’?
Cheers… and kind regards for any helpful information,
Steve