InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IFormFieldFactory Class Referenceabstract

#include <IFormFieldFactory.h>

Inheritance diagram for IFormFieldFactory:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IFORMFIELDFACTORY }
 

Public Member Functions

virtual PMString GetFieldTypeName () const =0
 
virtual UIDRef CreateFormField (const UIDRef &inParent, const PMRect &inBounds) const =0
 
virtual PMString GetStyleLibName () const =0
 
virtual PMString GetDefaultBaseObjectName () const =0
 
virtual void AddDefaultAttributes (IGraphicStyleAttributeBossList *outAttrs, IGraphicStyleAttributeBossList *defaultAttrs, IDocument *inDoc)=0
 
virtual
IGraphicStyleAttributeBossList
QueryDefaultAttributes ()=0
 
virtual PMString GetUniqueName (const PMString &inName, IDocument *inDoc)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Abstract Factory and Utility interface for a particular form field type. There are Implementations of IFormFieldFactory for each form field type. (e.g. kPushButtonFactoryImpl, kCheckBoxFactoryImpl, etc) The factory can be used to create new form fields of one type. Each form field has an interface, IFormField, that contains a method, QueryFormFieldFactory, to get the IFormFieldFactory that created it. IFormFieldFactory is an interface on a service, so that all the form types can be enumerated.

Member Function Documentation

virtual void IFormFieldFactory::AddDefaultAttributes (IGraphicStyleAttributeBossListoutAttrs,
IGraphicStyleAttributeBossListdefaultAttrs,
IDocumentinDoc 
)
pure virtual

Add default attributes for form field into outAttrs. Used to add required attributes for new form fields.

Parameters
defaultAttrsa list of attributes to use for defaults. May be nil. Not all attributes need be present in defaultAttrs. If an attribute is missing the implementation of AddDefaultAttributes will return a constant default in outAttr.
inDocis used to generate a unique name. If nil, name attribute returned in outAttrs is "".
outAttrsreturn a list default attributes appropriate for form type here
virtual UIDRef IFormFieldFactory::CreateFormField (const UIDRefinParent,
const PMRectinBounds 
) const
pure virtual

Create a form field

Parameters
inParentForm field is created as child of inParent
inBoundsdimensions of new form field
Returns
UIDRef of form field page item created
virtual PMString IFormFieldFactory::GetDefaultBaseObjectName () const
pure virtual

Get the built in base default name to be used to name this type of form field object

Returns
the base default name to be used to name this type of form field object
virtual PMString IFormFieldFactory::GetFieldTypeName () const
pure virtual
Returns
Human readable name of Form Field type that this Factory creates. e.g. "Push Button"
virtual PMString IFormFieldFactory::GetStyleLibName () const
pure virtual

Get name of style library for this form field type.

Returns
name of style library for form field type, or "" if form field type doesn't support styles.
virtual PMString IFormFieldFactory::GetUniqueName (const PMStringinName,
IDocumentinDoc 
)
pure virtual

Generate a unique name for IFormFieldFactory's form field type.

Parameters
inNameif this is an empty string, name returned is of the form <Form type>=""> N, otherwise it is <inName> N, where N is a unique number tracked in inDoc
inDocused to track number appended to returned unique name.
Returns
a unique name. nil if inDoc is nil.
virtual IGraphicStyleAttributeBossList* IFormFieldFactory::QueryDefaultAttributes ()
pure virtual

Does AddDefaultAttributes to a new list, using defaultAttrs = 0, inDoc = 0, and returns it. Therefore it gets the constant default values, without relying on another list for defaults.

Returns
List of default graphic attributes for the relevant form field type