Field-Map Scripting

2.5.5.1 List of layer events

List of layer events


  • BeforeImport        
  • AfterImport        
  • BeforeEmptyLayer        
    • Variable: RunBeforeAndAfterDeleteScripts (output), descr:  0 display dialog, 1 scripts off, 2 scripts on


  • AfterEmptyLayer        
  • AfterSelectEntity Applicable to: Point, Line, Polygon, Tree, Deadwood, Transect layers        
    • Variable: SelectEntity_Buttons (intput), descr:  Additional buttons: ALT;CTRL;LEFT;RIGHT;MIDDLE / SHIFT is not applicable because it is used form multiselect


  • BeforeCreateNewPlot  Applicable to: Plot layer        
  • AfterCreateNewPlot  Applicable to: Plot layer        
  • BeforeOpenPlot  Applicable to: Plot layer        
    • Variable: BeforeOpenPlot_Filter (output), descr:  filter for open plots query
    • Variable: BeforeOpenPlot_SelectPlots (output), descr:  list of plots to be selected e.g. 1,2,3,... (either Select or Ignore is applied; Select is primary
    • Variable: BeforeOpenPlot_IgnorePlots (output), descr:  list of plots to be ignored e.g. 1,2,3,...


  • OnCreatePlotShapefiles  Applicable to: Plot layer, descr:PlotShape=60 plot boundary must be created by user script        


  • OnOpenPlot  Applicable to: Plot layer, descr: plot ID is available but plot is not opened yet        
    • Variable: OnOpenPlot_PlotID (intput), descr:  Plot has been just selecte but not open


  • AfterOpenPlot  Applicable to: Plot layer        
  • BeforeDeletePlot  Applicable to: Plot layer        
  • AfterDeletePlot  Applicable to: Plot layer        
  • BeforeBuildPolygons  Applicable to: Plot layer; Polygon layer        
    • Variable: SaveCleanLinesAfterPolygonization (output), descr:  =0 do not save; 1=prompt for saving 2=save without asking
    • Variable: ConsiderSelectedCentroids (output), descr:  =0 do not consider; 1=prompt for considering 2=consider without asking
    • Variable: CentroidSelectionFilter (output), descr:  WHERE clause of SQL script for selection of centroids for polygonization eg. AttributeX=23
    • Variable: ConsiderSelectedLines (output), descr:  =0 do not consider; 1=prompt for considering 2=consider without asking
    • Variable: LineSelectionFilter (output), descr:  WHERE clause of SQL script for selection of lines by layers eg. Lines:ID IN (1,5,15)|Lines2:AttributeX>23
    • Variable: PolygonizationExtent (output), descr:  1-FULL 2-FULL and disabled 3-EXTENT 4-EXTENT and disabled}
    • Variable: IncrementalPolygonization (output), descr:  =0 do not consider; 1=TRUE 2=TRUE and disabled 3-FALSE and disabled
    • Variable: SkipPolygonizationLayerDialog (output), descr:  =0 show by default; 1=do not show dialog (OK)
    • Variable: BackupPriorPolygonization (output), descr:  =0 show by default; 1=do not show dialog and BACKUP; 2=do not show dialog and NO BACKUP
    • Variable: RunPolygonizationWizard (output), descr:  =0 NO by default; 1=YES
    • Variable: HidePolyshapeButtons (output), descr:  list of button names to be hidden; separated by semicolon


  • AfterBuildPolygons  Applicable to: Plot layer; Polygon layer        
  • OnCreateNewIDApplicable to: All layers, ABORT=YES        
    • Variable: NewPoint_X (intput), descr:  valid only for point/tree/polygon(centroids) layers
    • Variable: NewPoint_Y (intput), descr:  valid only for point/tree/polygon(centroids) layers
    • Variable: NewID (intput), descr:  automatically created new ID is being sent to the script for revision
    • Variable: NewID (output), descr:  new ID can be set up in the script; responsibility of ID validity is on the user


  • BeforeNewPoint Applicable to: Plot layer, Polygon layer, trees layer, ABORT=YES        
    • Variable: NewPoint_X (input)
    • Variable: NewPoint_Y (input)


  • AfterNewPoint Applicable to: Plot layer, Polygon layer, trees layer        
    • Variable: NewPoint_X (input)
    • Variable: NewPoint_Y (input)
    • Variable: Vector_PenMapping (intput), descr:  =0 for pen mapping; NULL otherwise


  • BeforeMovePoint Applicable to: Plot layer, Polygon layer, trees layer, ABORT=YES        
    • Variable: MovePoint_OldX (input)
    • Variable: MovePoint_OldY (input)


  • OnMovePoint Applicable to: Plot layer, Polygon layer, trees layer, ABORT=YES        
    • Variable: MovePoint_OldX (input)
    • Variable: MovePoint_OldY (input)
    • Variable: MovePoint_NewX (input)
    • Variable: MovePoint_NewY (input)
    • Variable: Vector_PenMapping (intput), descr:  =0 for pen mapping; NULL otherwise


  • OnMoveOldTreePos Applicable to: Tree layer, ABORT=YES        
    • Variable: MoveOldTreePos_OldX (input)
    • Variable: MoveOldTreePos_OldY (input)
    • Variable: MoveOldTreePos_NewX (input)
    • Variable: MoveOldTreePos_NewY (input)


  • AfterMovePoint Applicable to: Plot layer, Polygon layer, trees layer        
    • Variable: MovePoint_OldX (input)
    • Variable: MovePoint_OldY (input)
    • Variable: MovePoint_NewX (input)
    • Variable: MovePoint_NewY (input)


  • BeforeNewCentroid Applicable to: Polygon layer        
    • Variable: NewPoint_X (input)
    • Variable: NewPoint_Y (input)
    • Variable: IsMultiCentroid (intput), descr:  boolean value indicating new point as a centroid of multipolygon


  • AfterNewCentroid Applicable to: Polygon layer        
    • Variable: NewPoint_X (input)
    • Variable: NewPoint_Y (input)
    • Variable: IsMultiCentroid (intput), descr:  boolean value indicating new point as a centroid of multipolygon


  • BeforeNewLine Applicable to: Line, Connection, HalfConnection layers        
    • Variable: NewLine_X1 (input)
    • Variable: NewLine_Y1 (input)
    • Variable: NewLine_X2 (input)
    • Variable: NewLine_Y2 (input)


  • AfterPostLine Applicable to: Line, Connection, HalfConnection layers        
    • Variable: PostLine_X (intput), descr:  co-ordinates of the last edited point of the line
    • Variable: PostLine_Y (input)
    • Variable: PostLine_ID (input)


  • OnPointOutOfPlot Applicable to: Point, Line, Polygon, Tree, Deadwood, Transect, Connection, HalfConnection layers        
  • OnClickToMap Applicable to: Point, Line, Polygon, Tree, Deadwood, Transect , Connection, HalfConnection layers, descr:if not ScriptResult then OnMouseDown discontinue; combined with SELECT button        
    • Variable: ClickToMap_LayerName (intput), descr:  gives possibility to generalize script for multiple layers
    • Variable: ClickToMap_X (input)
    • Variable: ClickToMap_Y (input)


  • OnDoubleClickToMap Applicable to: Point, Line, Polygon, Tree, Deadwood, Transect, Connection, HalfConnection layers        
    • Variable: DoubleClickToMap_LayerName (intput), descr:  gives possibility to generalize script for multiple layers
    • Variable: DoubleClickToMap_ID (input)
    • Variable: DoubleClickToMap_X (input)
    • Variable: DoubleClickToMap_Y (input)


  • OnDoubleClickToOverviewTableApplicable to: All layers        
  • AfterExternalForm  Applicable to: All layers        
    • Variable: ExternalForm_LibraryName (intput), descr:  name of DLL library


  • OnStemProfileCalliperMeasurement Applicable to: Tree layer, descr:Before saving D,H data and continue further measurement        
    • Variable: StemProfileCalliperHeight_m (input,output), descr:  Value is passed to script and may be modified by script
    • Variable: StemProfileCalliperDiameter_mm (input,output), descr:  Value is passed to script and may be modified by script


  • OnStemProfileHeightIncrement Applicable to: Tree layer, descr:Increment of height during on-line calliper measurement of stem profile        
    • Variable: StemProfileCalliperHeight_m (intput), descr:  initial height before increment
    • Variable: StemProfileCalliperHeightStep_m (intput), descr:  proposed increment
    • Variable: StemProfileCalliperNextHeight_m (output), descr:  decision on new height; if not created in script then h+step will be used


  • OnActivateCalliperFrameApplicable to: All layers        


  • BeforeDrawStemProfile Applicable to: Tree layer, descr:Before drawing stem profile of Tree layer        
    • Variable: StemProfileExpansionFactors (output), descr:  variant array [0..n,0..1] of [Ht,factor]; factor e.g. 1.23 will be applied for diameters above Ht
    • Variable: StemProfileXML (output), descr:  standard XML which will replace default data


  • BeforeSelectHeightCandidates Applicable to: Tree layer, ABORT=YES, descr:Prepare data for height candidate selection        
    • Variable: InvalidTreeIDs (output), descr:  list of tree IDs which cannot be selected; VarArray of IDs


  • OnInvalidLiveCrownHeightMeasurement Applicable to: Tree layer, ABORT=YES        
    • Variable: TreeHeight_m (intput), descr:  Limiting height: total tree height
    • Variable: LiveCrownHeight_m (intput), descr:  Value of current live crown height measurement


  • OnInvalidDeadCrownHeightMeasurement Applicable to: Tree layer, ABORT=YES        
    • Variable: TreeHeight_m (intput), descr:  Limiting height: total tree height
    • Variable: LiveCrownHeight_m (intput), descr:  Value of current live crown height measurement
    • Variable: DeadCrownHeight_m (intput), descr:  Value of current dead crown height measurement


  • BeforeShowInSeparateWindowApplicable to: All layers, ABORT=YES, descr:show form in separate window        
  • AfterCloseSeparateWindowApplicable to: All layers, ABORT=YES, descr:close form with separate window        
  • AfterGetAttributeValuesByMapOverlay Applicable to: Plot layer, Polygon layer, trees layer, descr:after transfer of attribute values by GIS overlay        
  • BeforeShowPhotoThumbnailsApplicable to: All layers, ABORT=YES, descr:show photo thumbnails        
    • Variable: PhotoAttribute (output), descr:  Name of attribute which will be used as photo attribute
    • Variable: TextAttributes (output), descr:  Name of attributes which will be used for description; list separated by ,;| EXIFDATE is the name of attribute of datetime of photo origin; {value} for direct display of value 


  • OnEnterDeadwoodDiameter Applicable to: Deadwood layer, ABORT=YES>        
    • Variable: Diameter_mm (input)


  • OnComboPanelCollapse Applicable to: Data layer        
    • Variable: SenderLayer (input)


  • OnComboPanelExpand Applicable to: Data layer        
    • Variable: SenderLayer (input)


  • OnEnterControl  Applicable to: All layers        
    • Variable: SenderLayer (input)
    • Variable: SenderAttribute (input)


  • OnExitControl  Applicable to: All layers        
    • Variable: SenderLayer (input)
    • Variable: SenderAttribute (input)


  • OnChangeAttributeValue  Applicable to:  All layers        
    • Variable: SenderLayer (input)
    • Variable: SenderAttribute (input)




See also:                

Field-Map script types overview; On-Validate scripts; On-Change scripts; On-Demand scripts; Layer scripts; Global scripts; Field-Map script types; Writing scripts in Field-Map