[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Re: Exiting a DialogBox created with FoxGUIb

e aldaz

12/9/2006 5:48:00 PM

Hi Meinrad,
Thank you very much for your help.
Where would i put the message handler:
@topwin.handle(@button,
FXSEL(Fox::SEL_COMMAND,Fox::FXDialogBox::ID_ACCEPT),
nil)
Would i put it inside the button_ok.connect method?

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
@topwin.handle(@button,
FXSEL(Fox::SEL_COMMAND,Fox::FXDialogBox::ID_ACCEPT),
nil)
}
}

Thanks again!
Eduardo


--- Meinrad Recheis <meinrad.recheis@gmail.com> wrote:

> 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
> >
>
>




___________________________________________________________
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowy...