On Tue, 11 Jan 2005 10:44:40 -0000 (GMT) "Phil Thompson" <[EMAIL PROTECTED]> wrote:
> > It looks like a clarification of C++ is in order. > >>> > >>> I would expect that one can pass a Python int as well as a SIP-4.2 > >>> enum > >>> argument into an enum parameter of a function wrapped by SIP (a C++ > >>> function with a C++ enum parameter accepts C++ int arguments). > > > > That is incorrect. C++ will NOT accept an int when a function has an > > enum parameter. However, if the function takes an int it WILL allow an > > enum. This is because C++ will convert and enum into an int, but not > > an int into an enum. This is part of its type safety features. > > > > > >> Ok, I've had second thoughts about this - the idiom of oring enum > >> values is > >> too common. Tonight's SIP snapshot will allow an integer whereever an > >> enum is > >> expected. I can still get QListBox.setColumnMode() to work properly, > >> which > >> was the original intent of the change. > >> > > The 'or'ing together of enums to form an argument to a function is > > common, but if you look, the function signature takes an 'int' and not > > the enum. When this is done, the enum is just being used as a symbolic > > constant and its type is usually irrelevant. > > Ok, I've now had third thoughts about this after realising that the > exceptions I was seeing with the strict checking were bugs in the examples > I was using, and not related to the oring of enums. Strict checking will > go back into the next snapshot. > > There will be a SIP v4.2rc1 before the final release of v4.2 to give > people a final opportunity to change my mind (again). > Fine with me, I goofed with respect to the conversions between enum and int. Gerard _______________________________________________ PyKDE mailing list [email protected] http://mats.imk.fraunhofer.de/mailman/listinfo/pykde
