[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proxy for RadioButton
[Thread Prev] | [Thread Next]
- Subject: Re: Proxy for RadioButton
- From: Jussi Lahtinen <jussi.lahtinen@xxxxxxxxx>
- Date: Sat, 21 Sep 2024 15:18:39 +0300
- To: Gambas Mailing List <user@xxxxxxxxxxxxxxxxxxxxxx>
Hacky solution... I would not trust that working in future. Jussi On Sat, 21 Sep 2024, 13:07 Bruce Steers, <bsteers4@xxxxxxxxx> wrote: > > > On Fri, 20 Sept 2024 at 20:40, BB <adamnt42@xxxxxxxxx> wrote: > >> >> On 21/9/24 4:57 am, Jussi Lahtinen wrote: >> >> Not sure what happens there... maybe you could provide a small runnable >> project to demonstrate the problem? >> I think RadioButton should behave the same no matter where it is. Maybe I >> miss something. >> >> Jussi >> >> On Tue, Sep 17, 2024 at 12:58 PM BB <adamnt42@xxxxxxxxx> wrote: >> >>> Is there any way to have the RadioButton's mutex nature exposed through >>> its proxy (or otherwise)? >>> >>> I'm using the RadioButton in a custom control, so when that control is >>> inside a container the mutex nature is gone. >>> >>> regards >>> >>> bruce >>> >>> >>> The class (say NewRadio) inherits UserContainer, it has a RadioButton as >> one of its Children and the Proxy is set to the Radio Button. >> >> If I put a NewRadio control in say a Frame on a form then the mutex is >> gone because there are layers of containers between the Frame and the >> RadioButton. To try and simplify: >> >> [ Form [ Frame [ NewRadio1 [ _UserContainer [ RadioButton ] ] ] >> >> [ NewRadio2 [ _UserContainer [ RadioButton ] ] ] ] ] >> >> >> So the RadioButtons are in different containers and the mutex doesn't >> work. >> >> I had solved this many years ago in some now long gone project and I cant >> recall anything about how I did it. I thought someone else may have solved >> it. >> >> regards >> >> bruce >> > > You can use Action, although for some reason i can't fine Action in the > IDE properties for RadioButton but the property still exists. > > This code works with RadioButtons in any containers i want to put them.. > But it only works with QT as with gtk3 if you only have one RadioButton in > a container you cannot set its value to False. > And it does not work if 2 radiobuttons DO share the same parent as the > toolkit wants to do it's own thing. > > ' Gambas class file > > '' RadioButtons seem to not have Action property in the IDE so set by code > Public Sub Form_Open() > > RadioButton1.Action = "rbG1" > RadioButton2.Action = "rbG1" > RadioButton3.Action = "rbG1" > > End > > '' Radio's share the group name rbtnGroup1 and the Action name rbG1 > '' So they all activate this method on click and Action["rbG1"] can be > used to access them all > Public Sub rbtnGroup1_Click() > > If Last.Value Then > > For Each hRB As RadioButton In Action["rbG1"].Controls > > If hRB.Name <> Last.Name And If hRB.Value Then > Object.Lock(hRB) > hRB.Value = False > Object.UnLock(hRB) > Endif > > Next > > Endif > > End > > '' Stop the user setting Value to false by clicking > '' Had to use MouseUp event as RadioButton_Click only fires with QT when > setting value true but not when false. > Public Sub rbtnGroup1_MouseUp() > > If Last.Value Then > Stop Event > Endif > > End > >
Re: Proxy for RadioButton | Bruce Steers <bsteers4@xxxxxxxxx> |
Proxy for RadioButton | BB <adamnt42@xxxxxxxxx> |
Re: Proxy for RadioButton | Jussi Lahtinen <jussi.lahtinen@xxxxxxxxx> |
Re: Proxy for RadioButton | BB <adamnt42@xxxxxxxxx> |
Re: Proxy for RadioButton | Bruce Steers <bsteers4@xxxxxxxxx> |