XRC-related question
Rob Gayvert
rtg at rochester.rr.com
Wed Jul 27 13:15:29 UTC 2005
Hi Cees,
The main problem here is that I haven't added all of the hooks you need
to make this easy.
If you look at WxTopLevelPresenter>>restoreView, you'll see that after
#loadFromXRC:,
the view and its children need to be "registered". If they're not, then
when a callback comes
in, it can't find an object to notify, so the events are just ignored.
For now, give the following a try. When loading the resource, use
view := res loadDialog: nil name: 'dialog_1'.
view registerHandle.
view getAllChildren
do: [:child | child registerHandle].
Also, it doesn't look like #setSizeHints: is sufficient here. Instead, try
self view getSizer layout.
.. Rob
>Hi,
>
>I have an XRC file (attached) created with wxGlade. There are two
>issues with this I cannot seem to solve... Here's what I do with the
>XRC:
>
>DGVMessageDialogMetVinkjePresenter >>view
> | res |
> view ifNil: [
> res := WxXmlResource new.
> res initAllHandlers.
> res loadFromString: self class resourceText.
> view := res loadObject: nil name: 'dialog_1' className: 'wxDialog'.
> res destroy].
> ^view
>
>DGVMessageDialogMetVinkjePresenter >>connectView
> | messageField |
> messageField _ self view findWindowByName: 'message'.
> messageField setLabel: 'this is a test. It is a bit longer than a
>single line, so we can check whether this is really a good idea,
>you know the painting and stuff...'.
>
> okButton _ self view findWindowByName: 'okButton'.
> okButton on: #wxEvtCommandButtonClicked send: #okButtonClicked: to: self.
>
> self view getSizer setSizeHints: self view
>
>Test code:
>dlg _ DGVMessageDialogMetVinkjePresenter new.
>dlg connectView.
>dlg view showModal
>
>Two things don't really work out right. In wxGlade, on the sizer
>there's a button "fit parent". It will resize the dialog according to
>whatever label you've set on the message field. If tried different
>things here (the #setSizeHints: being the last attempt), but I cannot
>seem to get the dialog to resize around the text. Further, my
>#okButtonClicked: never triggers....
>
>Is there anything I'm missing? Generally or XRC related? This is my
>first attempt at using XRC, being fed up with creating handcoded
>#createView methods :)
>
>TIA,
>
>Cees
>
>
More information about the Wxsqueak
mailing list