IDM

The IDM structure contains all of the common enumerations and definitions that are shared by the direct manipulation classes.

This structure contains the definitions of the following enumerations:

This structure contains the definitions of the following typedefs:

This structure defines a static debug support flag for debugging purposes.


IDM - Member Functions and Data by Group

Drag Item Types

These strings identify the default drag item types of the Open Class Library. Use the drag item type to identify the type of data object that the drag item represents. For example, use IDM::containerObject to identify a container object as the data object that the drag item represents.
Note: If the default types do not properly describe the type of data that your drag items represent, you can define new types.


[view class]
any
public:
static Type const any

Drag item represents any data object. This type combines all of the other types.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
binary
public:
static Type const binary

Drag item represents a generic binary object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
binaryData
public:
static Type const binaryData

Drag item represents a binary data object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
bitmap
public:
static Type const bitmap

Drag item represents a bitmap object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
container
public:
static Type const container

Drag item represents a container control object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
containerObject
public:
static Type const containerObject

Drag item represents a container object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
file
public:
static Type const file

Drag item represents a file object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
icon
public:
static Type const icon

Drag item represents an icon object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
menuItem
public:
static Type const menuItem

Drag item represents a menu item object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
plainText
public:
static Type const plainText

Drag item represents a plain text object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
text
public:
static Type const text

Drag item represents a generic text object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
toolBarButton
public:
static Type const toolBarButton

Drag item represents a tool bar button object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
unknown
public:
static Type const unknown

Drag item represents an unknown object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Rendering Formats

Use these strings to query or set rendering formats that are supported by the Open Class Library.
Note: If the default formats do not properly support your drag items, you can define new formats. See the Task Information for a description of how to implement support for new rendering formats.


[view class]
rfAny
public:
static RF const rfAny

Drag item supports any rendering format. This format combines all of the other formats. The Open Class Library does not provide default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rfObject
public:
static RF const rfObject

Drag item supports the OS/2 Workplace Shell's object rendering format. The Open Class Library does not provide default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rfProcess
public:
static RF const rfProcess

Drag item supports the process rendering format. The process rendering format is created by appending the equal sign and the process ID to this string. See the static member function IDMItem::rfForThisProcess for more information.

The Open Class Library provides default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rfSharedMem
public:
static RF const rfSharedMem

Drag item supports the shared memory rendering format. The Open Class Library provides default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rfText
public:
static RF const rfText

Drag item supports the text rendering format. The text rendering format is used if the text length is less than or equal to 255 bytes, if the text does not contain embedded NULL characters, and if the IDM::rmFile rendering mechanism is not added in a derived class.

The Open Class Library provides default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rfUnknown
public:
static RF const rfUnknown

Drag item supports an unknown rendering format. The Open Class Library provides default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Rendering Mechanisms

Use these strings to query or set rendering mechanisms that are supported by the Open Class Library.
Note: If the default mechanisms do not properly support your drag items, you can define new mechanisms. See the Task Information for a description of how to implement support for new rendering mechanisms.


[view class]
rmAny
public:
static RM const rmAny

Drag item supports any rendering mechanism. This mechanism combines all of the other mechanisms. The Open Class Library does not provide default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rmDiscard
public:
static RM const rmDiscard

Drag item supports the operating system's rendering mechanism for the discarding (shredding) of objects. The Open Class Library does not provide default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rmFile
public:
static RM const rmFile

Drag item supports the operating system's file rendering mechanism. The Open Class Library provides default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rmLibrary
public:
static RM const rmLibrary

Drag item supports the default rendering mechanism of the Open Class Library.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rmObject
public:
static RM const rmObject

Drag item supports the OS/2 Workplace Shell's object rendering mechanism. The Open Class Library does not provide default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
rmPrint
public:
static RM const rmPrint

Drag item supports the operating system's rendering mechanism for the printing of objects. The Open Class Library does not provide default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IDM - Enumerations


[view class]
DiscardIndicator
enum DiscardIndicator { sourceDiscards=0x0001, 
                        targetDiscards=0x0002, 
                        abortDiscard=0x0003 }

Use the DiscardIndicator enumeration as an argument to the member function IDMSourceDiscardEvent::setWhoDiscards to set the discard indicator. Enumerations of the possible discard indicator values include the following:

sourceDiscards
The source of the direct manipulation accepts responsibility for discarding.
targetDiscards
The target of the direct manipulation accepts responsibility for discarding.
abortDiscard
DIscarding is aborted.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
DragImageStyle
enum DragImageStyle { stack3AndFade, 
                      allStacked, 
                      systemImages }

Use the DragImageStyle enumeration as an argument to the member function IDMSourceOperation::setImageStyle to set the drag image style. Enumerations of the possible drag image styles to use when displaying the drag image include the following:

stack3AndFade
Shows the drag images attached to the first three drag items added to the source operation. A special icon is then shown that simulates the rest of the images fading out. The direction and location of the drag images in relation to each other are determined by the return value from IDMSourceOperation::stackingPercentage. Use of IDM::stack3AndFade is optimal when the user can drag more than three drag items. If no images are specified, system images are displayed.
allStacked
Shows the drag images attached to all of the drag items. If no images are specified, system images are displayed.
systemImages
If the direct manipulation involves a single drag item, the ISystemPointerHandle::singleFile icon is displayed. If it involves multiple drag items, the ISystemPointerHandle::multipleFile icon is displayed. Any drag images attached to the drag items are ignored. This is the default drag image style.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
DropIndicator
enum DropIndicator { notOk=0x0000, 
                     ok=0x0001, 
                     operationNotOk=0x0002, 
                     neverOk=0x0003 }

Use the DropIndicator enumeration as an argument to the member function IDMTargetEnterEvent::setDropIndicator to set the drop indicator values for a direct manipulation. Use the DropIndicator as an argument to the member function IDMItem::setDropStatus to set the drop status of individual drag items. Enumerations of the possible drop indicator values include the following:

ok
The drop is allowed.
notOk
The drop is not allowed at this location within the target.
operationNotOk
The drop is not allowed because the drag operation, for example, a copy, is not supported by the target.
neverOk
The drop is never allowed on the target.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
DropStyle
enum DropStyle { notContainer=0x0000, 
                 dropAtPosition=0x0001, 
                 alignVertical=0x0002, 
                 alignFlow=0x0004, 
                 flowBeside=0x0008 }

Use the DropStyle enumeration as an argument to the member function IDMTargetOperation::setStyle to set the drop style. Enumerations of the possible drop style values include the following:

notContainer
The target of the direct manipulation is not a container. This is the default drop style for noncontainer targets.
dropAtPosition
Drag items are displayed in the container at the position where they are dropped relative to the origins of the drag images that represent the items. This is the default drop style for non-list view containers and list view containers when the pointing device is directly over a container object.
alignVertical
Drag items are aligned along the vertical axis. Use this style in addition to IDM::DropStyle::alignFlow.
alignFlow
Drag items are aligned along the window. If IDM::DropStyle::alignVertical is not specified, the drag items are aligned along the horizontal axis. This is the default drop style for list view containers when the pointing device is between container objects.
flowBeside
Drag items are aligned beside the window. Use this style in addition to IDM::DropStyle::alignFlow or IDM::DropStyle::alignFlow and IDM::DropStyle::alignVertical.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
PrintIndicator
enum PrintIndicator { sourcePrints=0x0001, 
                      targetPrints=0x0002, 
                      abortPrint=0x0003 }

Use the PrintIndicator enumeration as an argument to the member function IDMSourcePrintEvent::setWhoPrints to set the print indicator. Enumerations of the possible print indicator values include the following:

