SourceForge logo
SourceForge logo
Menu

Re: [wxlua-users] Questions about bindings

From: Paul K <pau...@gm...> - 2023年10月22日 20:11:37
Hi Milind,
It works for me: `frame:CallAfter(function() os.exit() end)` is a
rough equivalent of
`frame:AddPendingEvent(wx.wxCommandEvent(wx.wxEVT_COMMAND_MENU_SELECTED,
ID.EXIT))`.
It should be available for all wxFrame and other classes that inherit
from wxEvtHandler.
Paul.
On Sun, Oct 22, 2023 at 12:04 PM Milind Gupta <mil...@gm...> wrote:
>
> Hi Paul,
> I was trying to use the function Callafter as described here: https://docs.wxwidgets.org/3.0/classwx_evt_handler.html#a63c7351618fd77330d80a250b3719519
>
> I checked wxbase_base.i and I see that you have it defined there. But when I tried to call it and got the error of trying to call a nil value. So I thought it was not implemented.
> I had been trying to compare wxcore_event.i with event.h in wxwidgets/include/wx directory. Why is the event interface in wxbase? How do we determine where each include file in wxwidgets ends up in wxlua?
>
> Also since CallAfter was not there when I compiled the latest wxlua with the latest wxwidgets is there a compile flag to enable it?
>
> Thanks,
> Milind
>
>
>
> On 2023年10月21日 at 15:12, Paul K <pau...@gm...> wrote:
>>
>> Hi Milind,
>>
>> > I can follow some things. But now I opened the latest wxwidgets include file for events -event.h and this seems to have transformed a lot. Particularly there are some templates functions like CallAfter.
>>
>> I'm not sure where the event-related changes came from; have you
>> executed any-bind-sync.lua on your version?
>>
>> I'm not sure what may be needed for additional CallAfter support. I've
>> implemented the current one a while ago (it's in wxbase_base.i with an
>> override in wxbase_override.hpp).
>>
>> Is there anything in particular you're looking to add support for?
>> It's always better to start with a specific method/class that may be
>> missing and to add just it.
>>
>> Paul.
>>
>> On Wed, Oct 18, 2023 at 9:19 AM Milind Gupta <mil...@gm...> wrote:
>> >
>> > Thanks for all this information. I was going throught the interface files and to see how they are written I opened the wxwidgets version which the interface file said it was updated to. To see how things changed from the include file to the interface file.
>> > I can follow some things. But now I opened the latest wxwidgets include file for events -event.h and this seems to have transformed a lot. Particularly there are some templates functions like CallAfter. Now I am trying to see if there is any existing template function binding in any interface file so I can try to add that. Do you know of any that you looked at, or any idea of any particular thing to take care of to bind templates functions?
>> >
>> > Thanks,
>> > Milind
>> >
>> > On Tue, Oct 17, 2023, 11:41 PM Paul K <pau...@gm...> wrote:
>> >>
>> >> Hi Milind,
>> >>
>> >> > Apart from binding.html is there any other tutorial or cheat sheet how to translate wxWidgets include files to a interface file?
>> >>
>> >> Not really, but I can suggest looking through some of the existing
>> >> bindings (including *_override.hpp files), as there is a variety of
>> >> binding from really simple to more complex ones that handle out
>> >> parameters and accept/return lua tables instead of lists of values.
>> >>
>> >> The bindings are quite forgiving and will accept the files that look
>> >> like header files; you may need to add `%wxchkver_3_2_1` statements
>> >> (as a line or block statement) to indicate when a particular API
>> >> change should be applied. The rest should be done by the genwxbind
>> >> script; in those cases when something non-standard (or more complex)
>> >> needs to be done, you can add an *_override.hpp file to provide the
>> >> necessary (manual) binding.
>> >>
>> >> > In the wxlua/bindings directory readme it says that the output bindings are placed at modules/wxbind and modules/wxbindstc. It seems wxbindstc is no more. I think stc binding rules place it in modules/wxbind. Is this updated to only generate at modules/wxbind?
>> >>
>> >> Correct; stc has been combined with the rest of the modules in modules/wxbind.
>> >>
>> >> > What is the purpose of the files: any-bind-sync.lua, stc-bind-sync.lua?
>> >>
>> >> Originally all binding updates have been done manually, which may
>> >> become quite tedious and difficult to maintain for large release
>> >> changes. I wrote any-bind-sync.lua and stc-bind-sync.lua to help with
>> >> some of that work. It uses wxwidgets interface files to pull changes
>> >> for specific versions and then compares those changes with the
>> >> existing bindings to figure out what needs to be updated and what
>> >> needs to be added/removed. You still need to pass it a specific
>> >> version number, so you can go from 3.2.0 to 3.2.1, but you can't go
>> >> from 3.1.0 to 3.2.0, as the script won't know where to get the changes
>> >> for intermediate releases.
>> >>
>> >> It replaces some of the manual work (and only for those classes that
>> >> are listed in the script), but still requires reviewing of the
>> >> results. It's supposed to only update interface files (*.i) and you
>> >> can then simply rerun the bindings generator (genwxbind script) to
>> >> apply the changes. Let me know if you have any other questions or run
>> >> into any issues with adding classes you're interested in.
>> >>
>> >> Paul.
>> >>
>> >> On Tue, Oct 17, 2023 at 12:34 AM Milind Gupta <mil...@gm...> wrote:
>> >> >
>> >> > Hi,
>> >> > A few questions about bindings.Apart from binding.html is there any other tutorial or cheat sheet how to translate wxWidgets include files to a interface file?
>> >> > In the wxlua/bindings directory readme it says that the output bindings are placed at modules/wxbind and modules/wxbindstc. It seems wxbindstc is no more. I think stc binding rules place it in modules/wxbind. Is this updated to only generate at modules/wxbind?
>> >> > What is the purpose of the files: any-bind-sync.lua, stc-bind-sync.lua?
>> >> >
>> >> > Thanks,
>> >> > Milind
>> >> >
>> >> > _______________________________________________
>> >> > wxlua-users mailing list
>> >> > wxl...@li...
>> >> > https://lists.sourceforge.net/lists/listinfo/wxlua-users
>> >>
>> >>
>> >> _______________________________________________
>> >> wxlua-users mailing list
>> >> wxl...@li...
>> >> https://lists.sourceforge.net/lists/listinfo/wxlua-users
>> >
>> > _______________________________________________
>> > wxlua-users mailing list
>> > wxl...@li...
>> > https://lists.sourceforge.net/lists/listinfo/wxlua-users
>>
>>
>> _______________________________________________
>> wxlua-users mailing list
>> wxl...@li...
>> https://lists.sourceforge.net/lists/listinfo/wxlua-users
>
> _______________________________________________
> wxlua-users mailing list
> wxl...@li...
> https://lists.sourceforge.net/lists/listinfo/wxlua-users

View entire thread

Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /