proc isNumeric {x} {
set a [expr ![catch {expr $x*1}]]
return $a
}
proc update {maxdist lag_minimum lag_maximum lag_increment windows} {
set value [$maxdist getCurrentValue]
if {[isNumeric $value]} {
$lag_minimum setHighBound $value
$lag_maximum setHighBound $value
$lag_increment setHighBound $value
set minimum [format %.1f [expr $value * [$windows getRowCount] / 400]]
if {[string match 0.0 $minimum]} {
$lag_minimum setCurrentValue "0.1"
} else {
$lag_minimum setCurrentValue $minimum
}
$lag_maximum setCurrentValue [format %.1f [expr $value / 5.0]]
$lag_increment setCurrentValue [format %.1f [expr [$lag_maximum getCurrentValue] / 10.0]]
}
}
GuidoForm frm20465 {
-default_buttons
-label "Indicator Variogram Calculation"
-layout BoxLayout Y_AXIS
-legacy_validation
-tip "20465_TIP_001"
GuidoTabbedPane frm20465_p1 {
GuidoPanel Basic {
-label Basic
-layout BoxLayout Y_AXIS
GuidoPanel frm20465_65 {
-layout CentreLineLayout
GuidoPanel frm20465_62 {
-border etched true
-layout CentreLineLayout
GuidoFileBrowserField location {
-display_length 10
-file_mask *.str
-link id
-format none
-label Location
-max_length 252
-next_focus id
-tip "20465_TIP_002"
}
GuidoField id {
-default 1
-display_length 10
-format range
-label "Id range"
-max_length 16
-next_focus str
-null false
-tip "20465_TIP_002"
}
GuidoField str {
-display_length 10
-format range
-label "String range"
-max_length 26
-next_focus dfield
-tip "20465_TIP_004"
}
}
GuidoPanel frm20465_63 {
-border etched true
-layout CentreLineLayout
GuidoComboBox dfield {
-default D1
-display_length 7
-format string_field
-label "D field"
-max_length 4
-next_focus minval
-tip "Select the description field in which the sample values are to be found."
-value_in D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32 D33 D34 D35 D36 D37 D38 D39 D40 D41 D42 D43 D44 D45 D46 D47 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D58 D59 D60 D61 D62 D63 D64 D65 D66 D67 D68 D69 D70 D71 D72 D73 D74 D75 D76 D77 D78 D79 D80 D81 D82 D83 D84 D85 D86 D87 D88 D89 D90 D91 D92 D93 D94 D95 D96 D97 D98 D99 D100
}
GuidoField minval {
-display_length 10
-format double
-label "Minimum value"
-max_length 10
-next_focus maxval
-tip "20465_TIP_006"
}
GuidoField maxval {
-display_length 10
-format double
-label "Maximum value"
-max_length 10
-next_focus windows
-tip "20465_TIP_007"
}
}
}
GuidoPanel frm20465_72 {
-layout BoxLayout Y_AXIS
-border etched true
GuidoLabel frm20465_l1 {
-label "Data Selection Windows"
}
GuidoPanel frm20465_72a {
-layout CentreLineLayout
-tip "VARIO_SEARCH_TYPE"
GuidoLabel search_type_label {
-label "Search type"
}
GuidoButtonGroupPanel search_type {
-layout BoxLayout Y_AXIS
GuidoRadioButton frm20460_35 {
-caption Cone
-selected_value Cone
-default true
}
GuidoRadioButton frm20460_36 {
-caption Pyramid
-selected_value Pyramid
}
}
}
GuidoScrollPane frm20465_23 {
-height 6
-width 60
GuidoTable windows {
-instances 1 1 100
-interactive true
GuidoField azimuth {
-display_length 8
-format double
-high_bound 360.000000
-label Azimuth
-low_bound 0.000000
-max_length 10
-null false
-tip "20465_TIP_008"
}
GuidoField plunge {
-display_length 8
-format double
-high_bound 90.000000
-label Plunge
-low_bound -90.000000
-max_length 10
-null false
-tip "20465_TIP_009"
}
GuidoField spread {
-display_length 8
-format double
-high_bound 90.000000
-label Spread
-low_bound 0.000000
-max_length 10
-null false
-tip "20465_TIP_010"
-dependency {[$search_type getCurrentValue] == "Cone"}
}
GuidoField spr_limit {
-display_length 8
-format double
-label "Spread limit"
-low_bound 0.000000
-max_length 10
-tip "20465_TIP_011"
-dependency {[$search_type getCurrentValue] == "Cone"}
}
GuidoField horizontal_spread {
-display_length 8
-font_style bold
-format double
-high_bound 90.000000
-label "Horizontal spread"
-low_bound 0.000000
-max_length 10
-null false
-tip "VARIO_HSPREAD"
-dependency {[$search_type getCurrentValue] == "Pyramid"}
}
GuidoField horizontal_spr_limit {
-display_length 8
-font_style bold
-format double
-label "Horizontal spread limit"
-low_bound 0.000000
-max_length 10
-tip "VARIO_HSPREAD_LIMIT"
-dependency {[$search_type getCurrentValue] == "Pyramid"}
}
GuidoField vertical_spread {
-display_length 8
-font_style bold
-format double
-high_bound 90.000000
-label "Vertical spread"
-low_bound 0.000000
-max_length 10
-null false
-tip "VARIO_VSPREAD"
-dependency {[$search_type getCurrentValue] == "Pyramid"}
}
GuidoField vertical_spr_limit {
-display_length 8
-font_style bold
-format double
-label "Vertical spread limit"
-low_bound 0.000000
-max_length 10
-tip "VARIO_VSPREAD_LIMIT"
-dependency {[$search_type getCurrentValue] == "Pyramid"}
}
}
}
}
GuidoPanel frm20465_84 {
-layout BoxLayout X_AXIS
GuidoPanel frm20465_82 {
-border etched true
-layout CentreLineLayout
GuidoField lag {
-display_length 10
-format double
-label Lag
-max_length 10
-next_focus maxdist
-null false
-tip "20465_TIP_012"
}
GuidoField maxdist {
-display_length 10
-format double
-label "Maximum distance"
-max_length 10
-next_focus notefile
-null false
-tip "Specify the maximum distance for which to calculate the indicator variograms."
}
GuidoFileBrowserField fname {
-label "Output report file name"
-display_length 23
-extension false
-file_mask *.not
-file_access write
-format none
-max_length 256
-tip "20465_TIP_014"
}
GuidoComboBox report_format {
-label "Output report file format"
-display_length 20.5
-format none
-max_length 40
-null false
-tip "The file format nominated here will be the output report format."
-value_in ".not - Surpac Note File" ".csv - Comma Separated (Spreadsheet)" ".htm - Hypertext Markup Language (Web)" ".html - Hypertext Markup Language (Web)" ".rtf - Rich Text Format (Microsoft Word)" ".pdf - Adobe Acrobat" ".ps - Postscript"
}
GuidoCheckBox display_report {
-label "Display report"
-default false
}
}
}
}
GuidoPanel frm20465_p3 {
-layout BoxLayout Y_AXIS
-label Cutoffs
GuidoScrollPane frm20465_42 {
-height 15
GuidoTable cutoffs {
-instances 10 10 100
-interactive true
GuidoField cutoff {
-display_length 10
-format double
-label Cutoffs
-max_length 10
-tip "20465_TIP_015"
}
}
}
}
GuidoPanel Advanced {
-label Advanced
-layout BoxLayout Y_AXIS
GuidoPanel frm20465_79 {
-layout BoxLayout Y_AXIS
GuidoPanel frm20465_79 {
-layout BoxLayout Y_AXIS
-border etched true
-width 45
-label "Geographical Constraints"
GuidoPanel frm20465_75 {
-label Minimum:
-layout BoxLayout X_AXIS
GuidoField min0 {
-display_length 10
-format double
-label X
-max_length 10
-next_focus min1
-tip "VARIO_MIN_X_VAL"
}
GuidoField min1 {
-display_length 10
-format double
-label Y
-max_length 10
-next_focus min2
-tip "VARIO_MIN_Y_VAL"
}
GuidoField min2 {
-display_length 10
-format double
-label Z
-max_length 10
-next_focus max0
-tip "VARIO_MIN_Z_VAL"
}
}
GuidoFiller frm20465_fh1 {
-height 1
}
GuidoPanel frm20465_77 {
-layout BoxLayout X_AXIS
-label Maximum:
GuidoField max0 {
-display_length 10
-format double
-label X
-max_length 10
-next_focus max1
-tip "VARIO_MAX_X_VAL"
}
GuidoField max1 {
-display_length 10
-format double
-label Y
-max_length 10
-next_focus max2
-tip "VARIO_MAX_Y_VAL"
}
GuidoField max2 {
-display_length 10
-format double
-label Z
-max_length 10
-tip "VARIO_MAX_Z_VAL"
}
}
}
GuidoPanel frm20465_80 {
-layout CentreLineLayout
-border etched true
-width 45
-label "Lag slider"
GuidoField lag_minimum {
-display_length 10
-format double
-label Minimum
-max_length 10
-low_bound 0.1
-default 0.1
-tip "VG_LAG_SLIDER_MINIMUM"
-decimals 1
}
GuidoField lag_maximum {
-display_length 10
-format double
-label Maximum
-max_length 10
-low_bound 0.1
-tip "VG_LAG_SLIDER_MAXIMUM"
-decimals 1
}
GuidoField lag_increment {
-display_length 10
-format double
-label Increment
-max_length 10
-low_bound 0.1
-tip "VG_LAG_SLIDER_INCREMENT"
-decimals 1
}
}
GuidoPanel frm20460_57 {
-border etched true
-layout CentreLineLayout
-width 45
GuidoPanel frm20460_38 {
-layout BoxLayout X_AXIS
-tip "VARIO_NEG_VAL"
-label "Treat negatives as"
GuidoButtonGroupPanel negative {
GuidoRadioButton frm20460_35 {
-caption ZEROES
-selected_value ZEROES
}
GuidoRadioButton frm20460_36 {
-caption UNDEFINED
-selected_value UNDEFINED
}
GuidoRadioButton frm20460_37 {
-caption NEGATIVES
-default true
-next_focus notefile
-selected_value NEGATIVES
}
}
}
}
}
}
}
$maxdist setActionCallback valueChanged {[update $maxdist $lag_minimum $lag_maximum $lag_increment $windows]}
$windows setActionCallback rowAdded {[update $maxdist $lag_minimum $lag_maximum $lag_increment $windows]}
$windows setActionCallback rowInserted {[update $maxdist $lag_minimum $lag_maximum $lag_increment $windows]}
$windows setActionCallback rowDeleted {[update $maxdist $lag_minimum $lag_maximum $lag_increment $windows]}
}
