User:Bob sambrook/Books/DevGuide

From Apache OpenOffice Wiki
Revision as of 15:38, 16 April 2010 by Bob sambrook (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Template:Saved book

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
Personal tools