Difference between revisions of "BASIC/UNO Object Browser"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Task list)
(Task list)
Line 23: Line 23:
 
* Implement interface XController for integration into BASIC Ide.
 
* Implement interface XController for integration into BASIC Ide.
 
   Actually, you'd need the [http://api.openoffice.org/docs/common/ref/com/sun/star/frame/Controller.html Controller service] instead of only the interface.
 
   Actually, you'd need the [http://api.openoffice.org/docs/common/ref/com/sun/star/frame/Controller.html Controller service] instead of only the interface.
   Also, I suggest moving this down the list. There's additional work involved to finally integrate this as pluggable component into the Basic IDE, and given the time line, I'd let's say concentrate on the core features of the Object Browser. (fs)
+
   Also, I suggest moving this down the list. There's additional work involved to finally
 +
  integrate this as pluggable component into the Basic IDE, and given the time line, I'd
 +
  let's say concentrate on the core features of the Object Browser. (fs)
 
* Link methods to interfaces supporting them.
 
* Link methods to interfaces supporting them.
 
* Make the output in Basic language. Better even, make this an option.
 
* Make the output in Basic language. Better even, make this an option.

Revision as of 08:18, 14 August 2006

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:

File:ObjectBrowser.png

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.
 Actually, you'd need the Controller service instead of only the interface.
 Also, I suggest moving this down the list. There's additional work involved to finally
 integrate this as pluggable component into the Basic IDE, and given the time line, I'd
 let's say concentrate on the core features of the Object Browser. (fs)
  • 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.

Personal tools