Adobe FrameMaker 7.0:
Developing FDK Client

Who should attend the course?

This course is intended for programmers or system integrators/developers who wish to modify, or extend the functionality of the Adobe FrameMaker products using the FrameMaker Developer's Kit (FDK), including:

How long is the course?
5 Days.

What are the benefits of attending?

In this course you will learn how to create custom applications using the FrameMaker Application Program Interface (API) and how to make such applications portable using the FrameMaker Development Environment (FDE)

What are the prerequisites?

You need to know how to use FrameMaker or FrameMaker+SGML to create a FrameMaker Template as well as competency in the C programming language as you are expected to complete a number of C language programming exercises in class. These require, among other things, the ability to work with a library of function calls, manipulate complex data structures, and write C functions.

Knowledge of the standard C libraries and other API's is helpful but not required.

Course Outline

Introduction
FDK overview
Related developer tools
Class overview
Getting further information
Client types
Sample client applications
Developing Client Application
Setting up your development environment
Development process
Debugging client applications
Naming conventions used in FDK
API and FDE Data types
Sharing Control
How clients take control
Client initialization
Bailing out
Responding to client owned commands
Responding to events
Responding to hypertext messages
FDE Libraries
Initializing FDE
Include files
FDE data types
Utilities library
String library
String list library
Character library
Metric library
Predefined User Interface
Alerts
Prompting for a value
Displaying list of file names
Displaying list of values
Objects and their Properties
Object/property model
Getting value of property
Setting value of property
Working with property lists
Getting Object Identifiers
In lists
By name
Using unique identifiers
Creating and Deleting Objects
Creating objects
Deleting objects
Fundamental Objects
Sessions
Books
Documents
Adding Menus and Commands
Menu, command and separator objects
Adding new menu
Creating commands and adding menu items
Custom Dialog Boxes
Creating dialog boxes
Using dialog boxes in FDK clients
Memory Management
Deallocating memory
Allocating memory
Working with pointers
Working with handles
Copying data structures
Executing Commands
Opening documents or books
Creating new documents
Printing documents
Saving documents or books
Closing document or books
Comparing documents
Formatting documents
Updating documents or books
Graphics Objects
Common and specific properties
Lists of graphic objects
Placement
Grouping
Draw order
Getting and setting properties
Creating graphic objects
Controlling Document Layout
Flows
Text frames
Subcolumns
Paragraphs
Pages
Manipulating Text
Getting text at items that appear in text
Working with selected text
Formatting text
Adding or deleting text
Clipboard operations
Importing files and graphics
Imported text files
Imported graphics
Working with Formats
Paragraph formats and paragraphs
Condition formats
Character formats
Cross reference formats and cross references
Variable formats and variables
Working with Files
File names
Files and directories
Channels
Working with Tables
Tables and table formats
Creating tables
Adding columns or rows
Straddling cells
Accessing data in table cells