User:Bob sambrook/Books/DevGuide
From Apache OpenOffice Wiki
Revision as of 15:38, 16 April 2010 by Bob sambrook (talk | contribs)
OO Basic Developers' Guide
- Documentation/DevGuide/OpenOffice.org Developers Guide
- First Steps
- First Steps
- Programming with UNO
- Fields of Application for UNO
- Getting Started
- Getting Started
- Installation Sets
- Configuration
- First Contact
- How to Get Objects in OpenOffice.org
- How to get Objects in OpenOffice.org
- Working With Objects
- Working with Objects
- Objects, Interfaces, and Services
- Using Services
- Example: Working with a Spreadsheet Document
- Common Types
- Struct
- Any
- Sequence
- Element Access
- How Do I Know Which Type I Have?
- How do I know Which Type I Have?
- Examples
- Example: Hello Text, Hello Table, Hello Shape
- Common Mechanisms for Text, Tables and Drawings
- Creating Text, Tables and Drawing Shapes
- Professional UNO
- Professional UNO
- Introduction
- API Concepts
- API Concepts
- Data Types
- Simple Types
- The Any Type
- Interfaces
- Services
- Structs
- Predefined Values
- Sequences
- Modules
- Exceptions
- Singletons
- Understanding the API Reference
- Understanding the API Reference
- UNO Concepts
- UNO Concepts
- 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
- Service Manager and Component Context
- Service Manager
- Component Context
- Using UNO Interfaces
- Properties
- Collections and Containers
- Event Model
- Exception Handling
- 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
- Object Identity
- UNO Language Bindings
- UNO Language Bindings
- Java Language Binding
- Getting a Service Manager
- Transparent Use of Office UNO Components
- Handling Interfaces
- Type Mappings
- Mapping of Sequence Types
- Mapping of Enum Types
- Mapping of Struct Types
- Mapping of Exception Types
- Mapping of Interface Types
- Mapping of UNOIDL
- Mapping of Services
- Mapping of Singletons
- Inexact approximation of UNO Value Semantics
- C++ Language Binding
- Establishing Interprocess Connections
- Transparent Use of Office UNO Components
- Type Mappings
- Mapping of Struct Types
- Mapping of Interface Types
- Mapping of Sequence Types
- Mapping of Services
- Mapping of Singletons
- Using Weak References
- Exception Handling in C++
- OpenOffice.org Basic
- Handling UNO Objects
- Instantiating UNO Services
- Getting Information about UNO Objects
- Mapping of UNO and Basic Types
- Mapping of Simple Types
- Mapping of Sequences and Arrays
- Mapping of Structs
- Mapping of Enums and Constant Groups
- Case Sensitivity
- Exception Handling
- Listeners
- Automation Bridge
- The Service Manager Component
- Using UNO from Automation
- Calling Functions and Accessing Properties
- Return Values
- Usage of Types
- Using Automation Objects from UNO
- Type Mappings
- Default Mappings
- Mapping of Simple Types
- Mapping of Hyper and Decimal
- Mapping of String
- Mapping of Interfaces and Structures
- Mapping of Sequence
- Mapping of Type
- Conversion Mappings
- Client-Side Conversions
- Value Objects
- Exceptions and Errorcodes
- Automation Objects with UNO Interfaces
- DCOM
- The Bridge Services
- Unsupported COM Features
- CLI Language Binding
- Language Binding DLLs
- Type Mapping
- Type Name Decoration
- Type Mappings
- Additional Structures
- Lifetime Management and Obtaining Interfaces
- Writing Client Programs
- The Override Problem
- Important Interfaces and Implementations
- Writing UNO Components
- Writing UNO Components
- Required Files
- Required Files
- Using UNOIDL to Specify New Components
- Using UNOIDL to Specify New Components
- Writing the Specification
- Preprocessing
- Grouping Definitions in Modules
- Simple Types
- Defining an Interface
- Defining a Service
- Defining a Sequence
- Defining a Struct
- Defining an Exception
- Predefining Values
- Using Comments
- Singleton
- Reserved Types
- Published Entities
- Component Architecture
- Component Architecture
- Core Interfaces to Implement
- Core Interfaces to Implement
- XInterface
- XTypeProvider
- XServiceInfo
- XWeak
- XInitialization
- XMain
- XAggregation
- Simple Component in Java
- Simple Component in Java
- Class Definition with Helper Class
- Implementing Your Own Interfaces
- Providing a Single Factory Using a Helper Method
- Write Registration Info Using a Helper Method
- Implementing without Helpers
- Storing the Service Manager for Further Use
- Create Instance with Arguments
- Possible Structures for Java Components
- Running and Debugging Java Components
- Register Component File
- Make Registration Available to OpenOffice.org
- Test the Registration
- Debugging
- XComponent
- The Java Environment in OpenOffice.org
- Troubleshooting
- C++ Component
- C++ Component
- Class Definition with Helper Template Classes
- Implementing your own Interfaces
- XUnoTunnel
- Providing a Single Factory Using a Helper Method
- Write Registration Info Using a Helper Method
- Provide Implementation Environment
- Implementing without Helpers
- Storing the Service Manager for Further Use
- Create Instance with Arguments
- Multiple Components in One Dynamic Link Library
- Building and Testing C++ Components
- Integrating Components into OpenOffice.org
- Integrating Components into OpenOffice.org
- Protocol Handler
- Implementation
- Configuration
- Installation
- Jobs
- Execution Environment
- Implementation
- Initialization
- Returning Results
- Configuration
- Installation
- Using the vnd.sun.star.jobs: URL Schema
- List of Supported Events
- Add-Ons
- Guidelines
- Configuration
- Menus
- Toolbars
- Help Integration
- Installation
- Disable Commands
- Intercepting Context Menus
- File Naming Conventions
- File Naming Conventions
- Deployment Options for Components
- Deployment Options for Components
- Command Line Registry Tools
- Manual Component Installation
- Bootstrapping a Service Manager
- Special Service Manager Configurations
- The UNO Executable
- Standalone Use Case
- Extensions
- Server Use Case
- Using the UNO Executable
- Using the UNO Executable
- Accessing Dialogs
- Accessing Dialogs
- Assigning Component Methods to Control Events
- Using Dialogs in Components
- Images for Toolbars and Menus
- Extensions
- Extension Manager
- Deployment Items
- Installing Extensions for All or a Single User
- Extension Manager in OpenOffice.org
- unopkg
- Location of Installed Extensions
- Extension Layers
- Checklist for Writing Extensions
- File Format
- description.xml
- Description of XML Elements
- Localized XML Elements
- Example
- Display Name
- Icon
- Extension Description
- Extension Identifiers
- Extension Versions
- Target Platform
- Simple License
- Dependencies
- Publisher Information
- System Integration
- Online Update of Extensions
- Running Online - Update
- Concept
- Example Scenario for Providing Updates
- Migration of Update Information
- Description of the Update Information
- Description of Atom Feed
- Examples
- Options Dialog
- Creating the GUI of the Options Page
- Saving and Reading Data for the Options Page
- Defining the Usage of Options Pages
- The Options Dialog of the Extension Manager
- Adding a Leaf to an Existing Node
- Adding Several Leaves
- Grouping of Leaves
- Adding Nodes
- Adding Several Nodes
- Absolute Position of Leaves
- Grouping of Nodes
- Office Development
- Assigning Nodes to Modules
- Defining a Module
- Absolute Position of Nodes
- Help Content
- Advanced UNO
- Advanced UNO
- Language Bindings
- Language Bindings
- Implementing UNO Language Bindings
- UNO C++ Bridges
- UNO Reflection API
- XInvocation Bridge
- Example Python Bridge PyUNO
- Implementation Loader
- Help with New Language Bindings
- Differences Between UNO and Corba
- Differences Between UNO and Corba
- UNO Design Patterns and Coding Styles
- UNO Design Patterns and Coding Styles
- Office Development
- OpenOffice.org Application Environment
- OpenOffice.org Application Environment
- Desktop Environment
- Framework API
- Frame-Controller-Model Paradigm in OpenOffice.org
- Frames
- Controllers
- Windows
- Dispatch Framework
- Using the Desktop
- Using the Component Framework
- Getting Frames, Controllers and Models from Each Other
- Frames
- Controllers
- Models
- Window Interfaces
- Creating Frames Manually
- Handling Documents
- Closing Documents
- Storing Documents
- Using the Dispatch Framework
- Command URL
- Processing Chain
- Dispatch Process
- Dispatch Results
- Dispatch Interception
- Java Window Integration
- Common Application Features
- Common Application Features
- Internationalization
- Overview and Using the API
- Implementing a New Locale
- Linguistics
- Using Spellchecker
- Using Hyphenator
- Using Thesaurus
- Events
- Implementing a Spell Checker
- Implementing a Hyphenator
- Implementing a Thesaurus
- Integrating Import and Export Filters
- Filtering Process
- Filter
- Configuring a Filter in OpenOffice.org
- Properties of a Type
- Properties of a Filter
- Filter Options
- Properties of a FrameLoader
- Document API Filter Development
- XML Based Filter Development
- Writing the Filtering Component
- The Importer
- The Exporter
- XML Filter Detection
- Number Formats
- Managing Number Formats
- Applying Number Formats
- Document Events
- Path Organization
- Path Settings
- Path Variables
- Predefined Variables
- Custom Path Variables
- Resolving Path Variables
- OpenOffice.org Single Sign-On API
- Text Documents
- Text Documents
- Example: Fields in a Template
- Example: Visible Cursor Position
- Handling Text Document Files
- Handling Text Document Files
- Saving Text Documents
- Printing Text Documents
- Working with Text Documents
- Working with Text Documents
- Editing Text
- Iterating over Text
- Inserting a Paragraph where no Cursor can go
- Sorting Text
- Inserting Text Files
- Auto Text
- Formatting
- Navigating
- Tables
- 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
- Text Fields
- Bookmarks
- Indexes and Index Marks
- Reference Marks
- Footnotes and Endnotes
- Shape Objects in Text
- Text Frames
- Embedded Objects
- Graphic Objects
- Drawing Shapes
- Redline
- Ruby
- Overall Document Features
- Overall Document Features
- Settings
- Line Numbering and Outline Numbering
- Text Sections
- Page Layout
- Columns
- Link Targets
- Text Document Controller
- Text Document Controller
- TextView
- TextViewCursor
- Spreadsheet Documents
- Spreadsheet Documents
- Example: Adding a New Spreadsheet
- Example: Editing Spreadsheet Cells
- Handling Spreadsheet Documents Files
- Handling Spreadsheet Documents Files
- Saving Spreadsheet Documents
- Filter Options
- Printing Spreadsheet Documents
- Working With Spreadsheet Documents
- Working With Spreadsheet Documents
- Spreadsheet Services - Overview
- Capabilities of Spreadsheet
- Capabilities of SheetCellRange
- Capabilities of SheetCell
- Capabilities of SheetCellRanges Container
- Capabilities of Columns and Rows
- Spreadsheet
- Cell Ranges
- Properties of Cell Ranges
- Cell and Cell Range Access
- Merging Cell Ranges into a Single Cell
- Column and Row Access
- Data Array
- Absolute Address
- Fill Series
- Operations
- Multiple Operations
- Handling Array Formulas
- Cells
- Properties of SheetCell
- Access to Formulas, Values and Errors
- Access to Text Content
- Absolute Address
- Cell Annotations
- Cell Ranges and Cells Container
- Columns and Rows
- Formatting
- Character and Paragraph Format
- Indentation
- Equally Formatted Cell Ranges
- Table Auto Formats
- Conditional Formats
- Navigating
- Cell Cursor
- Referencing Ranges by Name
- Named Ranges
- Label Ranges
- Querying for Cells with Specific Properties
- Search and Replace
- Sorting
- Database Operations
- Filtering
- Subtotals
- Database Import
- Database Ranges
- Linking External Data
- Sheet Links
- Cell Area Links
- DDE Links
- DataPilot Tables
- Creating a New DataPilot Table
- Modifying a DataPilot Table
- Removing a DataPilot Table
- DataPilot Sources
- Source Object
- Dimensions
- Hierarchies
- Levels
- Members
- Protecting Spreadsheets
- Sheet Outline
- Detective
- Other Table Operations
- Overall Document Features
- Overall Document Features
- Function Handling
- Settings
- Spreadsheet Document Controller
- Spreadsheet Document Controller
- View Panes
- View Settings
- Range Selection
- Spreadsheet Add-Ins
- Spreadsheet Add-Ins
- Function Descriptions
- Service Names
- Compatibility Names
- Custom Functions
- Variable Results
- Drawing Documents and Presentation Documents
- Drawing Documents and Presentation Documents
- Example: Creating a Simple Organizational Chart
- Handling Drawing Document Files
- Handling Drawing Document Files
- Saving Drawing Documents
- Storing
- Exporting
- Filter Options
- Printing Drawing Documents
- Working with Drawing Documents
- Working with Drawing Documents
- Shapes
- Shape Types
- Bezier Shapes
- Shape Operations
- Moving and Scaling
- Rotating and Shearing
- Transforming
- Ordering
- Grouping, Combining and Binding
- General Drawing Properties
- Glue Points and Connectors
- Layer Handling
- Inserting Files
- Navigating
- Handling Presentation Document Files
- Handling Presentation Document Files
- Printing Presentation Documents
- Working with Presentation Documents
- Working with Presentation Documents
- Presentation Settings
- Custom Slide Show
- Presentation Effects
- Slide Transition
- Animations and Interactions
- Overall Document Features
- Overall Document Features
- Settings
- Page Formatting
- Drawing and Presentation Document Controller
- Drawing and Presentation Document Controller
- Setting the Current Page
- Zooming
- Other Drawing Specific View Settings
- Charts
- Charts
- Handling Chart Documents
- Handling Chart Documents
- Creating and Adding a Chart to a Spreadsheet
- Creating a Chart OLE Object in Draw and Impress
- Setting the Chart Type
- Accessing Existing Chart Documents
- Working With Charts
- Working With Charts
- Data Access
- Chart Document Parts
- Common Parts of all Chart Types
- Features of Special Chart Types
- Statistics
- 3-D Charts
- Pie Charts
- Stock Charts
- Chart Document Controller
- Chart Document Controller
- Chart Add-Ins
- Chart Add-Ins
- Prerequisites
- How Add-Ins Work
- How to Apply an Add-In to a Chart Document
- OpenOffice.org Basic
- OpenOffice.org Basic
- First Steps with OpenOffice.org Basic
- First Steps with OpenOffice.org Basic
- Creating a Module in a Standard Library
- Writing and Debugging a Basic UNO program
- Calling a Sub from the User Interface
- Creating Dialogs
- Adding Event Handlers
- AutoPilot Dialogs
- OpenOffice.org Basic IDE
- OpenOffice.org Basic IDE
- Managing Basic and Dialog Libraries
- OpenOffice.org Basic Macros Dialog
- Displayed Information
- Buttons
- OpenOffice.org Basic Macro Organizer Dialog
- Modules
- Dialogs
- Libraries
- Basic IDE Window
- Basic Source Editor and Debugger
- Dialog Editor
- Assigning Macros to GUI Events
- Dialog Localization
- Technical Background
- Features of OpenOffice.org Basic
- Features of OpenOffice.org Basic
- Functional Range Overview
- Screen I/O Functions
- File I/O
- Date and Time Functions
- Numeric Functions
- String Functions
- Specific UNO Functions
- Accessing the UNO API
- Special Behavior of OpenOffice.org Basic
- Advanced Library Organization
- Advanced Library Organization
- General Structure
- Accessing Libraries from Basic
- Variable Scopes
- Programming Dialogs and Dialog Controls
- Programming Dialogs and Dialog Controls
- Dialog Handling
- Showing a Dialog
- Getting the Dialog Model
- Dialog as Control Container
- Dialog Properties
- Common Properties
- Multi-Page Dialogs
- 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
- Creating Dialogs at Runtime
- Creating Dialogs at Runtime
- Library File Structure
- Library File Structure
- Application Library Container
- Document Library Container
- Library Deployment
- Library Deployment
- Database Access
- Database Access
- Architecture
- Example: Querying the Bibliography Database
- Data Sources in OpenOffice.org API
- Data Sources in OpenOffice.org API
- DataSources
- The DataSource Service
- Queries
- Adding and Editing Predefined Queries
- Runtime Settings For Predefined Queries
- The SingleSelectQueryComposer
- The SQLQueryComposer
- Forms and Reports
- Document Links
- Tables and Columns
- Connections
- Connecting Through a DataSource
- Connecting Using the DriverManager and a Database URL
- Connecting Through a Specific Driver
- Driver Specifics
- The SDBC Driver for JDBC
- The SDBC Driver for ODBC
- The SDBC Driver for Adabas D
- The SDBC Driver for ADO
- The SDBC Driver for dBase
- The SDBC Driver for Flat File Formats
- The SDBC Driver for OpenOffice.org Calc Files
- The SDBC Driver for address books
- The SDBC Driver for embedded HSQL databases
- Connection Pooling
- Piggyback Connections
- Manipulating the Data
- Manipulating the Data
- The RowSet Service
- Usage
- Events and Other Notifications
- Clones of the RowSet Service
- Statements
- Creating Statements
- Inserting and Updating Data
- Getting Data from a Table
- 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
- ResultSetMetaData
- Using Prepared Statements
- PreparedStatement From DataSource Queries
- Database Design
- Database Design
- Using DDL to Change the Database Design
- Using SDBCX to Access the Database Design
- 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
- Using DBMS Features
- Using DBMS Features
- Stored Procedures
- Writing Database Drivers
- Writing Database Drivers
- SDBC Driver
- Driver Service
- Connection Service
- XDatabaseMetaData Interface
- Statements
- 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
- Forms
- Forms
- Models and Views
- Models and Views
- The Model-View Paradigm
- Models and Views for Form Controls
- Model-View Interaction
- Form Layer Views
- Form Elements in the Document Model
- Form Elements in the Document Model
- A Hierarchy of Models
- FormComponent Service
- FormComponents Service
- Logical Forms
- Forms Container
- Form Control Models
- Control Models and Shapes
- Form Components
- Form Components
- Control Models
- Forms
- HTML Forms
- Data Awareness
- Data Awareness
- Forms
- Forms as Row Sets
- Loadable Forms
- Sub Forms
- Filtering and Sorting
- Parameters
- Data Aware Controls
- Control Models as Bound Components
- Committing Controls
- External Value Suppliers
- External Value Suppliers
- Value Bindings
- Form Controls accepting Value Bindings
- External List Sources
- Validation
- Validation
- Validation in OpenOffice.org
- Validation and Bindings
- Scripting and Events
- Scripting and Events
- Common Tasks
- Common Tasks
- Initializing Bound Controls
- Automatic Key Generation
- Data Validation
- Programmatic Assignment of Scripts to Events
- Universal Content Broker
- Universal Content Broker
- Services and Interfaces
- Services and Interfaces
- Content Providers
- Content Providers
- Using the UCB API
- Using the UCB API
- Instantiating the UCB
- Accessing a UCB Content
- Executing Content Commands
- Obtaining Content Properties
- Setting Content Properties
- Folders
- Documents
- Managing Contents
- Creating
- Deleting
- Copying, Moving and Linking
- Configuration
- Configuration
- UCP Registration Information
- Unconfigured UCBs
- Preconfigured UCBs
- Content Provider Proxies
- Configuration Management
- Configuration Management
- Object Model
- Object Model
- Configuration Data Sources
- Configuration Data Sources
- Connecting to a Data Source
- Using a Data Source
- Reading Configuration Data
- Reading Configuration Data
- Updating Configuration Data
- Updating Configuration Data
- Customizing Configuration Data
- Customizing Configuration Data
- Creating a Custom Configuration Schema
- Preparing a Custom Configuration Schema
- Installing a Custom Configuration Schema
- Adding a Backend Data Store
- Adding a Backend Data Store
- JavaBean for Office Components
- JavaBean for Office Components
- Using the OOoBean
- Using the OOoBean
- The OOoBean by Example
- The OOoBean by Example
- API Overview
- API Overview
- Configuring the Office Bean
- Configuring the Office Bean
- Default Configuration
- Customized Configuration
- Internal Architecture
- Internal Architecture
- The Internal Office Bean API
- OfficeConnection Interface
- OfficeWindow Interface
- ContainerFactory Interface
- LocalOfficeConnection and LocalOfficeWindow
- Accessibility
- Accessibility
- Overview
- Overview
- Bridges
- Bridges
- Accessibility Tree
- Accessibility Tree
- Content Information
- Content Information
- Listeners and Broadcasters
- Listeners and Broadcasters
- Implementing Accessible Objects
- Implementing Accessible Objects
- Using the Accessibility API
- Using the Accessibility API
- A Simple Screen Reader
- Features
- Class Overview
- Putting the Accessibility Interfaces to Work
- XAccessibleContext
- XAccessibleComponent
- XAccessibleExtendedComponent
- XAccessibleText
- XAccessibleEditableText
- XAccessibleTable
- XAccessibleEventBroadcaster
- XAccessibleEventListener
- XAccessibleSelection
- XAccessibleRelationSet
- XAccessibleStateSet
- XAccessibleValue
- XAccessibleImage
- XAccessibleAction
- XAccessibleKeyBinding
- XAccessibleHypertext
- XAccessibleHyperlink
- Scripting Framework
- Scripting Framework
- Using the Scripting Framework
- Using the Scripting Framework
- Running Macros
- Editing, Creating and Managing Macros
- The Organizer dialogs for BeanShell and JavaScript
- BeanShell Editor
- JavaScript Editor
- Basic and Dialogs
- Macro Recording
- Writing Macros
- Writing Macros
- How the Scripting Framework Works
- Writing a LanguageScriptProvider UNO Component using the Java Helper Classes
- Writing a LanguageScriptProvider UNO Component using the Java Helper Classes
- The ScriptProvider Abstract Base Class
- Implementing the XScript Interface
- Implementing the ScriptEditor Interface
- Building and Registering Your ScriptProvider
- Writing a LanguageScriptProvider UNO Component From Scratch
- Writing a LanguageScriptProvider UNO Component From Scratch
- Scripting Framework URI Specification
- Storage of Scripts
- Implementation
- Integration with Extension Manager
- Graphical User Interfaces
- Graphical User Interfaces
- Exception Handling
- Exception Handling
- Dialogs and Controls
- Dialogs and Controls
- Dialog Creation
- Dialog Creation
- Instantiation of a Dialog
- Setting Dialog Properties
- Adding Controls to a Dialog
- Displaying Dialogs
- Dialog Handling
- Dialog Handling
- Events
- Dialog Controls
- Common Properties
- Font-specific Properties
- Other Common Properties
- Property Propagation Between Model and Control
- Common Workflow to add Controls
- The Example Listings
- Label Field
- Command Button
- Image Control
- Check Box
- Radio Button
- Scroll Bar
- List Box
- Combo Box
- Progress Bar
- Horizontal/Vertical Line Control
- Group Box
- Text Field
- Text Field Extensions
- Formatted Field
- Numeric Field
- Currency Field
- Date Field
- Time Field
- Pattern Field
- Roadmap Control
- File Control
- File Picker
- Message Box
- The Toolkit Service
- Creating Menus
- Summarizing Example to Create a UNO Dialog
- Summarizing Example to Create a UNO Dialog
- OpenOffice.org API-Design-Guidelines
- OpenOffice.org API-Design-Guidelines
- General Design Rules
- General Design Rules
- Definition of API Elements
- Definition of API Elements
- Attributes
- Methods
- Interfaces
- Properties
- Events
- Services
- Exceptions
- Enums
- Typedefs
- Structs
- Parameter
- Special Cases
- Special Cases
- Abbreviations
- Abbreviations
- Source Files and Types
- Source Files and Types
- IDL Documentation Guidelines
- IDL Documentation Guidelines
- File structure
- Element Documentation
- Special Markups
- Special Documentation Tags
- Useful XHTML Tags
- Universal Content Providers
- Universal Content Providers
- The Hierarchy Content Provider
- The File Content Provider
- The FTP Content Provider
- The WebDAV Content Provider
- The Package Content Provider
- The Help Content Provider
- UNOIDL Syntax Specification
- UNOIDL Syntax Specification
- Glossary
- Documentation/DevGuide/Glossary/Glossary