Reputation: 37731
I have a matrix of SWT.TOGGLE
buttons, which are representing some toggle activators on my application.
The idea is display them toggled (pressed) if they are stored as activated, but to be SWT.READ_ONLY
because this screen has only display purposes and must be non interactive.
The problem is that if I add SWT.READ_ONLY
to the button, then setSelection(true)
is not working and all the buttons where I'm calling setSelection(true)
appear non toggled.
How can we deal with this?
Button button = new Button(column, SWT.TOGGLE | SWT.READ_ONLY);
button.setSelection(true);
Upvotes: 0
Views: 289
Reputation: 111217
SWT.READ_ONLY
is not a valid style for Button, you will get undefined behaviour by specifying it. You can only use the styles listed in the Javdoc for the individual control.
In the current implementation of SWT SWT.READ_ONLY
has the same value as SWT.PUSH
so you are effectively using SWT.TOGGLE | SWT.PUSH
which is expressly forbidden. The implementation is probably choosing to implement SWT.PUSH
which is why setSelection
doesn't work.
The only way to stop events from a button is setEnabled(false)
but this will gray out the value.
So you probably want to use some other way to display these settings.
Upvotes: 1