These changes add support for browsing protocol. This is done as follow:
Extending the model to include protocols: ClassStub can represent a class or a protocol, ClassDisplay is extended to display protocol details.
OS X app list protocols in the 'flat list' or 'inheritance' view', but not in the 'images' view, as we cannot get the list of protocols defined by an library through the obj-c api. Protocols are displayed with a P icon instead of the C icon for classes.
iPhone app list classes and protocols in 2 separate section in the tree view, and with a toggle button in the list view. Framework do not display protocols for reason above. The web browser view displays classes and protocols in 2 separate sections.
Note: an undocumented function is used in OS X 10.8 and iOS 6 and above to get detailed parameters types for protocols methods: _protocol_getMethodTypeEncoding. So in many cases, protocols method parameters are displayed with actual types instead of (id).
These changes add support for browsing protocol. This is done as follow:
Note: an undocumented function is used in OS X 10.8 and iOS 6 and above to get detailed parameters types for protocols methods: _protocol_getMethodTypeEncoding. So in many cases, protocols method parameters are displayed with actual types instead of (id).