Last modified 16 years ago
Last modified on 02/02/09 16:32:13
Analysis
Overview
Some new features of the PRO_LIB_INSPECTOR should be added in order to make it more useful.
Task requirements
The following new features of the Inspector should be implemented:
- String representation view - there should be a trigger to view certain objects in their toString() representation instead of a tree-like structure. This would help debugging by viewing complex classes and list-like objects in a simple and human readable String form.
- Static methods filter view - there should be a trigger which filters out all static methods from the tree-like representation of the inspected objects. This would help debugging of objects which are instances of classes with a huge amount of static fields (like some Swing components, for example).
- Multiple Inspector instances - not only one but a multitude of Inspector instances should be available to the user.
- the user should be able to easily create a new instance of the Inspector (by cloning the existing one, for example),
- each Inspector instance should have its own root element. This means that the user should have an option to select a certain object as a root of each Inspector instance instead of having a hardcoded one as a default.
- the user should be able to easily change the root of a given Inspector instance by:
- selecting the parent of the current root to be the new root, if such is available,
- selecting a given object in the tree-like representation of the current root and making it the new root,
- specifying a custom object as a root of the new Inspector instance. Doing so might be tricky so a clever way of handling this should be devised, if possible.
Task result
- code modifications in the core.prolib.inspector module,
- ideas for other useful features in the comments section, if any
Implementation idea
- use reflection to filter out static methods
Related
PRO_LIB_CORE_TUTORIAL_R0
PRO_LIB_INSPECTOR_R0
How to demo
- Run Sophie 2.0,
- Turn on and off String representation view,
- Turn on and off Static methods filter view,
- Create a new Inspector instance and change its root
Design
Implementation
(Implementation results should be described and linked here (from the wiki or the repository))
Testing
Comments
- See http://www.sophie2.org/trac/ticket/196 for comments on additional task requirements that can be implemented if there is time left. --boyan@2009-02-02