sourcePrints
The source of the direct manipulation accepts responsibility for printing.
targetPrints
The target of the direct manipulation accepts responsibility for printing.
abortPrint
Printing is aborted.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
RenderCompletion
enum RenderCompletion { targetSuccessful=0x0001, 
                        targetFailed=0x0002, 
                        retry=0x0008, 
                        renderOk=0x0010, 
                        fail=0x0020 }

Use the RenderCompletion enumeration as an argument to the member function IDMSourceRenderEvent::setCompletion to set the render completion values for the source. Use the member function IDMTargetRenderer::informSourceOfCompletion to set the render completion values for the target. Enumerations of the possible render completion values include the following:

targetSuccessful
The target successfully completed the rendering operation.
targetFailed
The target failed to complete the rendering operation.
retry
The source completed the rendering operation, and the source allows the target to retry its part of the operation if the target fails.
renderOk
The source completed the rendering operation.
fail
The source failed to complete the rendering operation.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
Source
enum Source { pointingDevice, 
              keyboard }

Use the Source enumeration as an argument to the member function IDMOperation::setSource to set the type of the device that is the source of the direct manipulation. Enumerations of the possible source values include the following:

pointingDevice
The direct manipulation started via a pointing device, such as the mouse.
keyboard
The direct manipulation started via the keyboard.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IDM - Type Definitions


[view class]
Type
typedef const char * Type

Definition of the default drag item types of the Open Class Library include the following:

any
Drag item represents any data object. This type combines all of the other types.
binary
Drag item represents a generic binary object.
binaryData
Drag item represents a binary data object.
bitmap
Drag item represents a bitmap object.
container
Drag item represents a container control object.
containerObject
Drag item represents a container object.
file
Drag item represents a file object.
icon
Drag item represents an icon object.
menuItem
Drag item represents a menu item object.
plainText
Drag item represents a plain text object.
text
Drag item represents a generic text object.
toolBarButton
Drag item represents a tool bar button object.
unknown
Drag item represents an unknown object.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
RF
typedef const char * RF

Definition of the default rendering formats of the Open Class Library include the following:

rfUnknown
Drag item supports an unknown rendering format. The Open Class Library provides default support for this format.
rfText
Drag item supports the text rendering format. The text rendering format is used if the text length is less than or equal to 255 bytes, if the text does not contain embedded NULL characters, and if the IDM::rmFile rendering mechanism is not added in a derived class. The Open Class Library provides default support for this format.
rfProcess
Drag item supports the process rendering format. The process rendering format is created by appending the equal sign and the process ID to this string. See the static member function IDMItem::rfForThisProcess for more information. The Open Class Library provides default support for this format.
rfSharedMem
Drag item supports the shared memory rendering format. The Open Class Library provides default support for this format.
rfObject
Drag item supports the OS/2 Workplace Shell's object rendering format. The Open Class Library does not provide default support for this format.
rfAny
Drag item supports any rendering format. This format combines all of the other formats. The Open Class Library does not provide default support for this format.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
RM
typedef const char * RM

Definition of the default rendering mechanisms of the Open Class Library include the following:

rmFile
Drag item supports the operating system's file rendering mechanism. The Open Class Library provides default support for this mechanism.
rmObject
Drag item supports the OS/2 Workplace Shell's object rendering mechanism. The Open Class Library does not provide default support for this mechanism.
rmDiscard
Drag item supports the operating system's rendering mechanism for the discarding (shredding) of objects. The Open Class Library does not provide default support for this mechanism.
rmPrint
Drag item supports the operating system's rendering mechanism for the printing of objects. The Open Class Library does not provide default support for this mechanism.
rmLibrary
Drag item supports the default rendering mechanism of the Open Class Library.
rmAny
Drag item supports any rendering mechanism. This mechanism combines all of the other mechanisms. The Open Class Library does not provide default support for this mechanism.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


IDM - Inherited Member Functions and Data

Inherited Public Functions

Inherited Public Data

Inherited Protected Functions

Inherited Protected Data