Maptitude GISDK Help

User Interaction

GISDK provides a set of functions for user interaction with the map display. These GISDK functions return scopes, points, circles, rectangles, and other regions marked by the user. Many of these same GISDK functions can be used in layout windows as well.

 

GISDK Function Summary
ClickAndDragLayout() Allows the user to pan around in a layout by dragging it to a new position
ClickCircle() Awaits user input from the system pointer and returns a circle
ClickCoord() Awaits user input from the system pointer and returns a coordinate
ClickCurve() Awaits user input of control points from the system pointer and returns an array of coordinates that define a curve
ClickDragAndShow() Allows a user to pan a map by dragging it to a new position
ClickEllipse() Awaits user input from the system pointer and returns coordinates that define an ellipse
ClickEllipseScope() Awaits user input from the system pointer, accepts an ellipse, and returns a scope
ClickLayout() Allows user to edit annotations in the current map or layout
ClickLine() Awaits user input from the system pointer and returns two coordinates that define a line
ClickPolyline() Awaits user input from the system pointer and returns an array of coordinates that define a line
ClickRect() Awaits user input from the system pointer and return two coordinates that define a rectangle
ClickRectScope() Awaits user input from the system pointer, accepts a rectangle whose center is a valid world point, and returns a scope
ClickScope() Awaits user input from the system pointer, accepts a rectangle, and returns a scope
ClickShape() Awaits user input from the system pointer and returns an array of coordinates that define a closed polygon
ClickText() Allows the user to enter text on the current map or layout
GetClickControl() Determines whether the Ctrl key was pressed during a prior "Click" function
GetClickShift() Determines whether the Shift key was pressed during a prior "Click" function

 

These GISDK functions should be called only from a macro that is activated from the menus, or from tools in toolboxes and toolbars, which are modeless dialog boxes that stay on the screen and are available for use at any time but permit other user activities. Calling one of these GISDK functions from any other type of dialog box often causes confusion about which window is active (the dialog box, versus the map); these modal dialog boxes require the user to respond before continuing the program.

 

When you use these GISDK functions, you can also use GetClickShift()and GetClickControl()to test the status of the Shift and Ctrl keys at the time the mouse was clicked. This enables you to distinguish a click from a Shift-click, Ctrl-click, or Ctrl-Shift-click. In the example shown below, dragging a circle creates a new selection set, while holding the Shift key and dragging a circle adds records to a selection set.

 

// Here is the definition of a selection tool

Tool "select by radius" 0, 0 icons: "select.bmp" do

     // Get the circle from the user

     c = ClickCircle("")

 

     // Check the Shift key...

     shift_key = GetClickShift()

 

     // Select as needed...

     if shift_key = "True" then

          SelectByCircle("Selection", "More", c)

     else

          SelectByCircle("Selection", "Several", c)

     endItem

 

 

©2025 Caliper Corporation www.caliper.com