BASIC/UNO Object Browser
The intention of this project is to provide a browser that shows the interfaces, methods and properties of a living object. It will be a component of the BASIC ide debugger, and probably will be invoked from the watch window. It is implemented as a UNO object.
What has been done for now
What I have is a "text mode browser" that accept an object as a parameter and displays the interfaces, methods and properties. The purpose of this step was to learn the Reflection APIs. As a result of this work, some issues with Corereflection and Introspection were filled (bugs 66631 and 66635). The first of these ones was closed by the mentor as invalid, because I had a wrong view about the role of the Introspection interface. Within my time limits, I may try to fix 66635.
Unfortunately plenty of time was lost trying to build OpenOffice.org. After switching to OpenOffice.org SDK, work became more pleasant.
Graphical user interface
Then, a basic graphical user interface was built. It just shows who to use the VCL for showing a tree, applied for displaying the methods and interfaces of this object. Here is a screenshot:
Task list
This task is roughtly in order of priority.
- Implement interface XNameContainer instead of its own interface (done).
- Improve the GUI. Insert proper +/- (done).
- Information about services (done).
- Do a portable Makefile and integrate into openoffice. According to the mentor, create a directory similar to the propctlr (in progress).
- Implement interface XController for integration into BASIC Ide.
- Link methods to interfaces supporting them.
- Make the output in Basic language. Better even, make this an option.
- Link interfaces to OpenOffice.org documentation.
Code
You can fetch the code here.