GEOS SDK TechDocs
|
|
6 Vardata
|
6.2 Hints to the Specific UI
Vardata attribute entries begin with the form ATTR_attributename (as in ATTR_GEN_DESTINATION_CLASS). You can initialize this data within your Goc
object declaration.
ATTR
s within
GenClass
are available for use by any generic object. Several subclasses of
GenClass
also contain their own ATTR vardata entries. In
GenClass
no vardata attributes or hints are set by default.
ATTRs often behave as additional instance data that just happens to be vardata (and therefore optionally added). For generic objects, these should always be considered part of the generic state of an object and therefore may be saved out to the state file. You may, of course, decide not to save any such fields to the state file.
Temporary vardata to be used by an object class can be specified using the format
TEMP
_tempname. Any data set up with
TEMP
in a generic object should not be saved to state and should not be considered part of the API but rather an internal field. In almost all cases, you will not need to access such vardata entries.
For information on manipulating the variable length instance fields dynamically, along with a list of valid hints for
GenClass
, see Dynamically Managing VarData
.
ATTR_GEN_DESTINATION_CLASS
ATTR_GEN_DESTINATION_CLASS
specifies the object class that should handle messages sent out by this object. Typically, an object marked with this ATTR will not have a specific destination optr, but instead a destination path defined by a
TravelOption
. The message for a generic object with a destination class travels down the generic tree along the path specified in the
TravelOption
until it encounters an object class of type
ATTR_GEN_DESTINATION_CLASS
; at that point, the message will be handled.
ATTR_GEN_DESTINATION_CLASS takes an argument of type
DestinationClassArgs
. This type contains a pointer to a
ClassStruct
. You may have to cast the class name into a
ClassStruct
type when setting ATTR_GEN_DESTINATION_CLASS.
typedef struct {
ClassStruct * DCA_class;
} DestinationClassArgs;
Code Display 2-24 Using ATTR_GEN_DESTINATION_CLASS
/* This object will send MSG_META_CUT to the application object and follow the * target path until it encounters a VisTextClass object. At that point, the * message will be handled. */
@object GenTriggerClass MyTrigger = {
GI_visMoniker = "This trigger cuts text from the target object."
GTI_actionMsg = MSG_META_CUT;
GTI_destination = (TO_APP_TARGET);
/* The class pointer points to a ClassStruct structure. */
ATTR_GEN_DESTINATION_CLASS = { (ClassStruct *)&VisTextClass };
}
/* To set up a destination class as any generic object, set * ATTR_GEN_DESTINATION_CLASS to GenClass. This interaction sends * MSG_GEN_SET_NOT_USABLE to the first focus object below the GenInteraction. */
@object GenTriggerClass MyTrigger = {
GI_visMoniker = "Remove the Focus object";
GTI_actionMsg = MSG_GEN_SET_NOT_USABLE;
GTI_destination = (TO_FOCUS);
ATTR_GEN_DESTINATION_CLASS = { (ClassStruct *)&GenClass };
}
typedef enum {
/* These values may be used as normal
* TravelOptions, and have been set up
* so that they will have no value in
* common with normal TravelOptions. */
TO_GEN_PARENT=_FIRST_GenClass,
TO_FOCUS,
TO_TARGET,
TO_MODEL,
TO_APP_FOCUS,
TO_APP_TARGET,
TO_APP_MODEL,
TO_SYS_FOCUS,
TO_SYS_TARGET,
TO_SYS_MODEL,
} GenTravelOption;
The
TravelOption
types provided with
GenClass
are additional enumerations of the types supplied with
MetaClass
.
MetaClass
provides the types TO_NULL, TO_SELF, TO_OBJ_BLOCK_OUTPUT and TO_PROCESS. Therefore, any generic object can use these types or the further enumerations included here.
These
TravelOption
types typically replace a generic object's destination with a path for a message to be delivered along. Most often, these
TravelOption
s are used in conjunction with the vardata attribute ATTR_GEN_DESTINATION_CLASS. Together, they allow a message to follow a path specified in
TravelOption
until it encounters an object of a class specified in
ATTR_GEN_DESTINATION_CLASS
. This allows an object to generically send a message down an output path without knowing a specific destination.
MSG_GEN_LOAD_OPTIONS, MSG_GEN_SAVE_OPTIONS, ATTR_GEN_INIT_FILE_KEY, ATTR_GEN_INIT_FILE_CATEGORY, ATTR_GEN_INIT_FILE_PROPAGATE_TO_CHILDREN, ATTR_GEN_USES_HIERARCHICAL_INIT_FILE_CATEGORY
Your object may request information from the GEOS.INI file upon startup. Each object on the appropriate GenApplication GCN list may receive a
MSG_GEN_LOAD_OPTIONS
upon receiving
MSG_META_ATTACH
(and a
MSG_GEN_SAVE_OPTIONS
upon
MSG_META_SAVE_OPTIONS
). Various generic objects intercept this message and perform actions according to the information provided.
Your object may also access information in the GEOS.INI file as it is being attached by including ATTR_GEN_INIT_FILE_CATEGORY of the GEOS.INI category you are interested in and the ATTR_GEN_INIT_FILE_KEY of the specific keyword you want the data for. If a file key, but no file category, exists within an object declaration, then the system will query the application object for its ATTR_GEN_INIT_FILE_CATEGORY.
Normally only the GenApplication object and any objects in its GCN list will receive
MSG_GEN_LOAD_OPTIONS
and
MSG_GEN_SAVE_OPTIONS
. If you wish other children below these objects to also receive these messages (and therefore request or save information from the GEOS.INI file) you can add the attribute
ATTR_GEN_INIT_FILE_PROPAGATE_TO_CHILDREN. Any objects with this attribute will send these messages on down the generic tree to their children. Any children may then also contain this attribute and pass the messages on down to their children, etc.
Normally, the object itself and then the GenApplication object is queried for an ATTR_GEN_INIT_FILE_CATEGORY. If instead, the object wants a generic upward query of the object's parents, you can attach ATTR_GEN_USES_HIERARCHICAL_INIT_FILE_CATEGORY to the object. In this case, the object will be queried for its file category, and then query up the generic tree for the first object encountered with an ATTR_GEN_INIT_FILE_CATEGORY. In this manner, one parent may contain a file category and several children may contain different file keys within that category.
Because this method is recursive, it is slow and therefore should be avoided. Most applications should only need one init file category.
void MSG_GEN_LOAD_OPTIONS(
GenOptionsParams *params);
This message instructs the generic object to load a value from the GEOS.INI file. It is called automatically by the handler in
GenClass
for
MSG_META_LOAD_OPTIONS
. The message scans the object's vardata for an ATTR_GEN_INIT_FILE_KEY and an ATTR_GEN_INIT_FILE_CATEGORY to scan the .INI file. If no file category is found in the object's vardata, the handler will search up the generic tree for a parent with an ATTR_GEN_INIT_FILE_CATEGORY.
You may send this message, passing it the proper
GenOptionsParams
. The return value must be cast into the proper type of whatever the entry within the file key is. This is a null-terminated text string.
Source: Sent by
GenClass
on
MSG_META_ATTACH
.
GenClass
generates the
GenOptionsParams
structure by looking in the object's vardata (and by querying up the generic tree, if necessary).
Destination: Any generic object.
Parameters:
params
GenOptionsParams
structure (automatically generated by
GenClass
). See
MSG_GEN_SAVE_OPTIONS
.
Return: Return values must be cast into the proper type of whatever the entry of category and file key is.
Interception: Various generic classes intercept this and provide default behavior
void MSG_GEN_SAVE_OPTIONS(
GenOptionsParams *params);
This message instructs the generic object to save its options to the initialization file.
Source: Sent by
GenClass
on
MSG_META_SAVE_OPTIONS
.
GenClass
generates the proper
GenOptionsParams
structure by looking in the object's vardata (and querying up the generic tree, if necessary).
Destination: Any generic object.
Parameters:
params
GenOptionsParams
structure (automatically generated by
GenClass
).
Return: Return values must be cast into the proper type of whatever the entry of category and file key is.
Interception: Various generic classes intercept this and provide default behavior
Structures: The
GenOptionsParams
structure is defined as follows:
typedef struct {
char GOP_category[INIT_CATEGORY_BUFFER_SIZE];
char GOP_key[INIT_CATEGORY_BUFFER_SIZE];
} GenOptionsParams;
ATTR_GEN_POSITION, ATTR_GEN_POSITION_X, ATTR_GEN_POSITION_Y
You may wish, in rare cases, to hard-wire a generic object's position relative to its parent. You can do this by including one of these attributes with a position offset from the parent. These attributes supersede the geometry manager; because of this, you should exercise extreme caution whenever using these attributes. You should only use these attributes in the rare cases when the geometry manager (and hints) cannot accommodate your geometry concerns.
ATTR_GEN_POSITION
takes a
Point
argument, specifying the x and y offset (in points) from the parent's top left corner. This point will become the object's top left corner.
ATTR_GEN_POSITION_X specifies the horizontal (x) offset (in points) from the left edge of the parent. The vertical (y) offset will be left to the specific UI (or ATTR_GEN_POSITION_Y) to determine.
ATTR_GEN_POSITION_Y specifies the vertical (y) offset (in points) from the top edge of the parent. The horizontal (x) offset will be left to the specific UI (or ATTR_GEN_POSITION_X) to determine.
Several hints also accomplish similar geometry overrides.
HINT_ALIGN_TOP_EDGE_WITH_OBJECT
aligns an object's top edge with the top edge of the object (optr) this hint is set to. Similarly,
HINT_ALIGN_LEFT_EDGE_WITH_OBJECT
,
HINT_ALIGN_RIGHT_EDGE_WITH_OBJECT
, and
HINT_ALIGN_BOTTOM_EDGE_WITH_OBJECT
all line up an object's edge with the same edge of the object these hints are set to. One of these hints can be used in each direction. The same concerns over superceding the default geometry manager in the above attributes are valid here as well. Therefore, avoid using these hints if possible.
ATTR_GEN_SEND_APPLY_MSG_ON_APPLY_EVEN_IF_NOT_MODIFIED, ATTR_GEN_SEND_APPLY_MSG_ON_APPLY_EVEN_IF_NOT_ENABLED
Most generic objects act on changes made by the user. Some generic objects may not immediately react to these changes; instead these objects allow the user to select a variety of settings and then later "apply" these changes. These generic objects operate in delayed mode and each has an "apply message" associated with it. For these objects, the user may alter the state of the object or its children, but the application only sends out the action to perform those changes when the "apply" message is sent out.
For example, a dialog box may contain a list of settings that represent the state of a paragraph in a word processor. If the user ever actually changes those settings, the dialog box is marked as modified, but the changes are not actually made until the object receives notification to apply its changes (send out its apply message).
By default, these generic objects check whether their state has been modified since the last apply message has been sent out. If their state has not been modified and they receive a request to apply changes made, they instead will ignore the request. Likewise, objects set not enabled will ignore the request. ATTR_GEN_SEND_APPLY_MSG_ON_APPLY_EVEN_IF_NOT_MODIFIED
and
ATTR_GEN_SEND_APPLY_MSG_ON_APPLY_EVEN_IF_NOT_ENABLED
override this behavior, telling the generic object to send out its apply message regardless of the modified or enabled state of a generic object.
In the above example, this would mean that whenever the dialog box receives notification to apply its changes it would not check whether its settings have been altered since the last time it applied its changes. Instead it would apply these changes anyway.
ATTR_GEN_VISIBILITY_DATA, ATTR_GEN_VISIBILITY_MESSAGE, ATTR_GEN_VISIBILITY_DESTINATION
If a generic object has its GA_NOTIFY_VISIBILITY bit set, it will notify the GenApplication object when it becomes visible or not visible. The object does this by sending
MSG_GEN_APPLICATION_VISIBILITY_NOTIFICATION
to the GenApplication object, passing the sending object's optr as data.
You can alter this default behavior by including one or more attributes. ATTR_GEN_VISIBILITY_MESSAGE
specifies a different message than
MSG_GEN_APPLICATION_VISIBILITY_NOTIFICATION
; ATTR_GEN_VISIBILITY_DESTINATION
specifies a different destination to send visibility notification to than the GenApplication object; ATTR_GEN_VISIBILITY_DATA
specifies a different word of data to send out than the default data (the optr of the sending object). These attributes will have no effect on objects not marked GA_NOTIFY_VISIBILITY.
ATTR_GEN_PROPERTY, ATTR_GEN_NOT_PROPERTY
Objects that exhibit properties (List Objects, GenValues, GenTexts, etc.) sometimes do not exhibit immediate effects when the user interacts with the object. These objects act in what is known as delayed mode ; they only apply their properties when their object receives a MSG_GEN_APPLY.
Properties objects such as these are usually placed within a GIT_PROPERTIES GenInteraction object. The GIT_PROPERTIES dialog box provides an "Apply" trigger to get the objects to apply their properties. You can, however, change this default behavior, though it is uncommon to need to do so.
ATTR_GEN_PROPERTY, when added to an object that exhibits properties, allows an object to act like it is within a properties dialog box even if it normally operates in immediate mode. That is, it will not apply its changes until explicitly told to do so (using MSG_GEN_APPLY).
ATTR_GEN_NOT_PROPERTY allows an object within a GIT_PROPERTIES dialog box to act like it is not within such a dialog box. That is, any user interaction with the object will result in an immediate application of those changes.
GenClass
supplies several optional attributes that affect the display of windows within the user interface. Windowed objects include GenPrimarys, GenDisplays, and GenInteractions (as dialog boxes).
The optional attributes that follow are divided into two groups. Window layering affects how windowed objects are arranged on the screen; i.e., where they appear and whether they appear above or below other windowed objects. In general, this layering behavior is only determined for windowed objects having the same parent, i.e., windows having the same parent can be custom layered, and their parents will be layered among its siblings.
There also exist optional attributes to alter the manner in which input travels within a window. These optional attributes allow the application to provide floating keyboards for pen input.
ATTR_GEN_WINDOW_CUSTOM_LAYER_ID, ATTR_GEN_WINDOW_CUSTOM_WINDOW_PRIORITY, ATTR_GEN_WINDOW_CUSTOM_LAYER_PRIORITY, ATTR_GEN_WINDOW_CUSTOM_PARENT, ATTR_GEN_WINDOW_CUSTOM_WINDOW
ATTR_GEN_WINDOW_CUSTOM_LAYER_ID sets a unique layer identifier for the windowed object. All objects with a common identifier are considered part of the same window layer. These layers can then be manipulated as a unit. By convention, these IDs are usually set to the handles owned by the application; this avoids collisions with other application window layer IDs.
If a null layer ID is specified, the handle of the block the object lies in will be selected as the layer ID at run-time. This is the common method of assigning layer IDs.
ATTR_GEN_WINDOW_CUSTOM_LAYER_PRIORITY allows a windowed object to set its layer priority to a custom value. The optional attribute expects an argument of type
LayerPriority
. Note that all windowed objects with the same Layer ID
must
have the same layer priority; therefore, this attribute must be used with care. It should only be used if a layer ID declared with ATTR_GEN_WINDOW_CUSTOM_LAYER_ID is also used.
ATTR_GEN_WINDOW_CUSTOM_WINDOW_PRIORITY sets a custom window priority for this specific window among all other windows of the same layer ID. This optional attribute expects an argument of type
WindowPriority
.
ATTR_GEN_WINDOW_CUSTOM_PARENT allows windowed objects to set a custom parent window. Because window layering applies only to the ordering of windows having the same parent, a window with a custom parent will have its layer ID, layer priority, and window priority compared to other windows having the same parent as ATTR_GEN_WINDOW_CUSTOM_PARENT.
If ATTR_GEN_WINDOW_CUSTOM_PARENT is set null, this indicates that the system screen window should be the parent. Because this window is the parent window for all base windows in the system, an object setting the screen window as its custom parent will be able to appear on top of (or below) all other windows in the system (that do not have a matching layer ID). This is very low-level behavior and should be used with caution, however.
ATTR_GEN_WINDOW_ACCEPT_INK_EVEN_IF_NOT_FOCUSED, ATTR_GEN_WINDOW_KBD_OVERRIDE, ATTR_GEN_WINDOW_KBD_POSITION, MSG_GEN_SET_KBD_OVERRIDE, MSG_GEN_SET_KBD_POSITION
ATTR_GEN_WINDOW_ACCEPT_INK_EVEN_IF_NOT_FOCUSED indicates that the object should accept ink even if it doesn't have the focus. In general, presses on non-focused windows will never turn into ink. If this attribute is present, then presses on the window can turn into ink. The normal mechanism for determining if a press should be ink is then followed.
ATTR_GEN_WINDOW_KBD_OVERRIDE indicates the manner in which a floating keyboard is provided for a given window. This optional attribute expects an argument of type of
KeyboardOverride
. This attribute specifies whether a floating keyboard is provided for text input via a pen device.
The following
KeyboardOverride
values are valid:
You can change the
KeyboardOverride
exhibited by a windowed object by sending the object MSG_GEN_SET_KBD_OVERRIDE.
The following rules will ensure that a keyboard will be present whenever the user interacts with a display requiring a keyboard: Set the KO_KEYBOARD_REQUIRED bit for any GenDisplay which should be accompanied by a floating keyboard. If all GenDisplays in your geode require a floating keyboard, then set this bit for each of them. GenDisplays that contain embedded keyboards should have the KO_KEYBOARD_EMBEDDED bit set instead of the KO_KEYBOARD_REQUIRED bit.
If you want a keyboard to appear visible even when no GenDisplays are open, mark the GenPrimary KO_KEYBOARD_REQUIRED and mark each GenDisplay KO_NO_KEYBOARD.
ATTR_GEN_WINDOW_KBD_POSITION specifies the default position for the floating keyboard to appear when the window gains the focus. If the user moves the floating keyboard, this attribute is updated to reflect the new position and the keyboard will appear at that position when brought up in the future.
You can change this keyboard position by sending the object MSG_GEN_SET_KBD_POSITION, passing it the
Point
to position the keyboard at.
void MSG_GEN_SET_KBD_OVERRIDE(
KeyboardOverride override);
This message sets an object's ATTR_GEN_WINDOW_KBD_OVERRIDE to the passed
KeyboardOverride
value.
Source: Unrestricted.
Destination: Any windowed generic object.
Parameters:
override
KeyboardOverride
.
Interception: Generally not intercepted.
void MSG_GEN_SET_KBD_POSITION(
sword xCoord,
sword yCoord);
This message sets an object's ATTR_GEN_WINDOW_KBD_POSITION to the passed
Point
values.
Source: Unrestricted.
Destination: Any windowed generic object.
Parameters: xCoord X coordinate to position the keyboard (relative to the window).
Interception: Generally not intercepted.
The Help system is discussed in full in the Help chapter. You should read that chapter if you wish to include help within your application. The information provided here is mostly an overview of that information.
ATTR_GEN_HELP_FILE, ATTR_GEN_HELP_TYPE, ATTR_GEN_HELP_FILE_FROM_INIT_FILE, ATTR_GEN_HELP_CONTEXT
ATTR_GEN_HELP_FILE stores the help file associated with this object. Help files are generated by the help editor (a modified GeoWrite) from GeoWrite documents and are located in USERDATA\HELP.If the help system queries this object for a help file and this optional attribute does not exist, it will query up the generic tree for the first object with an ATTR_GEN_HELP_FILE.
An object can use
ATTR_GEN_HELP_FILE_FROM_INIT_FILE
to specify that its help file should be taken from the GEOS.INI file. If this attribute is used, the help controller will look in the GEOS.INI file for a category of the same name as the application and a key named "helpfile." Thus, to set the help file to "My Own Help File" for the HelpSamp application, you could add the following to your GEOS.INI file:
[HelpSamp] helpfile = My Own Help File
If, however, no object has
ATTR_GEN_HELP_FILE_FROM_INIT_FILE
, this init file entry will not be noticed by the help controller.
ATTR_GEN_HELP_TYPE stores the
HelpType
associated with this object. If the help system queries this object for a help type and this optional attribute does not exist, it will query up the generic tree for the first object with an ATTR_GEN_HELP_TYPE.
Each help file must have several contexts named within the file. These contexts are set up when the help file is written. When an object brings up help, it should reference the specific context for which the user needs help. This context is stored within the object's ATTR_GEN_HELP_CONTEXT field. Usually this optional attribute is placed on a windowed GenInteraction (dialog box).
If an object needs to set a different help context for itself at run-time, it can use MSG_META_DELETE_VAR_DATA and MSG_META_ADD_VAR_DATA to alter the contents of the object's ATTR_GEN_HELP_CONTEXT.
ATTR_GEN_FOCUS_HELP, ATTR_GEN_FOCUS_HELP_LIB
ATTR_GEN_FOCUS_HELP is currently unsupported. This help mechanism is a simple, scaled down version of the previously mentioned help system. A fixed area at the bottom of the screen on certain displays acts as a help text area. An object with ATTR_GEN_FOCUS_HELP indicates that this text area should display the its help text when this object gains the focus within the application. This field expects an optr pointing to the required text.
ATTR_GEN_FOCUS_HELP_LIB is similar to ATTR_GEN_FOCUS_HELP but only applies to objects exported from a library(e.g., controllers).
ATTR_GEN_DEFAULT_MONIKER, GenDefaultMonikerType
ATTR_GEN_DEFAULT_MONIKER specifies a default moniker for this object. Default monikers are generally used for gstring monikers that occur several places within the system (i.e., they are stored outside of the application). ATTR_GEN_DEFAULT_MONIKER expects an argument of type
GenDefaultMonikerType
.
typedef enum {
GDMT_LEVEL_0,
GDMT_LEVEL_1,
GDMT_LEVEL_2,
GDMT_LEVEL_3,
GDMT_HELP,
GDMT_HELP_PRIMARY
} GenDefaultMonikerType;
The GDMT_LEVEL monikers correspond to the gstring monikers used to indicate the current user level. GDMT_HELP corresponds to the default help trigger moniker. GDMT_HELP_PRIMARY corresponds to the special help trigger for a GenPrimary object.
ATTR_GEN_FEATURE_LINK
This optional attribute indicates that a feature within a GenControl object maps to multiple generic trees within the child block. If a feature in a GenControl so marked is turned off, for example, the controller will remove the feature from the first generic tree associated with this feature and then will remove the feature from the link to the next generic tree. Controllers and features are discussed more fully in the Controllers chapter.
ATTR_GEN_PATH_DATA, MSG_GEN_PATH_SET, MSG_GEN_PATH_GET, GenFilePath
GenClass
is able to keep track of file path information.
GenClass
does not use this information itself, but maintains it so that various subclasses (e.g., the file selector and document control) will be able to use the same instance fields and messages.
Because handlers for all these messages are implemented in
GenClass
, it is possible to store a path with any generic object, whether the particular object normally does anything with the file system or not.
The path itself is stored in the object's vardata in the ATTR_GEN_PATH_DATA field. In the absence of such a field,
GenClass
will use SP_TOP as the standard path. Subclasses can change this default by intercepting
MSG_META_INITIALIZE_VAR_DATA
, filling in the
GenFilePath
structure after it has called the superclass (which will actually allocate the attribute).
The ATTR_GEN_PATH_DATA field contains the following structure;
typedef struct {
DiskHandle GFP_disk;
PathName GFP_path;
} GenFilePath;
GFP_
disk
stores the handle of the disk on which the path resides. This value may be initialized to a
StandardPath
constant. GFP_
path
stores the absolute path to the directory; this path may be a relative path if GFP_
disk
is a
StandardPath
directory.
You can retrieve an object's current path with MSG_GEN_PATH_GET. You can alter an object's path with MSG_GEN_PATH_SET.
Boolean MSG_GEN_PATH_SET(
char *path,
DiskHandle disk);
This message sets the path associated with the object. Normally, a complete path name must be passed. Note that this path string should not include a drive specifier, as this is implied by the passed disk handle. If the passed
DiskHandle
is actually a
StandardPath
value, then the path string will be taken to be relative to this standard path.
Source: Unrestricted.
Destination: Generic object which has an associated path.
Parameters: path Null-terminated pathname; may not be in the same block as the object receiving this message. (If null, default handler will use root directory of disk handle or directory associated with standard path.)
StandardPath
constant.Return: Returns true if error.
Interception: Generally not intercepted. If the object is specifically grown, the message will be forwarded to the specific class after it has been acted on by
GenClass
.
Boolean MSG_GEN_PATH_GET(
char *buffer,
word bufSize);
This message returns a null-terminated complete path (no drive letter--drive is implied by the disk handle) for the object. Note that if the object is within a standard directory, the disk handle will be a
StandardPath
constant and the path will appear relative.
Source: Unrestricted.
Destination: Generic object which has an associated path.
Parameters: buffer Pointer to character buffer which will be filled with return value.
Return: Returns true if error (if the path won't fit in the passed buffer or is invalid).
Interception: Generally not intercepted.
@alias (MSG_GEN_PATH_GET) MemHandle MSG_GEN_PATH_GET_BLOCK(
char *buffer, /* This must be NULL */
word bufSize);
This message returns the handle of a block containing the path.
Source: Unrestricted.
Destination: Generic object which has an associated path.
Parameters: buffer This must be NULL.
Return: Handle of block containing path.
Interception: Generally not intercepted.
DiskHandle MSG_GEN_PATH_GET_DISK_HANDLE();
This message returns the disk handle for the path bound to the object.
Source: Unrestricted.
Destination: Generic object which has an associated path.
Parameters: None.
Return: Disk handle associated with path, or
StandardPath
if object is associated with a standard directory.
Interception: Generally not intercepted.
GEOS SDK TechDocs
|
|
6 Vardata
|
6.2 Hints to the Specific UI