User forums > Nightly builds
The 22 January 2007 build is out.
mandrav:
--- Quote from: marfi on January 24, 2007, 12:16:45 pm ---It is probably force of habit :) I agree that an usage of Connect() function is elegant and this approach is "modern", but in my opinion, Connect() functions together with empty event table in one source file is quite confusing for a user ("Do I something wrong? The event table is still empty...").
--- End quote ---
As a sidenote, the event table must be declared, even if empty, so that wxWidgets setup event handling for this particular widget.
byo:
--- Quote from: mandrav on January 24, 2007, 12:47:13 pm ---As a sidenote, the event table must be declared, even if empty, so that wxWidgets setup event handling for this particular widget.
--- End quote ---
Not exactly - When there's no DECLARE_EVENT_TABLE() in class declaration, no event table is needed. So the code could be created without a bit of event tables ;)
I've left empty event table for two reasons. First: just in case of my mistake, if Connect didn't worked, there is easy switch to old scheme. But as long as it's not needed I don't plan any use of event tables (need extra work since there may be some side effects). I'll remove //(*EventTable //*) block soon but I think that empty event table maybe left as it is since one may want to add it's own events which is easier using event tables (and this is the second reason ;)).
Just to prove that Connect is better, today's nightly will have support for most standard events: paint, mouse and keyboard :) That could NOT be done using event tables ;) (there are few problems with some widgets but unfortunately this is wxWidgets problem :( )
Regards
BYO
mandrav:
--- Quote from: byo on January 24, 2007, 02:17:37 pm ---
--- Quote from: mandrav on January 24, 2007, 12:47:13 pm ---As a sidenote, the event table must be declared, even if empty, so that wxWidgets setup event handling for this particular widget.
--- End quote ---
Not exactly - When there's no DECLARE_EVENT_TABLE() in class declaration, no event table is needed. So the code could be created without a bit of event tables ;)
--- End quote ---
Hmm, I remember that without an event table declared I couldn't use Connect()...
Anyway, since you 're the GUI guru, I 'll take your word for it ;).
byo:
--- Quote from: mandrav on January 24, 2007, 03:08:05 pm ---Hmm, I remember that without an event table declared I couldn't use Connect()...
Anyway, since you 're the GUI guru, I 'll take your word for it ;).
--- End quote ---
Just checked it, works perfectly without tables :).
BTW I've had some problems with connecting events through event table in one situation... sounds like buggy event dipatching system in wx :/
MortenMacFly:
I didn't know really where to post bug report for the wxSmith plugin but I am sure Byo is reading this and anyway - it's somehow related to this nightly. ;-)
But first of all: GREAT WORK! Really! It is really good to have you working on that. I have converted my projects that use wxsmith to the new format and working with the *new* version from today on.
So far all was working smoothly until I opened the C::B workspace. This includes plugins that use the (old) wxSmith format. wxSmith asked me whether it should convert this project but I said "no". The result: Crash Boom Bang! ;-)
The stacktrace (SVN revision 3535) is:
--- Code: ---src/sdk/tinyxml/tinyxml.h:516
src/plugins/contrib/wxSmith/wxsproject.cpp:85
src/plugins/contrib/wxSmith/wxsmith.cpp:166
src/sdk/projectloader_hooks.h:49
--- End code ---
...and so on...
For your reference:
--- Code: ---src/plugins/contrib/wxSmith/wxsproject.cpp:85
--- End code ---
points to
--- Code: ---for ( TiXmlNode* Node = SmithNode->FirstChild(); Node; Node=Node->NextSibling() )
--- End code ---
in the wxSmith code. Seems like "Node" is a NULL pointer or something... but actually this cannot be (on second thoughts)?!
Anyway - there is no reason for me to keep the old format, so I converted them all (as I said before). But, Byo, you may want to take a look at this. It should be reproducible if you open the C::B workspace (and/or the contrib plugin workspace) just as it is in SVN now.
Many thanks again for your hard work!
With regards,
Morten.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version