[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Exiting a DialogBox created with FoxGUIb

e aldaz

12/8/2006 11:13:00 AM

Dear All

I am new to FOX and FoxGUIb. I have found FoxGUIb very
useful and I have created an application with menus,
one of which calls a DialogBox for the user to enter
some values. After finishing the user will press OK to
save data.

Unfortunately I don’t know how to let the
DialogBox know tha tonce the OK button is pressed it
should exit. It seems I need to send message ID_ACCEPT
to some recipient (not sure which) when the button OK
is clicked? But no idea how to do that with the code
that is generated by FoxGUIb as the button is created
in a different way to what I have seen in the examples
in the web, and I have no idea how to relate them (
I'm afraid I haven't really understood the FXButton
API)

The dialog box examples I have seen do something like
the following:

# Accept
accept = FXButton.new(buttons, "&Accept", nil,
self, ID_ACCEPT,
FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)


However the FoxGUIb creates a button doing:

FX::Button.new(@verticalframe7){|w|
@button_ok=w
w.wdg_name='button_ok'
w.text="Ok"
w.width=21
w.y=4
w.height=21
w.layoutHints=40
w.x=26
w.selector=FX::DialogBox::ID_QUIT

@button_ok.connect(Fox::SEL_COMMAND){
lat = textfield_lat.text
lon = textfield_lon.text
heading
=textfield_heading.text
#How
do I indicate that I want to accept and exit?:?

}
}

So in this last example, how do I exit the dialog when
button is clicked?

Thanks very much for your help
Eduardo




Send instant messages to your online friends http://uk.messenger...

1 Answer

Meinrad Recheis

12/8/2006 3:37:00 PM

0

On 12/8/06, e aldaz <ardhazes@yahoo.com> wrote:
> Dear All
>
> I am new to FOX and FoxGUIb. I have found FoxGUIb very
> useful and I have created an application with menus,
> one of which calls a DialogBox for the user to enter
> some values. After finishing the user will press OK to
> save data.
>
> Unfortunately I don't know how to let the
> DialogBox know tha tonce the OK button is pressed it
> should exit. It seems I need to send message ID_ACCEPT
> to some recipient (not sure which) when the button OK
> is clicked? But no idea how to do that with the code
> that is generated by FoxGUIb as the button is created
> in a different way to what I have seen in the examples
> in the web, and I have no idea how to relate them (
> I'm afraid I haven't really understood the FXButton
> API)

me neither ;) ... there are some very hackish things that make the use
of fox toolkit not as easy as it could be.

>
> The dialog box examples I have seen do something like
> the following:
>
> # Accept
> accept = FXButton.new(buttons, "&Accept", nil,
> self, ID_ACCEPT,
> FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
>
>
> However the FoxGUIb creates a button doing:
>
> FX::Button.new(@verticalframe7){|w|
> @button_ok=w
> w.wdg_name='button_ok'
> w.text="Ok"
> w.width=21
> w.y=4
> w.height=21
> w.layoutHints=40
> w.x=26
> w.selector=FX::DialogBox::ID_QUIT
>
> @button_ok.connect(Fox::SEL_COMMAND){
> lat = textfield_lat.text
> lon = textfield_lon.text
> heading
> =textfield_heading.text
> #How
> do I indicate that I want to accept and exit?:?
>
> }
> }
>
> So in this last example, how do I exit the dialog when
> button is clicked?

the most simple aproach would be like this:
@button_ok.connect(Fox::SEL_COMMAND){
....
@topwin.hide() # assuming that @topwin is the name of the dialogbox
}

however if your dialog box has been run modal this will not work. the
dialog box disappears but is still modal. in this case you have to
send an ID_ACCEPT message to @topwin like this:

@topwin.handle(@button, FXSEL(Fox::SEL_COMMAND,
Fox::FXDialogBox::ID_ACCEPT), nil)

hope this helps,
-- meinrad (henon)
>
> Thanks very much for your help
> Eduardo
>