Typedefs | |
typedef CommandFilterReturnValue(* | InputFunc_CommandFilter )(Inputq_element *iqelP) |
Callback that is called for each command queue element before dispatching the command queue element to the proper command processor. More... | |
typedef void(* | InputFunc_MessageReceived )(Inputq_element *queueElement) |
Callback that is called when a queue element other than a command queue element is directed to the task. More... | |
typedef InputFilterReturnValue(* | InputFunc_PreprocessKeyin )(WCharP keyinP) |
Callback that is called for each key-in. More... | |
typedef InputFilterReturnValue(* | InputFunc_Monitor )(Inputq_element *queueElementP) |
Callback that is called for every queue element that the command processors will process. More... | |
typedef int(* | DigitizeFunc_Setup )(Transform *digTrans, DPoint3dCP monumentPoints, DPoint3dCP tabletPoints, int numPoints) |
Callback that is called when the user finishes entering monument points pairs during the DIGITIZER SETUP command. More... | |
typedef bool(* | DigitizeFunc_Transform )(DPoint3dP outPoint, DPoint3dCP inPoint) |
Callback That is called whenever MicroStation has a point in tablet coordinates that it needs to be transformed to design file coordinates (UORS). More... | |
typedef int(* | DigitizeFunc_UorInput )(DPoint3dP uorPoint, int *newData, int *inputCode, int *buttonTrans, int *shiftStat, UInt32 *time, bool shouldBuffer) |
Callback that is called whenever MicroStation needs to know what the user-controlled input position is. More... | |
Enumerations | |
enum | CommandFilterReturnValue { INPUT_COMMAND_ACCEPT = 0, INPUT_COMMAND_REJECT = 1, INPUT_COMMAND_CHANGED = 2 } |
Values returned by command filters. More... | |
enum | InputFilterReturnValue { INPUT_ACCEPT = 0, INPUT_REJECT = 1 } |
Values returned by input filters. More... | |
enum | InputMonitorFilter { MONITOR_NOT_FROM_APP = 0x01, MONITOR_FROM_APP = 0x02, MONITOR_ALL = 0x03 } |
Values used to filter which queue elements are passed to input monitors. More... | |
Functions | |
void | mdlInput_endCommand (void) |
Relinquishes "active command" status. More... | |
void | mdlInput_getMessage (Inputq_element *iqel) |
Causes MDL to copy the most recently received queue element into the area specified by queueElementP. More... | |
int | mdlInput_pause () |
Stops MicroStation completely until a keystroke or button is entered. More... | |
void | mdlInput_requeueLastInput (MSInputQueuePos position) |
Sends the last queue element received by the sending task to MicroStation. More... | |
void | mdlInput_sendCommand (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendSynchronizedCommand (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendCommandJournaled (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendCommandFrom (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass, int from) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendSynchronizedCommandJournaled (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendSynchronizedCommandFrom (CommandNumber commandNumber, WCharCP unparsedP, MSInputQueuePos queuePosition, WCharCP taskIdP, int commandClass, int from) |
Creates a CMDNUM queue element with the command number designated by commandNumber. More... | |
void | mdlInput_sendKeystroke (int keyStroke, int qualifierMask, MSInputQueuePos queuePosition, WCharCP taskIdP) |
Places a keystroke into MicroStation's input queue. More... | |
void | mdlInput_sendSynchronizedKeystroke (int keyStroke, int qualifierMask, MSInputQueuePos position, WCharCP taskIdP) |
Places a keystroke into MicroStation's input queue. More... | |
void | mdlInput_sendKeyin (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendKeyinJournaled (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendSynchronizedKeyin (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendSynchronizedKeyinJournaled (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendKeyinFrom (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP, int from) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendSynchronizedKeyinFrom (WCharCP stringP, bool literal, MSInputQueuePos position, WCharCP taskIdP, int from) |
Creates a KEYIN queue element with the string designated by stringP. More... | |
void | mdlInput_sendMessage (Inputq_element *iqel, MSInputQueuePos position) |
Queues the element specified by queueElementP. More... | |
void | mdlInput_sendSynchronizedMessage (Inputq_element *iqel, MSInputQueuePos position) |
Queues the element specified by queueElementP. More... | |
void | mdlInput_sendReset (MSInputQueuePos position, WCharCP taskIdP) |
Creates a RESET queue element and inserts it in the queue. More... | |
void | mdlInput_sendSynchronizedReset (MSInputQueuePos position, WCharCP taskIdP) |
Creates a RESET queue element and inserts it in the queue. More... | |
void | mdlInput_sendResume (MSInputQueuePos position) |
Creates a NULL queue element with the taskId field set to the task ID of the task that calls mdlInput_sendResume. More... | |
void | mdlInput_sendUORPoint (Dpoint3d *dPoint3dP, int view, MSInputQueuePos position, WCharCP taskIdP) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue. More... | |
void | mdlInput_sendSynchronizedUORPoint (Dpoint3d *dPoint3dP, int view, MSInputQueuePos position, WCharCP taskIdP) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue. More... | |
void | mdlInput_sendTentativeUORPoint (Dpoint3d *dPoint3dP, int view, MSInputQueuePos position, WCharCP taskIdP) |
Creates a tentative point queue element and inserts it at the head of MicroStation's input queue. More... | |
void | mdlInput_sendSynchronizedTentativeUORPoint (Dpoint3d *dPoint3dP, int view, MSInputQueuePos position, WCharCP taskIdP) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue. More... | |
static InputFunc_CommandFilter | SetCommandFilterFunction (InputFunc_CommandFilter newFunc) |
An MDL application can use this to set a function to be called before command queue elements are dispatched to the appropriate command processor. More... | |
static InputFunc_MessageReceived | SetMessageReceivedFunction (InputFunc_MessageReceived newFunc) |
An MDL application can use this to set a function to be called when a queue element other than a command queue element is directed to the task. More... | |
static InputFunc_PreprocessKeyin | SetPreprocessKeyinFunction (InputFunc_PreprocessKeyin newFunc) |
An MDL application can use this to set a function to be called before keyin processing. More... | |
static InputFunc_Monitor | SetMonitorFunction (InputFunc_Monitor newFunc, InputMonitorFilter filter) |
An MDL application can use this to set a function to inspect queue elements before they are sent to the input processor. More... | |
static DigitizeFunc_Setup | SetSetupFunction (DigitizeFunc_Setup newFunc) |
An MDL application can use this to set a function to be called when the user finishes entering monument points pairs during DIGITIZER SETUP command. More... | |
static DigitizeFunc_Transform | SetTransformFunction (DigitizeFunc_Transform newFunc) |
An MDL application can use this to set a function to be called when MicroStation needs a point on the digitizer (outside the screen partition) transformed to design file coordinates. More... | |
static DigitizeFunc_UorInput | SetUorInputFunction (DigitizeFunc_UorInput newFunc) |
An MDL application can use this to set a function to be called when MicroStation wants position and/or input device information from the user application. More... | |
int | mdlDigitize_setModeInt (int type, int value) |
Enables or disables the digitizer input mode, or sets the digitizer input frequency. More... | |
int | mdlInput_commandState1 (MdlDesc **primitiveMdlPP, CommandNumber *primitiveCommandNumberP, MdlDesc **viewMdlPP, CommandNumber *viewCommandNumberP) |
Gets the MDL descriptor and command number for the current primitive command and view command. More... | |
bool | mdlInput_toggleSelectQualifierOn (CursorInfo *cursorP) |
Sets the state of the select qualifier keyboard key. More... | |
int | mdlInput_startCommand (void) |
Requests active command status for the current task. More... | |
typedef int(* DigitizeFunc_Setup)(Transform *digTrans, DPoint3dCP monumentPoints, DPoint3dCP tabletPoints, int numPoints) |
Callback that is called when the user finishes entering monument points pairs during the DIGITIZER SETUP command.
[out] | digTrans | The address where the application program should put the output digitizer transform. |
[in] | monumentPoints | The address of an array of uor points that the user identified as the monument points in the design file. |
[out] | tabletPoints | The address of an array of points that the user identified as the points on the tablet that correspond to the monument points in the design file. There is one tablet point for each monument point. |
[in] | numPoints | The number of points in the monumentPoints and tablePoints arrays. |
typedef bool(* DigitizeFunc_Transform)(DPoint3dP outPoint, DPoint3dCP inPoint) |
Callback That is called whenever MicroStation has a point in tablet coordinates that it needs to be transformed to design file coordinates (UORS).
[out] | outPoint | The address where the application program should put the transformed point. |
[in] | inPoint | The address of the input point in tablet coordinates. |
typedef int(* DigitizeFunc_UorInput)(DPoint3dP uorPoint, int *newData, int *inputCode, int *buttonTrans, int *shiftStat, UInt32 *time, bool shouldBuffer) |
Callback that is called whenever MicroStation needs to know what the user-controlled input position is.
[out] | uorPoint | supplies the address where the application program should put the current user-controlled input position. |
[out] | newData | is the address where the application program returns whether or not there is new position information in outPoint, and if there is more buffered position information available. If newData is set to NO_UORDATA, the application is indicating that the input position is the same as it was the previous time the callback was called. If newData is set to NEW_UORDATA, the application is indicating that there is new position information, and if newData is set to MORE_UORDATA, the application is indicating that there is more position information that has been buffered as well. The application should buffer position information if it can when it gets called with the shouldBuffer parameter set to TRUE. This occurs only when the user is using one of the stream input MicroStation commands. |
[out] | buttonCode | an address where the application can specify that a button or other actuator has been pressed on the input device. The value should be either DATAPNT, TENTPNT or RESET. |
[out] | buttonTrans | whenever buttonCode is non-zero, buttonTrans buttonTrans must be set to either BUTTONTRANS_UP or BUTTONTRANS_DOWN. |
[out] | shiftStat | whevever buttonCode is non-zero, shiftStat should be set to either 0, or some OR'ed combination of SHIFTKEY and CTRLKEY. |
[out] | time | whenever buttonCode is non-zero, time should be set to the time at which the button transition occured as returned by mdlSystem_getTicks. |
typedef CommandFilterReturnValue(* InputFunc_CommandFilter)(Inputq_element *iqelP) |
Callback that is called for each command queue element before dispatching the command queue element to the proper command processor.
This callback can disable commands and modify command queue elements. If the command specified in the queue element belongs to a class that mdlInput_disableCommandClass has disabled, then this callback is not called. If a callback indicates that the queue element was modified, MicroStation restarts the validation process. There, the callback will be called again to see the modified queue element.
[in,out] | iqelP | Pointer to queue element. |
typedef void(* InputFunc_MessageReceived)(Inputq_element *queueElement) |
Callback that is called when a queue element other than a command queue element is directed to the task.
Receive user functions are generally used when MDL tasks communicate with each other using APPLICATION_EVENT queue elements.
[in,out] | keyinP | Pointer to keyin string. |
typedef InputFilterReturnValue(* InputFunc_Monitor)(Inputq_element *queueElementP) |
Callback that is called for every queue element that the command processors will process.
The InputFunc_Monitor function can manipulate the queue element. When the monitor function sees the queue element, the element is in a buffer large enough to hold any legal queue element. Therefore, the queue element can be transformed into any legal queue element. InputFunc_Monitor is called after MicroStation has completed its preprocessing. MicroStation's preprocessing consists of turning RESET commands into RESET queue elements and turning precision key-in commands into DATAPNT queue elements.
[in,out] | queueElementP | Pointer to queue element. |
typedef InputFilterReturnValue(* InputFunc_PreprocessKeyin)(WCharP keyinP) |
Callback that is called for each key-in.
This call is MicroStation's first step in processing the key-in before creating the queue elements. The InputFunc_PreprocessKeyin function can tell MicroStation to accept or discard the keyin. If it tells MicroStation to accept the key-in, it can modify the string. MicroStation then uses the modified string for the remainder of the processing. MicroStation skips the preprocessing step if the first character of the string is "`", or if the MicroStation SET PARSEALL OFF command was executed.
[in,out] | keyinP | Pointer to keyin string. |
Values returned by command filters.
+------------—+------------—+------------—+------------—+------------—+---—
Values returned by input filters.
+------------—+------------—+------------—+------------—+------------—+---—
Enumerator | |
---|---|
INPUT_ACCEPT | |
INPUT_REJECT |
enum InputMonitorFilter |
Values used to filter which queue elements are passed to input monitors.
+------------—+------------—+------------—+------------—+------------—+---—
Enumerator | |
---|---|
MONITOR_NOT_FROM_APP | |
MONITOR_FROM_APP | |
MONITOR_ALL |
int mdlDigitize_setModeInt | ( | int | type, |
int | value | ||
) |
Enables or disables the digitizer input mode, or sets the digitizer input frequency.
[in] | type | determines whether the input mode or digitizer frequency is being set. This value must be either DIGITIZE_SETMODEAUXINPUTSTATE, or DIGITIZE_SETMODEAUXINPUTTIMER. |
[in] | value | if type is DIGITIZE_SETMODEAUXPUTSTATE, then value is either 0 or 1, setting the auxilliary input state either off or on respectively. If type is DIGITIZE_SETMODEAUXINPUTTIMER, then value is the frequency for the input device, in the range of 0 to AUXINPUT_TIMER_FREQ_MAX (100) in Hz. |
int mdlInput_commandState1 | ( | MdlDesc ** | primitiveMdlPP, |
CommandNumber * | primitiveCommandNumberP, | ||
MdlDesc ** | viewMdlPP, | ||
CommandNumber * | viewCommandNumberP | ||
) |
Gets the MDL descriptor and command number for the current primitive command and view command.
[in,out] | primitiveMdlPP | a pointer to the MdlDesc pointer indicating the primitive command that is currently active |
[in,out] | primitiveCommandNumberP | a pointer to a CommandNumber value that is set to the currently active command number |
[in,out] | viewMdlPP | a pointer to the MdlDesc pointer indicating the view command that is currently active |
[in,out] | viewCommandNumberP | a pointer a CommandNumber value that is set to the currently active view command number |
void mdlInput_endCommand | ( | void | ) |
Relinquishes "active command" status.
void mdlInput_getMessage | ( | Inputq_element * | iqel | ) |
Causes MDL to copy the most recently received queue element into the area specified by queueElementP.
[in] | iqel | area to get the queue element |
int mdlInput_pause | ( | ) |
Stops MicroStation completely until a keystroke or button is entered.
void mdlInput_requeueLastInput | ( | MSInputQueuePos | position | ) |
Sends the last queue element received by the sending task to MicroStation.
[in] | position | queue position, -1 for the end of the queue |
void mdlInput_sendCommand | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
void mdlInput_sendCommandFrom | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass, | ||
int | from | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
[in] | from | specifies the source of the command. See msinputq.h. |
void mdlInput_sendCommandJournaled | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
void mdlInput_sendKeyin | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyin queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyin tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyin places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendKeyinFrom | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP, | ||
int | from | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
It differs from mdlInput_sendKeyin in that a source of the key-in can be specified.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyinFrom queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyinFrom tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyinFrom places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. position is ignored and the key-in is always placed at the beginning of the queue if literal is false (parsing is enabled). |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
[in] | from | can be any of the following found in msinputq.h: FROM_KEYBOARD, FROM_CMDFILE, FROM_APP, FROM_UCM, FROM_STARTUP, FROM_DIALOG, FROM_PROCESS, FROM_MDL, FROM_PRDFPI, FROM_OPER_SYSTEM. |
void mdlInput_sendKeyinJournaled | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
This keyin will be passed on to the journaling (macro) system.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyin queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyin tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyin places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendKeystroke | ( | int | keyStroke, |
int | qualifierMask, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP | ||
) |
Places a keystroke into MicroStation's input queue.
[in] | keyStroke | specifies a keystroke. It is acceptable to specify any codes that can be generated from the keyboard. Both printable characters and control characters such as the return key can be specified. See the include file keys.r.h for the definition statements for the control characters. |
[in] | qualifierMask | is used to specify the modifier keys such as shift, control, or alt. An upper case character is normally generated just by specifying the upper case character for the keystroke parameter. It is not necessary to specify the shift qualifierMask to generate an upper case character. The standard qualifier masks SHIFTKEY, CTRLKEY and ALTKEY are defined in keys.r.h. |
[in] | queuePosition | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for the task ID. |
void mdlInput_sendMessage | ( | Inputq_element * | iqel, |
MSInputQueuePos | position | ||
) |
Queues the element specified by queueElementP.
It is placed at the head of the queue. This is the most powerful function for queuing elements, since the task completely controls the queue element.
[in] | iqel | queue element |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
void mdlInput_sendReset | ( | MSInputQueuePos | position, |
WCharCP | taskIdP | ||
) |
Creates a RESET queue element and inserts it in the queue.
This function has the same effect as an operator entering a Reset.
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendResume | ( | MSInputQueuePos | position | ) |
Creates a NULL queue element with the taskId field set to the task ID of the task that calls mdlInput_sendResume.
The task that calls the mdlInput_sendResume function will receive the resulting NULL queue element regardless of whether the task has active command status. This function along with mdlInput_waitForMessage can be used to pause and resume.
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
void mdlInput_sendSynchronizedCommand | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
This function will not return until the command is finished.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
void mdlInput_sendSynchronizedCommandFrom | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass, | ||
int | from | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
This function will not return until the command is finished.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
[in] | from | specifies the source of the command. See msinputq.h. |
void mdlInput_sendSynchronizedCommandJournaled | ( | CommandNumber | commandNumber, |
WCharCP | unparsedP, | ||
MSInputQueuePos | queuePosition, | ||
WCharCP | taskIdP, | ||
int | commandClass | ||
) |
Creates a CMDNUM queue element with the command number designated by commandNumber.
This function will not return until the command is finished.
[in] | commandNumber | command number |
[in] | unparsedP | The string that cmdParamP points to can be in a temporary location. If there is no string to pass to the command, cmdParamP can be NULL. It can also point to a zero-length string. |
[in] | queuePosition | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to execute the command. The task ID is copied to the taskID field of the input queue element's cmd field. If a MicroStation command is being requested, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If taskIdP is NULL, the command is interpreted as a MicroStation command. |
[in] | commandClass | should be a standard command class from cmdclass.r.h. |
void mdlInput_sendSynchronizedKeyin | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
This function will not return until the keyin is processed.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyin queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyin tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyin places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendSynchronizedKeyinFrom | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP, | ||
int | from | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
It differs from mdlInput_sendKeyin in that a source of the key-in can be specified. This function will not return until the keyin is processed.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyinFrom queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyinFrom tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyinFrom places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. position is ignored and the key-in is always placed at the beginning of the queue if literal is false (parsing is enabled). |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
[in] | from | can be any of the following found in msinputq.h: FROM_KEYBOARD, FROM_CMDFILE, FROM_APP, FROM_UCM, FROM_STARTUP, FROM_DIALOG, FROM_PROCESS, FROM_MDL, FROM_PRDFPI, FROM_OPER_SYSTEM. |
void mdlInput_sendSynchronizedKeyinJournaled | ( | WCharCP | stringP, |
bool | literal, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a KEYIN queue element with the string designated by stringP.
This function will not return until the keyin is processed. The keyin will be processed by the journalling (macro) system.
[in] | stringP | key-in string |
[in] | literal | If literal is true, mdlInput_sendKeyin queues a KEYIN element without first trying to parse the string. If literal is zero, mdlInput_sendKeyin tries to parse the string before queuing it. If the string can be parsed, mdlInput_sendKeyin places a CMDNUM queue element in the queue. Otherwise, it places a KEYIN queue element in the queue. |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId, as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendSynchronizedKeystroke | ( | int | keyStroke, |
int | qualifierMask, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Places a keystroke into MicroStation's input queue.
[in] | keyStroke | specifies a keystroke. It is acceptable to specify any codes that can be generated from the keyboard. Both printable characters and control characters such as the return key can be specified. See the include file keys.r.h for the definition statements for the control characters. This function will not return until the keystroke is processed. |
[in] | qualifierMask | is used to specify the modifier keys such as shift, control, or alt. An upper case character is normally generated just by specifying the upper case character for the keystroke parameter. It is not necessary to specify the shift qualifierMask to generate an upper case character. The standard qualifier masks SHIFTKEY, CTRLKEY and ALTKEY are defined in keys.r.h. |
[in] | position | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for the task ID. |
void mdlInput_sendSynchronizedMessage | ( | Inputq_element * | iqel, |
MSInputQueuePos | position | ||
) |
Queues the element specified by queueElementP.
It is placed at the head of the queue. This is the most powerful function for queuing elements, since the task completely controls the queue element. This function will not return until until the message is processed.
[in] | iqel | queue element |
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
void mdlInput_sendSynchronizedReset | ( | MSInputQueuePos | position, |
WCharCP | taskIdP | ||
) |
Creates a RESET queue element and inserts it in the queue.
This function has the same effect as an operator entering a Reset. This function will not return until the reset is processed.
[in] | position | specifies the queue position. Position 0 places the element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable, ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element will be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendSynchronizedTentativeUORPoint | ( | Dpoint3d * | dPoint3dP, |
int | view, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue.
It applies the current transformation to the point specified by pointP. It then converts this point to an integer point and stores it in the queue element. This function will not return until the point is processed.
[in] | dPoint3dP | data point to be placed |
[in] | view | specifies the view number and is stored in the queue element. Since the value is zero-based, the view numbers are 0 through 7. Typically, a command uses either the data point or the view number. For example, the data point is important for an element creation command. The view number is important for an update command. |
[in] | position | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendSynchronizedUORPoint | ( | Dpoint3d * | dPoint3dP, |
int | view, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue.
It applies the current transformation to the point specified by pointP. It then converts this point to an integer point and stores it in the queue element. This function will not return until the point is processed.
[in] | dPoint3dP | data point to be placed |
[in] | view | specifies the view number and is stored in the queue element. Since the value is zero-based, the view numbers are 0 through 7. Typically, a command uses either the data point or the view number. For example, the data point is important for an element creation command. The view number is important for an update command. |
[in] | position | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendTentativeUORPoint | ( | Dpoint3d * | dPoint3dP, |
int | view, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a tentative point queue element and inserts it at the head of MicroStation's input queue.
It applies the current transformation to the point specified by pointP. It then converts this point to an integer point and stores it in the queue element.
[in] | dPoint3dP | data point to be placed |
[in] | view | specifies the view number and is stored in the queue element. Since the value is zero-based, the view numbers are 0 through 7. Typically, a command uses either the data point or the view number. For example, the data point is important for an element creation command. The view number is important for an update command. |
[in] | position | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for taskIdP. |
void mdlInput_sendUORPoint | ( | Dpoint3d * | dPoint3dP, |
int | view, | ||
MSInputQueuePos | position, | ||
WCharCP | taskIdP | ||
) |
Creates a data point queue element and inserts it at the head of MicroStation's input queue.
It applies the current transformation to the point specified by pointP. It then converts this point to an integer point and stores it in the queue element.
[in] | dPoint3dP | data point to be placed |
[in] | view | specifies the view number and is stored in the queue element. Since the value is zero-based, the view numbers are 0 through 7. Typically, a command uses either the data point or the view number. For example, the data point is important for an element creation command. The view number is important for an update command. |
[in] | position | specifies the location in the input queue for the keystroke queue element. Position 0 places the queue element at the head of the queue. A value of INPUTQ_EOQ for position tells MicroStation to place the queue element at the end of the queue. |
[in] | taskIdP | specifies the task to receive the queue element. If the queue element is intended for MicroStation, specify the built-in variable ustnTaskId as the task ID. If the queue element is intended for a specific task, specify the task ID. If the queue element is to be processed like user input, pass NULL for taskIdP. |
int mdlInput_startCommand | ( | void | ) |
Requests active command status for the current task.
If the current task acquires active command status, this task receives most queue elements.
bool mdlInput_toggleSelectQualifierOn | ( | CursorInfo * | cursorP | ) |
Sets the state of the select qualifier keyboard key.
[in] | cursorP | a pointer to the CursorInfo structure containing information about the select qualifier key. The qualifer key mask is used in a bitwise AND with the current state of the qualifier key |
|
static |
An MDL application can use this to set a function to be called before command queue elements are dispatched to the appropriate command processor.
[in] | newFunc | The new function to call, or NULL. |
|
static |
An MDL application can use this to set a function to be called when a queue element other than a command queue element is directed to the task.
[in] | newFunc | The new function to call, or NULL. |
|
static |
An MDL application can use this to set a function to inspect queue elements before they are sent to the input processor.
[in] | newFunc | The new function to call, or NULL. |
[in] | filter | Used to limit which queue elements are passed to the callback. The filter argument is ignored if newFunc is NULL. |
|
static |
An MDL application can use this to set a function to be called before keyin processing.
[in] | newFunc | The new function to call, or NULL. |
|
static |
An MDL application can use this to set a function to be called when the user finishes entering monument points pairs during DIGITIZER SETUP command.
[in] | newFunc | The new function to call, or NULL. |
|
static |
An MDL application can use this to set a function to be called when MicroStation needs a point on the digitizer (outside the screen partition) transformed to design file coordinates.
[in] | newFunc | The new function to call, or NULL. |
|
static |
An MDL application can use this to set a function to be called when MicroStation wants position and/or input device information from the user application.
[in] | newFunc | The new function to call, or NULL. |