Commit Graph

131 Commits

Author SHA1 Message Date
rdb 828e52578d Allow a long (provided it is not overflowing) where an int is accepted 2015-07-08 01:58:35 +02:00
rdb 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb ff58db25ac Fix inheritance of hash functions, restore compare_to(), slot get_hash/get_key 2015-03-28 21:55:55 +01:00
rdb 3371df8403 Fix tp_compare, better __repr__/__str__ handling 2015-03-25 19:36:35 +01:00
rdb da3f642902 Various interrogate improvements 2015-02-27 15:01:42 +01:00
rdb 9513046e59 Various substantial changes to Interrogate:
* Allow arbitrary selection of optional keyword arguments in some cases
* Reduce code bloat of generated bindings
* Work around awkward resolution of set_shader_input overloads
* Document the code a bit better
* Make coercion a bit cleaner for reference counted types
* A few optimization tweaks
* Use generic errors in NDEBUG build to reduce size of string pool
2015-02-15 13:48:13 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb a65b477734 Commit patches by cfsworks:
cxx: Fix missing includes masked by composite builds.
misc: Fix typos in comments.
config: Fix missing config forward-declarations.
direct: Adjust Python imports to panda3d.* instead of pandac.*.
display: Split graphicsWindow out into an extension.
framework: Use if/elif/elif/endif instead of ifdef/elif/elif/endif.
ode: Remove erroneous INLINE declarations.
interval: Fix missing import.
2014-10-19 22:41:47 +00:00
rdb a6229f1fac Support for comments in enums. Improve comment handling in C++ parser. Improve doxygen reference. Update interrogate interface. (Addendum to interrogatedb v2.3.) 2014-09-19 23:34:11 +00:00
rdb 8afd8b1f57 interrogatedb v2.3: elements can have comments 2014-09-19 15:18:08 +00:00
rdb c257ce624e Interrogate overhaul that dramatically increases performance for the simpler methods 2014-07-18 13:54:38 +00:00
rdb 5f2c0a6e04 Big commit aiding in separation of Python bindings:
* Most extension functions have been moved to C++.
 * In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb 4944d7cd7b use compare_to and get_class_type instead of compareTo and getClassType 2013-12-18 10:24:00 +00:00
rdb f29c4681e1 Fix broken Python 3 support. 2013-12-17 17:42:16 +00:00
rdb 7926a5fa7b backward compatibility with Python 2.7 2013-10-27 18:51:20 +00:00
rdb d2720d4365 fix line endings 2013-09-17 15:23:14 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
David Rose 5178fb9523 fix problem with infinite recursion on coercion within constructors 2013-03-25 15:15:08 +00:00
rdb dc20f793b6 Support Python 2.5 2013-02-19 22:24:40 +00:00
rdb 0925d9265f fix oops 2013-02-18 11:35:20 +00:00
rdb 192d10b937 Experimental Python 3 support to the C++ code including interrogate. Also adds support for rich comparison in interrogate. 2013-02-16 19:22:26 +00:00
rdb 608643da5a another fix for .this -> T_ULONG 2012-03-09 22:26:59 +00:00
David Rose f9658303e7 ah, *this* is the proper fix to recent interrogate bug. 2011-12-09 05:56:27 +00:00
David Rose dfe16c64f6 rename all Panda-built libraries to begin with libp3 or libpanda 2011-12-06 02:39:21 +00:00
David Rose 134e9a9e92 dual names for interrogate 2011-10-11 00:45:51 +00:00
David Rose 25a303055d possible fix for build break 2010-02-14 18:05:11 +00:00
David Rose 816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
David Rose 1ef4fd333d found pydtool.cxx; bring it up-to-date 2009-11-25 22:44:50 +00:00
David Rose 79a19901a3 add interrogate_wrapped.cxx 2009-11-25 22:27:09 +00:00
rdb f7009a0602 Fixes some really weird typo's, heh. 2009-11-20 19:28:50 +00:00
David Rose 1872104e61 add per-overload comments and make_seq synthetic functions to interrogatedb 2009-09-15 13:36:07 +00:00
David Rose 9d6ebb4c34 implicitly coerce strings to InternalName pointers if needed 2009-08-06 18:49:41 +00:00
David Rose ed15b2bec3 build on optimize 1 2009-07-29 23:37:56 +00:00
David Rose 638e46d489 coercion memory leak fix, part 2 2009-06-10 17:28:49 +00:00
David Rose 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 2009-06-01 21:51:15 +00:00
David Rose 83155fc832 support python 2.4 2009-02-19 00:25:54 +00:00
David Rose 9b952e3922 a few more warning squelches 2009-02-18 23:59:31 +00:00
David Rose a6f4fb2377 operator bool () -> __nonzero__() 2009-01-20 03:17:44 +00:00
David Rose 4cd50fa68d fix performance issues with implicit parameter coercion 2009-01-07 20:05:57 +00:00
rdb 227c7c3497 Compatibility with Python 2.3 2008-11-30 13:22:34 +00:00
David Rose 29969b0fa5 compiler bug with msvc9 2008-11-12 01:30:25 +00:00
David Rose 58e0537e3c wide interrogate improvements: sequence protocol, MAKE_SEQ, __setitem__, and parameter coercion 2008-11-07 21:12:42 +00:00
David Rose 964c76f2e0 pandaFileStream 2008-09-09 00:06:47 +00:00
David Rose 9198427dbc remove unreliable 'interpreter' memory category 2008-07-17 22:38:50 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
David Rose 06a36aff63 get runtime info for things that don't inherit from TypedObject 2007-06-22 22:35:57 +00:00
Roger Hughston ad4aa44a6b If you pick this up you need to re interigate every thing you have 2007-05-12 01:16:04 +00:00
David Rose 88fee08547 fix error message output 2007-04-18 20:26:09 +00:00
David Rose 8eb5baa427 show proper interrogate name instead of 'type' 2007-02-22 19:03:50 +00:00