Contents
1 | Reader's Guide |
1.1 | What This Manual Covers |
1.2 | How This Book is Organized |
1.3 | OpenOffice.org Version History |
1.4 | Related documentation |
1.5 | Conventions |
1.6 | Acknowledgments |
2 | First Steps |
2.1 | Programming with UNO |
2.2 | Fields of Application for UNO |
2.3 | Getting Started |
2.3.1 | Required Files |
2.3.2 | Installation Sets |
2.3.3 | Configuration |
Enable Java in OpenOffice.org |
Use Java UNO class files |
Make the office listen |
Add the API Reference to your IDE |
2.3.4 | First Connection |
Getting Connected |
Service Managers |
Failed Connections |
2.4 | How to get Objects in OpenOffice.org |
2.5 | Working with Objects |
2.5.1 | Services |
Using Interfaces |
Using Properties |
2.5.2 | Example: Working with a Spreadsheet Document |
2.5.3 | Common Types |
Simple Types |
Strings |
Enum Types and Groups of Constants |
2.5.4 | Struct |
2.5.5 | Any |
2.5.6 | Sequence |
2.5.7 | Element Access |
Name Access |
Index Access |
Enumeration Access |
2.6 | How do I know Which Type I Have? |
2.7 | Example: Hello Text, Hello Table, Hello Shape |
2.7.1 | Common Mechanisms for Text, Tables and Drawings |
2.7.2 | Creating Text, Tables and Drawing Shapes |
Text, Tables and Drawings in Writer |
Text, Tables and Drawings in Calc |
Drawings and Text in Draw |
3 | Professional UNO |
3.1 | Introduction |
3.2 | API Concepts |
3.2.1 | Data Types |
Simple Types |
The Any Type |
Interfaces |
Services |
Structs |
Predefined Values |
Sequences |
Modules |
Exceptions |
Singletons |
3.2.2 | Understanding the API Reference |
Specification, Implementation and Instances |
Object Composition |
3.3 | UNO Concepts |
3.3.1 | UNO Interprocess Connections |
Starting OpenOffice.org in Listening Mode |
Importing a UNO Object |
Characteristics of the Interprocess Bridge |
Opening a Connection |
Creating the Bridge |
Closing a Connection |
Example: A Connection Aware Client |
3.3.2 | Service Manager and Component Context |
Service Manager |
Component Context |
3.3.3 | Using UNO Interfaces |
3.3.4 | Properties |
3.3.5 | Collections and Containers |
3.3.6 | Event Model |
3.3.7 | Exception Handling |
User-Defined Exceptions |
Runtime Exceptions |
Good Exception Handling |
3.3.8 | Lifetime of UNO Objects |
acquire() and release() |
The XComponent Interface |
Children of the XEventListener Interface |
Weak Objects and References |
Differences Between the Lifetime of C++ and Java Objects |
3.3.9 | Object Identity |
3.4 | UNO Language Bindings |
3.4.1 | Java Language Binding |
Getting a Service Manager |
Handling Interfaces |
Type Mappings |
3.4.2 | UNO C++ Binding |
Library Overview |
System Abstraction Layer |
File Access |
Threadsafe Reference Counting |
Threads and Thread Synchronization |
Establishing Interprocess Connections |
Type Mappings |
Using Weak References |
Exception Handling in C++ |
3.4.3 | OpenOffice.org Basic |
Handling UNO Objects |
Mapping of UNO and Basic Types |
Case Sensitivity |
Exception Handling |
Listeners |
3.4.4 | Automation Bridge |
Introduction |
Requirements |
A Quick Tour |
The Service Manager Component |
Using UNO from Automation |
Type Mappings |
Automation Objects with UNO Interfaces |
DCOM |
The Bridge Services |
Unsupported COM Features |
4 | Writing UNO Components |
4.1 | Required Files |
4.2 | Using UNOIDL to Specify New Components |
4.2.1 | Writing the Specification |
Preprocessing |
Grouping Definitions in Modules |
Fundamental Types |
Defining an Interface |
Defining a Service |
Defining a Sequence |
Defining a Struct |
Defining an Exception |
Predefining Values |
Using Comments |
Singleton |
Reserved Types |
4.2.2 | Generating Source Code from UNOIDL Definitions |
4.3 | Component Architecture |
4.4 | Core Interfaces to Implement |
4.4.1 | XInterface |
Requirements for queryInterface() |
Reference Counting |
4.4.2 | XTypeProvider |
Provided Types |
ImplementationID |
4.4.3 | XServiceInfo |
Implementation Name |
Supported Service Names |
4.4.4 | XWeak |
4.4.5 | XComponent |
Disposing of an XComponent |
4.4.6 | XInitialization |
4.4.7 | XMain |
4.4.8 | XAggregation |
4.4.9 | XUnoTunnel |
4.5 | Simple Component in Java |
4.5.1 | Class Definition with Helper Classes |
XInterface, XTypeProvider and XWeak |
XServiceInfo |
4.5.2 | Implementing your own Interfaces |
4.5.3 | Providing a Single Factory Using Helper Method |
4.5.4 | Write Registration Info Using Helper Method |
4.5.5 | Implementing without Helpers |
XInterface |
XTypeProvider |
XComponent |
4.5.6 | Storing the Service Manager for Further Use |
4.5.7 | Create Instance with Arguments |
4.5.8 | Possible Structures for Java Components |
One Implementation per Component File |
Multiple Implementations per Component File |
4.5.9 | Running and Debugging Java Components |
Registration |
Debugging |
The Java Environment in OpenOffice.org |
Troubleshooting |
4.6 | C++ Component |
4.6.1 | Class Definition with Helper Template Classes |
XInterface, XTypeProvider and XWeak |
XServiceInfo |
4.6.2 | Implementing your own Interfaces |
4.6.3 | Providing a Single Factory Using a Helper Method |
4.6.4 | Write Registration Info Using Helper Method |
4.6.5 | Provide Implementation Environment |
4.6.6 | Implementing without Helpers |
XInterface Implementation |
XTypeProvider Implementation |
Providing a Single Factory |
Write Registration Info |
4.6.7 | Storing the Service Manager for Further Use |
4.6.8 | Create Instance with Arguments |
4.6.9 | Multiple Components in One Dynamic Link Library |
4.6.10 | Building and Testing C++ Components |
Build Process |
Test Registration and Use |
4.7 | Integrating Components into OpenOffice.org |
4.7.1 | Protocol Handler |
Overview |
Implementation |
Configuration |
Installation |
4.7.2 | Jobs |
Overview |
Execution Environment |
Implementation |
Initialization |
Returning Results |
Configuration |
Installation |
Using the vnd.sun.star.jobs: URL Schema |
List of supported Events |
4.7.3 | Add-Ons |
Overview |
Guidelines |
Configuration |
Installation |
4.7.4 | Disable Commands |
Configuration |
Disabling Commands at Runtime |
4.8 | File Naming Conventions |
4.9 | Deployment Options for Components |
4.9.1 | UNO Package Installation |
Package Structure |
Path Settings |
Additional Options |
4.9.2 | Background: UNO Registries |
UNO Type Library |
Component Registration |
4.9.3 | Command Line Registry Tools |
Component Registration Tool |
UNO Type Library Tools |
4.9.4 | Manual Component Installation |
Manually Merging a Registry and Adding it to uno.ini or soffice.ini |
Alternatives |
4.9.5 | Bootstrapping a Service Manager |
4.9.6 | Special Service Manager Configurations |
Dynamically Modifying the Service Manager |
Creating a ServiceManager from a Given Registry File |
4.10 | The UNO Executable |
Standalone Use Case |
Server Use Case |
Using the uno Executable |
5 | Advanced UNO |
5.1 | Choosing an Implementation Language |
5.1.1 | Supported Programming Environments |
Java |
C++ |
OpenOffice.org Basic |
OLE Automation Bridge |
Python |
5.1.2 | Use Cases |
Java |
C++ |
OpenOffice.org Basic |
OLE Automation |
Python |
5.1.3 | Recommendation |
5.2 | Language Bindings |
5.2.1 | Implementing UNO Language Bindings |
Overview of Language Bindings and Bridges |
Implementation Options |
5.2.2 | UNO C++ bridges |
Binary UNO Interfaces |
C++ Proxy |
Binary UNO Proxy |
Additional Hints |
5.2.3 | UNO Reflection API |
XTypeProvider Interface |
Converter Service |
CoreReflection Service |
5.2.4 | XInvocation Bridge |
Scripting Existing UNO Objects |
Implementing UNO objects |
Example: Python Bridge PyUNO |
5.2.5 | Implementation Loader |
Shared Library Loader |
Bridges |
5.2.6 | Help with New Language Bindings |
5.3 | Differences Between UNO and Corba |
5.4 | UNO Design Patterns and Coding Styles |
5.4.1 | Double-Checked Locking |
6 | Office Development |
6.1 | OpenOffice.org Application Environment |
6.1.1 | Overview |
Desktop Environment |
Framework API |
6.1.2 | Using the Desktop |
6.1.3 | Using the Component Framework |
Getting Frames, Controllers and Models from Each Other |
Frames |
Controllers |
Models |
Window Interfaces |
6.1.4 | Creating Frames Manually |
6.1.5 | Handling Documents |
Loading Documents |
Closing Documents |
Storing Documents |
Printing Documents |
6.1.6 | Using the Dispatch Framework |
Command URL |
Processing Chain |
Dispatch Process |
Dispatch Results |
Dispatch Interception |
6.1.7 | Java Window Integration |
The Window Handle |
Using the Window Handle |
More Remote Problems |
6.2 | Common Application Features |
6.2.1 | Clipboard |
Using the Clipboard |
OpenOffice.org Clipboard Data Formats |
6.2.2 | Internationalization |
Introduction |
Overview and Using the API |
Implementing a New Locale |
6.2.3 | Linguistics |
Services Overview |
Using Spellchecker |
Using Hyphenator |
Using Thesaurus |
Events |
Implementing a Spell Checker |
Implementing a Hyphenator |
Implementing a Thesaurus |
6.2.4 | Integrating Import and Export Filters |
Approaches |
Document API Filter Development |
XML Based Filter Development |
6.2.5 | Number Formats |
Managing Number Formats |
Applying Number Formats |
6.2.6 | Document Events |
6.2.7 | Path Organization |
Path Settings |
Path Variables |
6.2.8 | OpenOffice.org Single Sign-On API |
Overview |
Implementing the OpenOffice.org SSO API |
7 | Text Documents |
7.1 | Overview |
7.1.1 | Example: Fields in a Template |
7.1.2 | Example: Visible Cursor Position |
7.2 | Handling Text Document Files |
7.2.1 | Creating and Loading Text Documents |
7.2.2 | Saving Text Documents |
Storing |
Exporting |
7.2.3 | Printing Text Documents |
Printer and Print Job Settings |
Printing Multiple Pages on one Page |
7.3 | Working with Text Documents |
7.3.1 | Word Processing |
Editing Text |
Iterating over Text |
Inserting a Paragraph where no Cursor can go |
Sorting Text |
Inserting Text Files |
Auto Text |
7.3.2 | Formatting |
7.3.3 | Navigating |
Cursors |
Locating Text Contents |
Search and Replace |
7.3.4 | Tables |
Table Architecture |
Named Table Cells in Rows, Columns and the Table Cursor |
Indexed Cells and Cell Ranges |
Table Naming, Sorting, Charting and Autoformatting |
Text Table Properties |
Inserting Tables |
Accessing Existing Tables |
7.3.5 | Text Fields |
7.3.6 | Bookmarks |
7.3.7 | Indexes and Index Marks |
Indexes |
Index marks |
7.3.8 | Reference Marks |
7.3.9 | Footnotes and Endnotes |
7.3.10 | Shape Objects in Text |
Base Frames vs. Drawing Shapes |
Text Frames |
Embedded Objects |
Graphic Objects |
Drawing Shapes |
7.3.11 | Redline |
7.3.12 | Ruby |
7.4 | Overall Document Features |
7.4.1 | Styles |
Character Styles |
Paragraph Styles |
Frame Styles |
Page Styles |
Numbering Styles |
7.4.2 | Settings |
General Document Information |
Document Properties |
Creating Default Settings |
Creating Document Settings |
7.4.3 | Line Numbering and Outline Numbering |
Paragraph and Outline Numbering |
Line Numbering |
Number Formats |
7.4.4 | Text Sections |
7.4.5 | Page Layout |
7.4.6 | Columns |
7.4.7 | Link targets |
7.5 | Text Document Controller |
7.5.1 | TextView |
7.5.2 | TextViewCursor |
8 | Spreadsheet Documents |
8.1 | Overview |
8.1.1 | Example: Adding a New Spreadsheet |
8.1.2 | Example: Editing Spreadsheet Cells |
8.2 | Handling Spreadsheet Document Files |
8.2.1 | Creating and Loading Spreadsheet Documents |
8.2.2 | Saving Spreadsheet Documents |
Storing |
Exporting |
Filter Options |
8.2.3 | Printing Spreadsheet Documents |
Printer and Print Job Settings |
Page Breaks and Scaling for Printout |
Print Areas |
8.3 | Working with Spreadsheet Documents |
8.3.1 | Document Structure |
Spreadsheet Document |
Spreadsheet Services - Overview |
Spreadsheet |
Cell Ranges |
Cells |
Cell Ranges and Cells Container |
Columns and Rows |
8.3.2 | Formatting |
Cell Formatting |
Character and Paragraph Format |
Indentation |
Equally Formatted Cell Ranges |
Table Auto Formats |
Conditional Formats |
8.3.3 | Navigating |
Cell Cursor |
Referencing Ranges by Name |
Named Ranges |
Label Ranges |
Querying for Cells with Specific Properties |
Search and Replace |
8.3.4 | Sorting |
Table Sort Descriptor |
8.3.5 | Database Operations |
Filtering |
Subtotals |
Database Import |
Database Ranges |
8.3.6 | Linking External Data |
Sheet Links |
Cell Area Links |
DDE Links |
8.3.7 | DataPilot |
DataPilot Tables |
DataPilot Sources |
8.3.8 | Protecting Spreadsheets |
8.3.9 | Sheet Outline |
8.3.10 | Detective |
8.3.11 | Other Table Operations |
Data Validation |
Data Consolidation |
Charts |
Scenarios |
8.4 | Overall Document Features |
8.4.1 | Styles |
Cell Styles |
Page Styles |
8.4.2 | Function Handling |
Calculating Function Results |
Information about Functions |
Recently Used Functions |
8.4.3 | Settings |
8.5 | Spreadsheet Document Controller |
8.5.1 | Spreadsheet View |
8.5.2 | View Panes |
8.5.3 | View Settings |
8.5.4 | Range Selection |
8.6 | Spreadsheet Add-Ins |
8.6.1 | Function Descriptions |
8.6.2 | Service Names |
8.6.3 | Compatibility Names |
8.6.4 | Custom Functions |
8.6.5 | Variable Results |
9 | Drawing Documents and Presentation Documents |
9.1 | Overview |
9.1.1 | Example: Creating a Simple Organizational Chart |
9.2 | Handling Drawing Document Files |
9.2.1 | Creating and Loading Drawing Documents |
9.2.2 | Saving Drawing Documents |
Storing |
Exporting |
Filter Options |
9.2.3 | Printing Drawing Documents |
Printer and Print Job Settings |
Special Print Settings |
9.3 | Working with Drawing Documents |
9.3.1 | Drawing Document |
Document Structure |
Page Handling |
Page Partitioning |
9.3.2 | Shapes |
Bezier Shapes |
Shape Operations |
9.3.3 | Inserting Files |
9.3.4 | Navigating |
9.4 | Handling Presentation Document Files |
9.4.1 | Creating and Loading Presentation Documents |
9.4.2 | Printing Presentation Documents |
9.5 | Working with Presentation Documents |
9.5.1 | Presentation Document |
9.5.2 | Presentation Settings |
Custom Slide Show |
Presentation Effects |
Slide Transition |
Animations and Interactions |
9.6 | Overall Document Features |
9.6.1 | Styles |
Graphics Styles |
Presentation Styles |
9.6.2 | Settings |
9.6.3 | Page Formatting |
9.7 | Drawing and Presentation Document Controller |
9.7.1 | Setting the Current Page, Using the Selection |
9.7.2 | Zooming |
9.7.3 | Other Drawing-Specific View Settings |
10 | Charts |
10.1 | Overview |
10.2 | Handling Chart Documents |
10.2.1 | Creating Charts |
Creating and Adding a Chart to a Spreadsheet |
Creating a Chart OLE Object in Draw and Impress |
Setting the Chart Type |
10.2.2 | Accessing Existing Chart Documents |
10.3 | Working with Charts |
10.3.1 | Document Structure |
10.3.2 | Data Access |
10.3.3 | Chart Document Parts |
Common Parts of all Chart Types |
Features of Special Chart Types |
10.4 | Chart Document Controller |
10.5 | Chart Add-Ins |
10.5.1 | Prerequisites |
10.5.2 | How Add-Ins work |
10.5.3 | How to Apply an Add-In to a Chart Document |
11 | OpenOffice.org Basic and Dialogs |
11.1 | First Steps with OpenOffice.org Basic |
Step By Step Tutorial |
A Simple Dialog |
11.2 | OpenOffice.org Basic IDE |
11.2.1 | Managing Basic and Dialog Libraries |
Macro Dialog |
Macro Organizer Dialog |
11.2.2 | Basic IDE Window |
Basic Source Editor and Debugger |
Dialog Editor |
11.2.3 | Assigning Macros to GUI Events |
11.3 | Features of OpenOffice.org Basic |
11.3.1 | Functional Range Overview |
Screen I/O Functions |
File I/O |
Date and Time Functions |
Numeric Functions |
String Functions |
Specific UNO Functions |
11.3.2 | Accessing the UNO API |
StarDesktop |
ThisComponent |
11.3.3 | Special Behavior of OpenOffice.org Basic |
Threads |
Rescheduling |
11.4 | Advanced Library Organization |
11.4.1 | General Structure |
11.4.2 | Accessing Libraries from Basic |
Library Container Properties in Basic |
Loading Libraries |
Library Container API |
11.4.3 | Variable Scopes |
11.5 | Programming Dialogs and Dialog Controls |
11.5.1 | Dialog Handling |
Showing a Dialog |
Getting the Dialog Model |
Dialog as Control Container |
Dialog Properties |
Common Properties |
Multi-Page Dialogs |
11.5.2 | Dialog Controls |
Command Button |
Image Control |
Check Box |
Option Button |
Label Field |
Text Field |
List Box |
Combo Box |
Horizontal/Vertical Scroll Bar |
Group Box |
Progress Bar |
Horizontal/Vertical Line |
Date Field |
Time Field |
Numeric Field |
Currency Field |
Formatted Field |
Pattern Field |
File Control |
11.6 | Creating Dialogs at Runtime |
11.7 | Library File Structure |
11.7.1 | Application Library Container |
11.7.2 | Document Library Container |
11.8 | Library Deployment |
Package Structure |
Path Settings |
Additional Options |
12 | Database Access |
12.1 | Overview |
12.1.1 | Capabilities |
Platform Independence |
Functioning of the OpenOffice.org API Database Integration |
Integration with OpenOffice.org API |
12.1.2 | Architecture |
12.1.3 | Example: Querying the Bibliography Database |
12.2 | Data Sources in OpenOffice.org API |
12.2.1 | DatabaseContext |
12.2.2 | DataSources |
The DataSource Service |
Queries |
Forms and Other Links |
Tables and Columns |
12.2.3 | Connections |
Understanding Connections |
Connecting Using the DriverManager and a Database URL |
Connecting Through a Specific Driver |
Driver Specifics |
Connection Pooling |
Piggyback Connections |
12.3 | Manipulating Data |
12.3.1 | The RowSet Service |
Usage |
Events and Other Notifications |
Clones of the RowSet Service |
12.3.2 | Statements |
Creating Statements |
Inserting and Updating Data |
Getting Data from a Table |
12.3.3 | Result Sets |
Retrieving Values from Result Sets |
Moving the Result Set Cursor |
Using the getXXX Methods |
Scrollable Result Sets |
Modifiable Result Sets |
Update |
Insert |
Delete |
Seeing Changes in Result Sets |
12.3.4 | ResultSetMetaData |
12.3.5 | Using Prepared Statements |
When to Use a PreparedStatement Object |
Creating a PreparedStatement Object |
Supplying Values for PreparedStatement Parameters |
12.3.6 | PreparedStatement From DataSource Queries |
12.4 | Database Design |
12.4.1 | Retrieving Information about a Database |
Retrieving General Information |
Determining Feature Support |
Database Limits |
SQL Objects and their Attributes |
12.4.2 | Using DDL to Change the Database Design |
12.4.3 | Using SDBCX to Access the Database Design |
The Extension Layer SDBCX |
Catalog Service |
Table Service |
Column Service |
Index Service |
Key Service |
View Service |
Group Service |
User Service |
The Descriptor Pattern |
Adding an Index |
Creating a User |
Adding a Group |
12.5 | Using DBMS Features |
12.5.1 | Transaction Handling |
12.5.2 | Stored Procedures |
12.6 | Writing Database Drivers |
12.6.1 | SDBC Driver |
12.6.2 | Driver Service |
12.6.3 | Connection Service |
12.6.4 | XDatabaseMetaData Interface |
12.6.5 | Statements |
PreparedStatement |
Result Set |
12.6.6 | Support Scalar Functions |
Open Group CLI Numeric Functions |
Open Group CLI String Functions |
Open Group CLI Time and Date Functions |
Open Group CLI System Functions |
Open Group CLI Conversion Functions |
Handling Unsupported Functionality |
13 | Forms |
13.1 | Introduction |
13.2 | Models and Views |
13.2.1 | The Model-View Paradigm |
13.2.2 | Models and Views for Form Controls |
13.2.3 | Model-View Interaction |
13.2.4 | Form Layer Views |
View Modes |
Locating Controls |
Focussing Controls |
13.3 | Form Elements in the Document Model |
13.3.1 | A Hierarchy of Models |
FormComponent Service |
FormComponents Service |
Logical Forms |
Forms Container |
Form Control Models |
13.3.2 | Control Models and Shapes |
Programmatic Creation of Controls |
13.4 | Form Components |
13.4.1 | Basics |
Control Models |
Forms |
13.4.2 | HTML Forms |
13.5 | Data Awareness |
13.5.1 | Forms |
Forms as Row Sets |
Loadable Forms |
Sub Forms |
Filtering and Sorting |
Parameters |
13.5.2 | Data Aware Controls |
Control Models as Bound Components |
Committing Controls |
13.6 | Common Tasks |
13.6.1 | Initializing Bound Controls |
13.6.2 | Automatic Key Generation |
13.6.3 | Data Validation |
14 | Universal Content Broker |
14.1 | Overview |
14.1.1 | Capabilities |
14.1.2 | Architecture |
14.2 | Services and Interfaces |
14.3 | Content Providers |
14.4 | Using the UCB API |
14.4.1 | Instantiating the UCB |
14.4.2 | Accessing a UCB Content |
14.4.3 | Executing Content Commands |
14.4.4 | Obtaining Content Properties |
14.4.5 | Setting Content Properties |
14.4.6 | Folders |
Accessing the Children of a Folder |
14.4.7 | Documents |
Reading a Document Content |
Storing a Document Content |
14.4.8 | Managing Contents |
Creating |
Deleting |
Copying, Moving and Linking |
14.4.9 | UCP Registration Information |
14.4.10 | Unconfigured UCBs |
14.4.11 | Preconfigured UCBs |
14.4.12 | Content Provider Proxies |
15 | Configuration Management |
15.1 | Overview |
15.1.1 | Capabilities |
15.1.2 | Architecture |
15.2 | Object Model |
15.3 | Configuration Data Sources |
15.3.1 | Connecting to a Data Source |
15.3.2 | Using a Data Source |
15.4 | Accessing Configuration Data |
15.4.1 | Reading Configuration Data |
15.4.2 | Updating Configuration Data |
15.5 | Customizing Configuration Data |
15.6 | Adding a Backend Data Store |
16 | Office Bean |
16.1 | Introduction |
16.2 | Overview of the OfficeBean API |
16.2.1 | OfficeConnection Interface |
16.2.2 | OfficeWindow Interface |
16.2.3 | ContainerFactory Interface |
16.3 | LocalOfficeConnection and LocalOfficeWindow |
16.4 | Configuring the OfficeBean |
16.4.1 | Default Configuration |
16.4.2 | Customized Configuration |
16.5 | Using the OfficeBean |
16.5.1 | SimpleBean Example |
Using SimpleBean |
SimpleBean Internals |
16.5.2 | OfficeWriterBean Example |
17 | Accessibility |
17.1 | Overview |
17.2 | Bridges |
17.3 | Accessibility Tree |
17.4 | Content Information |
17.5 | Listeners and Broadcasters |
17.6 | Implementing Accessible Objects |
17.6.1 | Implementation Rules |
17.6.2 | Services |
17.7 | Using the Accessibility API |
17.7.1 | A Simple Screen Reader |
Features |
Class Overview |
Putting the Accessibility Interfaces to Work |
Appendix A: OpenOffice.org API-Design-Guidelines |
A.1 | General Design Rules |
A.1.1 | Universality |
A.1.2 | Orthogonality |
A.1.3 | Inheritance |
A.1.4 | Uniformity |
A.1.5 | Correct English |
A.2 | Definition of API Elements |
A.2.1 | Attributes |
A.2.2 | Methods |
A.2.3 | Interfaces |
A.2.4 | Properties |
A.2.5 | Events |
A.2.6 | Services |
A.2.7 | Exceptions |
A.2.8 | Enums |
A.2.9 | Typedefs |
A.2.10 | Structs |
A.2.11 | Parameter |
A.3 | Special Cases |
A.4 | Abbreviations |
A.5 | Source Files and Types |
Appendix B: IDL Documentation Guidelines |
B.1 | Introduction |
B.1.1 | Process |
B.1.2 | File Assembly |
B.1.3 | Readable & Editable Structure |
B.1.4 | Contents |
B.2 | File structure |
B.2.1 | General |
B.2.2 | File-Header |
B.2.3 | File-Footer |
B.3 | Element Documentation |
B.3.1 | General Element Documentation |
B.3.2 | Example for a Major Element Documentation |
B.3.3 | Example for a Minor Element Documentation |
B.4 | Markups and Tags |
B.4.1 | Special Markups |
B.4.2 | Special Documentation Tags |
B.4.3 | Useful XHTML Tags |
Appendix C: Universal Content Providers |
C.1 | The Hierarchy Content Provider |
C.1.1 | Preface |
C.1.2 | HCP Contents |
C.1.3 | Creation of New HCP Content |
C.1.4 | URL Scheme for HCP Contents |
C.1.5 | Commands and Properties |
C.2 | The File Content Provider |
C.2.1 | Preface |
C.2.2 | File Contents |
C.2.3 | Creation of New File Contents |
C.2.4 | URL Schemes for File Contents |
C.2.5 | Commands and Properties |
C.3 | The FTP Content Provider |
C.3.1 | Preface |
C.3.2 | FTP Contents |
C.3.3 | Creation of New FTP Content |
C.3.4 | URL Scheme for FTP Contents |
C.3.5 | Commands and Properties |
C.4 | The WebDAV Content Provider |
C.4.1 | Preface |
C.4.2 | DCP Contents |
C.4.3 | Creation of New DCP Contents |
C.4.4 | Authentication |
C.4.5 | Property Handling |
C.4.6 | URL Scheme for DCP Contents |
C.4.7 | Commands and Properties |
C.5 | The Package Content Provider |
C.5.1 | Preface |
C.5.2 | PCP Contents |
C.5.3 | Creation of New PCP Contents |
C.5.4 | URL Scheme for PCP Contents |
C.5.5 | Commands and Properties |
C.6 | The Help Content Provider |
C.6.1 | Preface |
C.6.2 | Help Content Provider Contents |
C.6.3 | URL Scheme for Help Contents |
C.6.4 | Properties and Commands |
Appendix D: UNOIDL Syntax Specification |
Glossary |