mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-15 10:43:15 +02:00
* Switched hashtables.h over to std::undordered_map from boost version. * Added new macros DECL_VEC_FOR_SWIG() and DECL_MAP_FOR_SWIG() in macros.h. These along with future DECL_HASH_FOR_SWIG() unify the declaration to swig and C++ so that the resultant type name is common in both languages, and the types AGREE. * Fixed swigging of NETINFO_ITEM and NETINFO_LIST via magic. * Newly exposed (python wrapped) are: D_PADS, TRACKS (was TRACK_PTRS), NETNAME_MAP, NETCODE_MAP, wxString (without constructor purposely, read comment in wx.i), MARKERS, ZONE_CONTAINERS, NETCLASSPTR, KICAD_T types. * std::vector<SOMETHING*> tends to end up named SOMETHINGS in C++ and python. Having the name consistent between like types is helpful, and between languages. std::map<> ends up as SOMETHING_MAP. * NETINFO_LIST::m_netNames and NETINFO_LIST::m_netCodes are now std::map instead of hashtables, because swig does not yet support std::unordered_map. * You can now get to any netclass or net info. NETNAMES_MAP and NETCODES_MAP are traversable basically the same as a python dictionary using a python string (not wsString) as the key! The wxString typemap converts python string to wxString before the lookup happens. Iteration also works.