Commits

Show all
Author Commit Message Labels Comments Date
Just van Rossum
remove protocol declarations
Just van Rossum
typo
Just van Rossum
typo
Just van Rossum
replaced hand-written protocol definitions with generated ones
Just van Rossum
- added gen_all_protocols.py script, which generate protocols for the frameworks that PyObjC ships wrappers for. (Except PreferencePanes, as it doesn't seem to define any protocols.) - fixed gen_protocols.py so it also handles selectors defined over multiple lines in the header file.
Just van Rossum
made more useful as a module
Just van Rossum
new script to generate protocol definitions from header files
Just van Rossum
Stupidly, NSOutlineView's target action is only sent when the user _clicked_, but not when the arrow keys are used. Fixed by using the outlineViewSelectionDidChange_ delegate method. (The nib was changed also as the delegate wasn't set.)
Ronald Oussoren
Fix some bugs in the iClass example. Code should be cleaned up, to make this more generally usefull.
Just van Rossum
typo
Ronald Oussoren
- Add wrappers for NSDictionary initWithObjects:forKeys:count and dictionaryWithObjects:forKeys:count: - Fix some problems with objc.splitSignature. The function used to cause crashes for some of the signatures used in Cocoa, you can now call splitSignature on any signature used in Cocoa. - Object (the implicit base class of all Objective-C classes) doesn't implement all methods that are used by the bridge, compensate for this on the one occasion that …
Just van Rossum
fixed QuickHarmlessEditBeforeCheckin ;-)
Bill Bumgarner
Added rudimentary dump-stack-on-fatal-signal handling.
Ronald Oussoren
- Passed the same value of the name and reason while converting exceptions from objc to python. - The -dealloc of Python classes erased existing exceptions, causing problems if it was called during the traceback of an exception.
Ronald Oussoren
/tmp/cvs9NJIkx
Ronald Oussoren
CFObject_{New,Convert} will be present in Python 2.3b2, they are already present in Python CVS as of a couple of days ago. Adjust the test for people that don't rebuild python very often.
Ronald Oussoren
Updated protocol handling. It is no longer necessary to specify the list of protocols defined by a class, the bridge will calculate this list based on the methods implemented by a class. Also fix the definition of a number of protocols. This implements some more methods on NS{Mutable,}Dictionary to make it more dict-like. The 'poseAsClass:' method is disabled because it crashes the brige due to the implementation of that method in Objective-C. Given the other problems of poseAs I don't think it would be usefull to fix this right now.
Just van Rossum
Fix for bug #738151: methods defined in Python didn't accept keyword args when called from Python.
Ronald Oussoren
- Enable more warnings during compilation, and fix the resulting messages - Add wrappers for decoding of plain ObjC types (NSCoding) - Add NS{Mutable,}Dictionary.items() - Regenerate Doc/*.html - Add a document that will contain information about how the Cocoa API's as exposed by PyObjC are different from the Objective-C API's. - Add script to run all tests in 1 python session, this is a script by Dinu Gherman with minor updates by me.
Ronald Oussoren
- Fix link to MacPython site - Add SF logo (we're using their resources and might as well show their logo)
Ronald Oussoren
- Add flag to objc.informal_protocol constructor to disable warnings for some protocols. This is temporary: We can do away with informal protocols in class definitions and use the list of protocols to deduce the protocols implemented by a newly defined class. (Thanks to Just for the idea) - Scripts/gen_test_methods.py generated bad method signatures for PyObjC_TestClass2, hence the test failures. - Fixed writing output arguments back into the Objective-C values…
Ronald Oussoren
Using nil without importing it (from objc). Fixed by using None instead, nil is only there to ease translation of Objective-C code into Python.
Ronald Oussoren
Fix typo in depythonify_c_value, missing 'else' in what was intended as an cascaded if-statement. Also allow the user to specify the empty string for 'no selector'.
Ronald Oussoren
- Fix PyArg_Parse... bug for the 10.1 specific files (I haven't check if this compiles on a 10.1 box) - Enhance the new test_methods2.py file: Also test calls from objective-C to python. Calls from Objective-C that use pass-by-reference _C_IN arguments don't work correctly (yet). - Move using-nsscanner to the unittests: test_nsscanner.py - Make 'forwardInvocation:' of python classes use the same logic as the stub-function in the method table of the Objective-C cl…
Ronald Oussoren
This reenables the informal protocol checking code (but introduces a limited memory leak: We never clean up entries in the selector-to-protocol mapping). More importantly this adds an incomplete rewrite of Lib/objc/test_methods.py, this version is generated to make it easier and less error-prone to update these tests. Currently this only tests calls from Python to Objective-C, but the C code for testing calls from Objective-C to Python is already present. These new testcases uncovered some bugs w.r.t multiple-argument method-calls, mostly having t…
Ronald Oussoren
Don't try to compile code that doesn't exist yet
Ronald Oussoren
the func_builder.py script generated bad calls to PyArg_Parse...(): It tested the result for '< 0' instead of treating the return value as a boolean. This bug has been present for a very long time (as in 'from the start').
Ronald Oussoren
Disable protocol related warnings, I'm being stupid again :-(
Ronald Oussoren
Warn if a class implements methods from an informal_protocol object, but doesn't declare this. Doing this is one of the most common errors for new users.
Ronald Oussoren
+-----+ | * * | <-- Ronald in a brown paper bag :-( | | I found the culprit for the problems I was having with the +-----+ move of instance state to Objective-C: Some bogus code in | | class-builder.m. This patch also cleans up the unittests (remove 'suite' definitions, these weren't used anyway). Dinu's allTestsTogether.py caused some crashes, these are also fixed.
  1. Prev
  2. Next