Application Framework ProjectProject Owner: Carsten Driesner This project contains modules, that define the general behaviour of the OpenOffice application components ( Writer, Calc etc. ). This covers common operations, common objects or functionality on one hand and a module for the integration of the components into the external environment on the other hand. While the latter one is done by the framework module, the first is done by the sfx2 module. The application framework project has a wiki page. We want to move to the wiki in the near future!The sfx2 module offers a complete set of features for an application component, the most important are:
|
|||
|
Modules in Application Framework Project |
|
|
Module |
Function |
||
---|---|---|---|
sfx2 |
The SFX is the core of the framework. |
||
res |
Contains typical resource files such as bitmaps, icons, and cursor files. |
||
idl |
IDL compiler for the SFX framework. It generates definition (header) files used in the components code. |
||
framework |
Integrates the application components in different environments like a desktop or a browser plugin etc. The framework module is also responsible for the content detection and content activation. |
||
desktop |
The code for the office executable. |
||
DocumentProperties |
Makes properties of the documents available through OpenOffice API. |
||
scripting |
Scripting Framework which allows OpenOffice.org to be scripted in multiple languages. You can find the module home page here. |
||
tools |
Contains base classes, like string, date, time, streams, and so on. These classes do not need a UI system, so you can also use them in an character based user interface. |
||
svtools |
Tools layered on top of VCL. |
||
std2 |
Contains the STLport 3.5.1-a derivative from the SGI/STL. |
||
io |
Contains basic UNO I/O services for streaming (Pipe, DataStreams, MarkableStreams) and interprocess connections (sockets and pipes). |
||
eventattacher |
Component-based event handling. |
||
|
The freeware infozip compression library. |
||
|
Helper classes that provide UNO-based APIs. |
||
|
Independent UNO Components for various purposes like OLE, PGP and Speech. |
||
|
Contains stubs or makefiles for external components. |
||
|
Registry client containing UNO Components for Configuration access. |
||
|
Contains the configuration schemas for applications and components. |
||
|
Microsoft Office compatible storage implementation. |
||
|
Stub for testing framework for automated testing. |
||
A more comprehensive description of the application framework modules can be found here. |
Documentation/Examples/Add-ons
There are several documents available which describe features, provide valuable information about the framework internals. We also offer some example add-ons which show interesting features of the framework UNO API. Most documents/add-ons are available via download as OpenOffice.org documents. There is a second section which presents online documents.To Do List
You can find a list of tasks that we would like to implement but until now didn't find the time to do so. These tasks can be implemented by experienced C++ developers that want to help us. You would definitely get support or help of the regular framework developers. If you are interested to work on one of these tasks please contact us on our "dev" mailing list or via e-mail to the framework project lead.
- Vista Shell Extensions
- OpenOffice.org startup. Optimizing the startup process, find bottlenecks and refactor libraries so we don't load unnecessary code.
- Toolbar and popup menu controllers which are more powerful and easier to use than the current ones.
- Cleanup the svtools configuration items (make them write-through instead of write-back with their own cache) to support immediate updates on configuration changes.
- Update the 'Tools - Options' dialogs to support the read-only OpenOffice.org configuration item state.
- A search toolbar as an extensions (see Firefox search bar)
- Add support for user-defined properties in the document properties dialog
- Brush-up the "Styles and Formatting" floating window
- Brush-up the "Templates" dialog
- User interface to associate templates to existing documents