Class TfrmScreenObjectProperties

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TfrmScreenObjectProperties = class(TfrmCustomGoPhast)

Description

TfrmScreenObjectProperties is used to edit one or more TScreenObjects.

When a TScreenObject is first created, GetData is called to read the TScreenObject properties and TfrmScreenObjectProperties.SetData is called to set the TScreenObject properties. When one or more TScreenObjects are being edited, GetDataForMultipleScreenObjects is called to read the data and SetMultipleScreenObjectData is called to set the TScreenObject properties.

Hierarchy

Overview

Fields

Implicit tabModflowBoundaryConditions: TTabSheet;
Implicit jvtlModflowBoundaryNavigator: TJvPageListTreeView;
Implicit jvplModflowBoundaries: TJvPageList;
Implicit JvNetscapeSplitter1: TJvNetscapeSplitter;
Implicit jvspCHD: TJvStandardPage;
Implicit frameChdParam: TframeScreenObjectParam;
Implicit ilCheckImages: TImageList;
Implicit jvspGHB: TJvStandardPage;
Implicit frameGhbParam: TframeScreenObjectCondParam;
Implicit jvspWell: TJvStandardPage;
Implicit frameWellParam: TframeScreenObjectCondParam;
Implicit jvspRIV: TJvStandardPage;
Implicit frameRivParam: TframeScreenObjectCondParam;
Implicit jvspDRN: TJvStandardPage;
Implicit frameDrnParam: TframeScreenObjectCondParam;
Implicit jvspDRT: TJvStandardPage;
Implicit frameDrtParam: TframeScreenObjectCondParam;
Implicit pnlDrtLocation: TPanel;
Implicit comboDrtLocationChoice: TComboBox;
Implicit lblReturnLocationMethod: TLabel;
Implicit pcDrtReturnLChoice: TJvPageControl;
Implicit tabDrtNone: TTabSheet;
Implicit tabDrtObject: TTabSheet;
Implicit tabDrtLocation: TTabSheet;
Implicit tabDrtCell: TTabSheet;
Implicit comboDrtReturnObject: TComboBox;
Implicit rdeDrtX: TRbwDataEntry;
Implicit rdeDrtY: TRbwDataEntry;
Implicit rdeDrtZ: TRbwDataEntry;
Implicit lblDrtX: TLabel;
Implicit lblDrtY: TLabel;
Implicit lblDrtZ: TLabel;
Implicit lblDrtCol: TLabel;
Implicit lblDrtRow: TLabel;
Implicit lblDrtLay: TLabel;
Implicit rdeDrtLay: TRbwDataEntry;
Implicit rdeDrtRow: TRbwDataEntry;
Implicit rdeDrtCol: TRbwDataEntry;
Implicit jvspRCH: TJvStandardPage;
Implicit frameRchParam: TframeScreenObjectParam;
Implicit jvspBlank: TJvStandardPage;
Implicit jvspEVT: TJvStandardPage;
Implicit frameEvtParam: TframeScreenObjectParam;
Implicit jvspETS: TJvStandardPage;
Implicit frameEtsParam: TframeScreenObjectParam;
Implicit jvspRES: TJvStandardPage;
Implicit frameRes: TframeScreenObjectNoParam;
Implicit jvspLAK: TJvStandardPage;
Implicit frameLak: TframeScreenObjectLAK;
Implicit jvspSFR: TJvStandardPage;
Implicit frameScreenObjectSFR: TframeScreenObjectSFR;
Implicit jvspUZF: TJvStandardPage;
Implicit frameScreenObjectUZF: TframeScreenObjectNoParam;
Implicit pnlUzfGage: TPanel;
Implicit cbUzfGage1: TCheckBox;
Implicit cbUzfGage2: TCheckBox;
Implicit cbUzfGage3: TCheckBox;
Implicit pnlDataSets: TPanel;
Implicit JvNetscapeSplitter2: TJvNetscapeSplitter;
Implicit Panel1: TPanel;
Implicit lblDataSetFormula: TLabel;
Implicit btnDataSetFormula: TButton;
Implicit Panel2: TPanel;
Implicit tvDataSets: TTreeView;
Implicit jvspHOB: TJvStandardPage;
Implicit frameHeadObservations: TframeHeadObservations;
Implicit jvspHFB: TJvStandardPage;
Implicit frameHfbBoundary: TframeHfbScreenObject;
Implicit jvplObjectInfo: TJvPageList;
Implicit jvspSingleObject: TJvStandardPage;
Implicit jvspMultipleObjects: TJvStandardPage;
Implicit lblNames: TLabel;
Implicit memoNames: TMemo;
Implicit tabImportedData: TTabSheet;
Implicit rdgImportedData: TRbwDataGrid4;
Implicit gbObjectInfo: TGroupBox;
Implicit lblObjectLength: TLabel;
Implicit edObjectLength: TEdit;
Implicit lblObjectArea: TLabel;
Implicit edObjectArea: TEdit;
Implicit lblObjectOrder: TLabel;
Implicit edObjectOrder: TEdit;
Implicit jvspModpath: TJvStandardPage;
Implicit frameIface: TframeIface;
Implicit frameModpathParticles: TframeModpathParticles;
Implicit jvspCHOB: TJvStandardPage;
Implicit frameCHOB: TframeFluxObs;
Implicit jvspDROB: TJvStandardPage;
Implicit frameDROB: TframeFluxObs;
Implicit jvspGBOB: TJvStandardPage;
Implicit frameGBOB: TframeFluxObs;
Implicit jvspRVOB: TJvStandardPage;
Implicit frameRVOB: TframeFluxObs;
Implicit Panel3: TPanel;
Implicit reDataSetComment: TRichEdit;
Implicit lblDataComment: TLabel;
Implicit lblAssociatedModelDataSets: TLabel;
Implicit reAssocModDataSets: TRichEdit;
Implicit jvspGAGE: TJvStandardPage;
Implicit gbGageObservationTypes: TGroupBox;
Implicit cbGageStandard: TCheckBox;
Implicit cbGage1: TCheckBox;
Implicit cbGage2: TCheckBox;
Implicit cbGage3: TCheckBox;
Implicit cbGage5: TCheckBox;
Implicit cbGage6: TCheckBox;
Implicit cbGage7: TCheckBox;
Implicit lblGageCaption: TLabel;
Implicit btnCopyVertices: TButton;
Implicit jvspMNW2: TJvStandardPage;
Implicit frameMNW2: TframeScreenObjectMNW2;
Implicit tabComments: TTabSheet;
Implicit memoComments: TMemo;
Implicit lblComments: TLabel;
Implicit jvspHYDMOD: TJvStandardPage;
Implicit frameHydmod: TframeScreenObjectHydmod;
Implicit tabLGR: TTabSheet;
Implicit tabVertexValues: TTabSheet;
Implicit rdgVertexValues: TRbwDataGrid4;
Implicit pnlLgrTop: TPanel;
Implicit pnlLgrBottom: TPanel;
Implicit clbChildModels: TJvxCheckListBox;
Implicit lblLgrChildModel: TLabel;
Implicit Splitter1: TSplitter;
Implicit lblObjectUsedWithModels: TLabel;
Implicit cbLgrAllModels: TCheckBox;
Implicit clbLgrUsedModels: TCheckListBox;
Implicit cbLock: TCheckBox;
Implicit jvspMT3DMS_SSM: TJvStandardPage;
Implicit frameMT3DMS_SSM: TframeScreenObjectSsm;
Implicit jvspMT3DMS_TOB_Conc: TJvStandardPage;
Implicit frameMt3dmsTobConc: TframeConcentrationObservation;
Implicit jvspMT3DMS_TOB_Flux: TJvStandardPage;
Implicit frameMt3dmsFluxObs: TframeMt3dmsFluxObs;
Implicit reDataSetFormula: TRichEdit;
Implicit tabSutraFeatures: TTabSheet;
Implicit jvplSutraFeatures: TJvPageList;
Implicit jvpltvSutraFeatures: TJvPageListTreeView;
Implicit splttrSutraFeatures: TJvNetscapeSplitter;
Implicit jvspSutraObservations: TJvStandardPage;
Implicit frameSutraObservations: TframeSutraObservations;
Implicit jvspSutraSpecifiedPressure: TJvStandardPage;
Implicit jvspSutraSpecTempConc: TJvStandardPage;
Implicit jvspSutraFluidFlux: TJvStandardPage;
Implicit jvspSutraMassEnergyFlux: TJvStandardPage;
Implicit frameSutraSpecifiedPressure: TframeSutraBoundary;
Implicit frameSutraSpecTempConc: TframeSutraBoundary;
Implicit frameSutraFluidFlux: TframeSutraBoundary;
Implicit frameSutraMassEnergyFlux: TframeSutraBoundary;
Implicit jvspSutraBlank: TJvStandardPage;
Implicit cbDuplicatesAllowed: TCheckBox;
Published btnCancel: TBitBtn;
Published btnFillColor: TButton;
Published btnHelp: TBitBtn;
Published btnHighZ: TButton;
Published btnLeakyHydraulicConductivity: TButton;
Published btnLeakyThickness: TButton;
Published btnLineColor: TButton;
Published btnLowZ: TButton;
Published btnOK: TBitBtn;
Published btnRiverBedThickness: TButton;
Published btnRiverDepth: TButton;
Published btnRiverHydraulicConductivity: TButton;
Published btnRiverWidth: TButton;
Published btnZ: TButton;
Published cbEnclosedCells: TCheckBox;
Published cbFillColor: TCheckBox;
Published cbInterpolation: TCheckBox;
Published cbIntersectedCells: TCheckBox;
Published cbLineColor: TCheckBox;
Published cbSetGridCellSize: TCheckBox;
Published cbWellPumpAllocation: TCheckBox;
Published coldlgColors: TColorDialog;
Published comboSolutionType: TComboBox;
Published comboWellIntervalStyle: TComboBox;
Published dgBoundaryFlux: TRbwDataGrid4;
Published dgBoundaryLeaky: TRbwDataGrid4;
Published dgBoundaryRiver: TRbwDataGrid4;
Published dgSpecifiedHead: TRbwDataGrid4;
Published dgVerticies: TRbwDataGrid4;
Published dgWell: TRbwDataGrid4;
Published dgWellElevations: TRbwDataGrid4;
Published edHighZ: TRbwEdit;
Published edLeakyHydraulicConductivity: TEdit;
Published edLeakyThickness: TEdit;
Published edLowZ: TRbwEdit;
Published edName: TEdit;
Published edRiverBedThickness: TEdit;
Published edRiverDepth: TEdit;
Published edRiverDescripton: TEdit;
Published edRiverHydraulicConductivity: TEdit;
Published edRiverWidth: TEdit;
Published edWellDescription: TEdit;
Published edZ: TRbwEdit;
Published framePhastInterpolationBoundaries: TframePhastInterpolation;
Published framePhastInterpolationData: TframePhastInterpolation;
Published gbBoundaryPhastInterpolation: TGroupBox;
Published gbPhastInterpolation: TGroupBox;
Published lblBoundaryTimes: TLabel;
Published lblGridCellSize: TLabel;
Published lblHighZ: TLabel;
Published lblLeakyHydraulicConductivity: TLabel;
Published lblLeakyThickness: TLabel;
Published lblLowZ: TLabel;
Published lblName: TLabel;
Published lblRiverBedThickness: TLabel;
Published lblRiverDepth: TLabel;
Published lblRiverDescripton: TLabel;
Published lblRiverHydraulicConductivity: TLabel;
Published lblRiverWidth: TLabel;
Published lblSolutionType: TLabel;
Published lblWellDescription: TLabel;
Published lblWellDiameter: TLabel;
Published lblWellIntervals: TLabel;
Published lblWellIntervalStyle: TLabel;
Published lblWellLandSurfaceDatum: TLabel;
Published lblZ: TLabel;
Published pcPhastBoundaries: TJvPageList;
Published pageMain: TPageControl;
Published pnlBottom: TPanel;
Published pnlBoundaries: TPanel;
Published pnlLeaky: TPanel;
Published pnlRiver: TPanel;
Published pnlSolutionType: TPanel;
Published pnlWellBoundary: TPanel;
Published rdeGridCellSize: TRbwDataEntry;
Published rdeWellDiameter: TRbwDataEntry;
Published rdeWellLandSurfaceDatum: TRbwDataEntry;
Published rgBoundaryType: TRadioGroup;
Published rgElevationCount: TRadioGroup;
Published rgEvaluatedAt: TRadioGroup;
Published rparserFrontFormulaElements: TRbwParser;
Published rparserFrontFormulaNodes: TRbwParser;
Published rparserSideFormulaElements: TRbwParser;
Published rparserSideFormulaNodes: TRbwParser;
Published rparserThreeDFormulaElements: TRbwParser;
Published rparserThreeDFormulaNodes: TRbwParser;
Published rparserTopFormulaElements: TRbwParser;
Published rparserTopFormulaNodes: TRbwParser;
Published seBoundaryTimes: TJvSpinEdit;
Published seWellIntervals: TJvSpinEdit;
Published shpFillColor: TShape;
Published shpLineColor: TShape;
Published splitterWell: TSplitter;
Published tabBoundaries: TTabSheet;
Published tabBoundaryFlux: TJvStandardPage;
Published tabBoundaryLeaky: TJvStandardPage;
Published tabBoundaryNone: TJvStandardPage;
Published tabBoundaryRiver: TJvStandardPage;
Published tabBoundarySpecifiedHead: TJvStandardPage;
Published tabBoundaryWell: TJvStandardPage;
Published tabDataSets: TTabSheet;
Published tabNodes: TTabSheet;
Published tabProperties: TTabSheet;
Private FCHD_Node: TJvPageIndexNode;
Private FGHB_Node: TJvPageIndexNode;
Private FWEL_Node: TJvPageIndexNode;
Private FRIV_Node: TJvPageIndexNode;
Private FDRN_Node: TJvPageIndexNode;
Private FDRT_Node: TJvPageIndexNode;
Private FRCH_Node: TJvPageIndexNode;
Private FEVT_Node: TJvPageIndexNode;
Private FETS_Node: TJvPageIndexNode;
Private FRES_Node: TJvPageIndexNode;
Private FLAK_Node: TJvPageIndexNode;
Private FMNW2_Node: TJvPageIndexNode;
Private FSFR_Node: TJvPageIndexNode;
Private FUZF_Node: TJvPageIndexNode;
Private FChob_Node: TJvPageIndexNode;
Private FDrob_Node: TJvPageIndexNode;
Private FGbob_Node: TJvPageIndexNode;
Private FRvob_Node: TJvPageIndexNode;
Private FGage_Node: TJvPageIndexNode;
Private FMt3dmsSsm_Node: TJvPageIndexNode;
Private FMt3dmsTobConc_Node: TJvPageIndexNode;
Private FMt3dmsTobFlux_Node: TJvPageIndexNode;
Private FBoundaryCol: integer;
Private FBoundaryGrid: TRbwDataGrid4;
Private FBoundaryPhastInterpolationList: TObjectList;
Private FBoundaryRow: integer;
Private FHighZFormula: TExpression;
Private FInitialWidth: integer;
Private FIsLoaded: boolean;
Private FLowZFormula: TExpression;
Private FMultipleScreenObjects: boolean;
Private FNewProperties: TScreenObjectEditCollection;
Private FOldMixFormula: string;
Private FOldProperties: TScreenObjectEditCollection;
Private FPriorModelUpToDate: boolean;
Private FScreenObject: TScreenObject;
Private FScreenObjectList: TList;
Private FSetCellsColor: boolean;
Private FUndoSetScreenObjectProperties: TUndoSetScreenObjectProperties;
Private FViewDirection: TViewDirection;
Private FZFormula: TExpression;
Private FStoredCanSetPoints: boolean;
Private FCanSetPointsOutOfDate: Boolean;
Private FDataEdits: TList;
Private FFillingDataSetTreeView: Boolean;
Private FCurrentEdit: TScreenObjectDataEdit;
Private FUpdatingCurrentEdit: Boolean;
Private FFormulaEdit: TScreenObjectDataEdit;
Private FSelectedDataArrayName: string;
Private FHOB_Node: TJvPageIndexNode;
Private FHFB_Node: TJvPageIndexNode;
Private FHydmod_Node: TJvPageIndexNode;
Private FDeletingPhastTime: Boolean;
Private FPriorElevationCount: integer;
Private FModpath_Node: Pointer;
Private FCanFillTreeView: Boolean;
Private FSettingVerticies: Boolean;
Private FVertexRowCount: Integer;
Private FFilledDataSetTreeView: Boolean;
Private FChildModels: TList;
Private FChildModelsScreenObjects: TList;
Private FSutraObs_Node: TJvPageIndexNode;
Private FSutraSpecPressure_Node: TJvPageIndexNode;
Private FSutraSpecTempConc_Node: TJvPageIndexNode;
Private FSutraFluidFlux_Node: TJvPageIndexNode;
Private FSutraMassEnergyFlux_Node: TJvPageIndexNode;

Methods

Implicit procedure jvtlModflowBoundaryNavigatorMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Implicit procedure frameChdParamdgModflowBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);
Implicit procedure dgVerticiesBeforeDrawCell(Sender: TObject; ACol, ARow: Integer);
Implicit procedure frameChdParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameChdParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameGhbParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure comboGhbConductanceInterpChange(Sender: TObject);
Implicit procedure frameWellParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameWellParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameRivParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameRivParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameDrnParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameDrnParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure comboDrtLocationChoiceChange(Sender: TObject);
Implicit procedure frameDrtParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameDrtParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure rdeDrtLocationControlExit(Sender: TObject);
Implicit procedure frameRchParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameRchParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameEvtParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameEvtParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameEtsParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameEtsParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameResdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameLakdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameLakrdeLakeIDChange(Sender: TObject);
Implicit procedure frameLakrdeInitialStageChange(Sender: TObject);
Implicit procedure frameLakrdeSillChange(Sender: TObject);
Implicit procedure frameLakrdeCenterLakeChange(Sender: TObject);
Implicit procedure frameResdgModflowBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);
Implicit procedure frameEtsParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameDrnParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameDrtParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameEvtParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameGhbParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameRchParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameRivParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure frameWellParamclbParametersStateChange(Sender: TObject; Index: Integer);
Implicit procedure FormShow(Sender: TObject);
Implicit procedure frameScreenObjectSFRjceButtonClick(Sender: TObject);
Implicit procedure frameScreenObjectUZFdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure cbUzfGage1Click(Sender: TObject);
Implicit procedure cbUzfGage2Click(Sender: TObject);
Implicit procedure cbUzfGage3Click(Sender: TObject);
Implicit procedure comboDrtReturnObjectChange(Sender: TObject);
Implicit procedure frameScreenObjectSFRpcSFRChange(Sender: TObject);
Implicit procedure jvplModflowBoundariesChange(Sender: TObject);
Implicit procedure frameLakcbGagStandardClick(Sender: TObject);
Implicit procedure frameLakcbGagFluxAndCondClick(Sender: TObject);
Implicit procedure frameLakcbGagDeltaClick(Sender: TObject);
Implicit procedure tvDataSetsChange(Sender: TObject; Node: TTreeNode);
Implicit procedure btnDataSetFormulaClick(Sender: TObject);
Implicit procedure reDataSetFormulaEnter(Sender: TObject);
Implicit procedure tvDataSetsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Implicit procedure reDataSetFormulaChange(Sender: TObject);
Implicit procedure reDataSetFormulaExit(Sender: TObject);
Implicit procedure frameHfbBoundarybtnEditHfbHydraulicConductivityFormulaClick( Sender: TObject);
Implicit procedure frameHfbBoundarybtnEditHfbThicknessyFormulaClick(Sender: TObject);
Implicit procedure dgBoundaryFluxDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure dgBoundaryLeakyDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure dgBoundaryRiverDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure dgSpecifiedHeadDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure dgWellDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure dgWellElevationsDistributeTextProgress(Sender: TObject; Position, Max: Integer);
Implicit procedure frameGhbParamcomboFormulaInterpChange(Sender: TObject);
Implicit procedure frameChdParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameWellParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameDrnParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameDrtParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameEtsParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameEvtParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameGhbParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameLakdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameRchParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameResdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameRivParamdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameScreenObjectUZFdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameIfacerbHorizontalClick(Sender: TObject);
Implicit procedure frameModpathParticlesrgChoiceClick(Sender: TObject);
Implicit procedure frameModpathParticlesgbParticlesCheckBoxClick(Sender: TObject);
Implicit procedure frameModpathParticlescbLeftFaceClick(Sender: TObject);
Implicit procedure frameModpathParticlesseXChange(Sender: TObject);
Implicit procedure frameModpathParticlesrgCylinderOrientationClick(Sender: TObject);
Implicit procedure frameModpathParticlesseSpecificParticleCountChange( Sender: TObject);
Implicit procedure frameModpathParticlesrdgSpecificSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameModpathParticlesseTimeCountChange(Sender: TObject);
Implicit procedure frameModpathParticlesseCylRadiusClick(Sender: TObject);
Implicit procedure frameChdParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameDrnParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameDrtParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameEtsParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameEvtParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameGhbParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameLakseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameRchParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameResseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameRivParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameScreenObjectUZFseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameWellParamseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameCHOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure frameCHOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameDROBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure frameDROBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameGBOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure frameGBOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameRVOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure frameRVOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure rdgImportedDataSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameScreenObjectSFRrdgNetworkButtonClick(Sender: TObject; ACol, ARow: Integer);
Implicit procedure frameFluxObsbtnAddOrRemoveFluxObservationsClick(Sender: TObject);
Implicit procedure jvtlModflowBoundaryNavigatorChanging(Sender: TObject; Node: TTreeNode; var AllowChange: Boolean);
Implicit procedure jvtlModflowBoundaryNavigatorCustomDrawItem( Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
Implicit procedure cbGageStandardClick(Sender: TObject);
Implicit procedure frameHeadObservationsrdgHeadsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
Implicit procedure btnCopyVerticesClick(Sender: TObject);
Implicit procedure dgVerticiesEndUpdate(Sender: TObject);
Implicit procedure frameLakcbGage4Click(Sender: TObject);
Implicit procedure FormClose(Sender: TObject; var Action: TCloseAction);
Implicit procedure frameMNW2pcMnw2Change(Sender: TObject);
Implicit procedure dgVerticiesStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure dgVerticiesEnter(Sender: TObject);
Implicit procedure frameHydmodclbBasicClickCheck(Sender: TObject);
Implicit procedure frameHydmodclbSubClickCheck(Sender: TObject);
Implicit procedure frameHydmodclbSFRClickCheck(Sender: TObject);
Implicit procedure clbChildModelsClickCheck(Sender: TObject);
Implicit procedure cbLgrAllModelsClick(Sender: TObject);
Implicit procedure clbLgrUsedModelsClickCheck(Sender: TObject);
Implicit procedure cbLockClick(Sender: TObject);
Implicit procedure frameMT3DMSdgModflowBoundaryEndUpdate(Sender: TObject);
Implicit procedure frameMT3DMSdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameMT3DMSseNumberOfTimesChange(Sender: TObject);
Implicit procedure frameMT3DMScbSpecifiedConcentrationClick(Sender: TObject);
Implicit procedure frameMT3DMScbMassLoadingClick(Sender: TObject);
Implicit procedure frameMt3dmsTobConcrdgObservationsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameMt3dmsTobConcseTimesChange(Sender: TObject);
Implicit procedure frameHeadObservationsseTimesChange(Sender: TObject);
Implicit procedure frameMt3dmsFluxObsrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Implicit procedure frameMt3dmsFluxObsrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Implicit procedure frameHydmodcomboLayerGroupChange(Sender: TObject);
Implicit procedure frameHydmodcomboNoDelayBedChange(Sender: TObject);
Implicit procedure jvpltvSutraFeaturesMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Implicit procedure frameSutraObservationsbtnDeleteClick(Sender: TObject);
Implicit procedure frameSutraObservationsbtnInsertClick(Sender: TObject);
Implicit procedure frameSutraObservationsedNameExit(Sender: TObject);
Implicit procedure SutraBoundaryButtonClick( Sender: TObject; ACol, ARow: Integer);
Implicit procedure cbDuplicatesAllowedClick(Sender: TObject);
Published procedure btnCancelClick(Sender: TObject);
Published procedure btnColorClick(Sender: TObject);
Published procedure btnFormulaClick(Sender: TObject);
Published procedure btnOKClick(Sender: TObject);
Published procedure cbEnclosedCellsClick(Sender: TObject);
Published procedure cbFillColorClick(Sender: TObject);
Published procedure cbInterpolationClick(Sender: TObject);
Published procedure cbIntersectedCellsClick(Sender: TObject);
Published procedure cbLineColorClick(Sender: TObject);
Published procedure cbSetGridCellSizeClick(Sender: TObject);
Published procedure cbWellPumpAllocationClick(Sender: TObject);
Published procedure comboSolutionTypeChange(Sender: TObject);
Published procedure comboWellIntervalStyleChange(Sender: TObject);
Published procedure dgBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);
Published procedure dgBoundaryDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
Published procedure dgBoundaryRowMoving(Sender: TObject; const Origin, Destination: Integer; var CanMove: Boolean);
Published procedure dgBoundarySelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
Published procedure dgBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Published procedure dgBoundaryStateChanged(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
Published procedure dgWellElevationsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
Published procedure edHighZExit(Sender: TObject);
Published procedure edLeakyHydraulicConductivityExit(Sender: TObject);
Published procedure edLowZExit(Sender: TObject);
Published procedure edNameExit(Sender: TObject);
Published procedure edRiverDescriptonExit(Sender: TObject);
Published procedure edRiverExit(Sender: TObject);
Published procedure edWellExit(Sender: TObject);
Published procedure edZExit(Sender: TObject);
Published procedure FormCreate(Sender: TObject); override;
Published procedure FormDestroy(Sender: TObject); override;
Published procedure FormResize(Sender: TObject);
Published procedure framePhastInterpolationBoundariescbPhastInterpolationClick(Sender: TObject);
Published procedure framePhastInterpolationBoundariesedMixFormulaExit( Sender: TObject);
Published procedure framePhastInterpolationBoundariesExit(Sender: TObject);
Published procedure framePhastInterpolationBoundariesrdeDistance1Exit(Sender: TObject);
Published procedure framePhastInterpolationBoundariesrdeDistance2Exit(Sender: TObject);
Published procedure framePhastInterpolationBoundariesrdeValue1Exit(Sender: TObject);
Published procedure framePhastInterpolationBoundariesrdeValue2Exit(Sender: TObject);
Published procedure framePhastInterpolationBoundariesrgInterpolationDirectionClick( Sender: TObject);
Published procedure framePhastInterpolationDatabtnEditMixtureFormulaClick( Sender: TObject);
Published procedure framePhastInterpolationDatacbPhastInterpolationClick(Sender: TObject);
Published procedure framePhastInterpolationDataedMixFormulaEnter( Sender: TObject);
Published procedure framePhastInterpolationDataedMixFormulaExit(Sender: TObject);
Published procedure framePhastInterpolationDatardeDistance1Exit(Sender: TObject);
Published procedure framePhastInterpolationDatardeDistance2Exit(Sender: TObject);
Published procedure framePhastInterpolationDatardeValue1Exit(Sender: TObject);
Published procedure framePhastInterpolationDatardeValue2Exit(Sender: TObject);
Published procedure framePhastInterpolationDatargInterpolationDirectionClick(Sender: TObject);
Published procedure pcPhastBoundariesChange(Sender: TObject);
Published procedure pageMainChange(Sender: TObject);
Published procedure rdeGridCellSizeExit(Sender: TObject);
Published procedure rgBoundaryTypeClick(Sender: TObject);
Published procedure rgElevationCountClick(Sender: TObject);
Published procedure rgEvaluatedAtClick(Sender: TObject);
Published procedure seBoundaryTimesChange(Sender: TObject);
Published procedure seWellIntervalsChange(Sender: TObject);
Published procedure splitterBoundaryMoved(Sender: TObject);
Private Function GenerateNewDataSetFormula(DataArray: TDataArray): string;
Private procedure AssignNewDataSetFormula(DSIndex: Integer; const NewFormula: string);
Private procedure AssignPhastInterpolation(DataArray: TDataArray);
Private function PhastBoundaryIsIdentical(const Grid: TRbwDataGrid4; const UsedTimes: TRealList; const Boundary: TCustomPhastBoundaryCollection; const ExpressionCol, PhastInterpolateCol: integer): boolean;
Private procedure CheckForCircularReference(const Expression: TExpression; const DSetName: string; const EditIndex: integer; const OldFormulaOK: boolean; const OldFormula: string);
Private procedure CheckForCircularReferencesInMixtureFormulas( var Expression: TExpression; const DSName, OldFormula: string; const EditIndex: integer);
Private procedure CreateBoundaryFormula(const DataGrid: TRbwDataGrid4; const ACol, ARow: integer; Formula: string; const Orientation: TDataSetOrientation; const EvaluatedAt: TEvaluatedAt);
Private procedure CreateFormula(const DataSetIndex: integer; const NewFormula: string; const ShowError: boolean = True);
Private function CreateMixtureFormula(const DataSetIndex: integer): TExpression;
Private procedure CreateVariable(const Edit: TScreenObjectDataEdit);
Private procedure EmphasizeValueChoices;
Private procedure EnableOK_Button;
Private procedure FillPropertyCollection(Collection: TScreenObjectEditCollection; List: TList);
Private procedure GetAvailableParameters;
Private procedure GetAvailableTimes;
Private procedure GetBoundaryTimes( const Boundaries: array of TCustomPhastBoundaryCollection; const Times: TRealList);
Private function GetCompiler(const Orientation: TDataSetOrientation; const EvaluatedAt: TEvaluatedAt): TRbwParser;
Private function GetCompilerByIndex(const Index: integer): TRbwParser;
Private function GetDataSetIndexByName(const DataSetName: string): integer;
Private function GetElevationCompiler: TRbwParser;
Private procedure GetListOfOkVariables(EvaluatedAt: TEvaluatedAt; Orientation: TDataSetOrientation; VariableList: TList; DataSetIndex: Integer; DSEdit: TScreenObjectDataEdit);
Private procedure InitializeControls(AScreenObject: TScreenObject);
Private procedure InitializeGridObjects;
Private procedure ResetFluxGrid;
Private procedure ResetLeakyGrid;
Private procedure ResetRiverGrid;
Private procedure ResetSpecifiedHeadGrid;
Private procedure ResetWellElevationGrid;
Private procedure ResetWellGrid;
Private procedure SelectBoundaryCell;
Private procedure SetCheckBoxCaptions;
Private procedure SetData;
Private procedure SetIsLoaded(const Value: boolean);
Private procedure SetMultipleScreenObjectData;
Private procedure SetMultipleScreenObjects(const Value: boolean);
Private procedure ShowOrHideTabs;
Private procedure StoreInterpolatedBoundary(Boundary: TCustomInterpolatedBoundary; DataGrid: TRbwDataGrid4);
Private procedure StoreNonInterpolatedBoundary( Boundary: TCustomInterpolatedBoundary; DataGrid: TRbwDataGrid4);
Private procedure StorePhastBoundary;
Private procedure StorePhastLeakyBoundary;
Private procedure StorePhastRiverBoundary;
Private procedure StorePhastSpecifiedFlux;
Private procedure StorePhastSpecifiedHeads;
Private procedure StorePhastWellBoundary;
Private function TimesIdentical(const Grid: TRbwDataGrid4; const UsedTimes: TRealList; const TimeCol: integer): boolean;
Private procedure ValidateEdFormula(const Ed: TEdit);
Private procedure FillDataSetsTreeView(ListOfScreenObjects: TList);
Private function AssignPoint(const Row: integer; out APoint: TPoint2D): boolean;
Private procedure StoreChdBoundary;
Private procedure GetChdBoundary(ScreenObjectList: TList);
Private procedure StoreGhbBoundary;
Private procedure GetGhbBoundary(ScreenObjectList: TList);
Private procedure StoreWellBoundary;
Private procedure GetWellBoundary(ScreenObjectList: TList);
Private procedure GetRivBoundary(ScreenObjectList: TList);
Private procedure StoreRivBoundary;
Private procedure GetDrnBoundary(ScreenObjectList: TList);
Private procedure StoreDrnBoundary;
Private procedure GetDrtBoundary(ScreenObjectList: TList);
Private procedure StoreDrtBoundary;
Private procedure StoreRchBoundary;
Private procedure GetRchBoundary(ScreenObjectList: TList);
Private function GetBoundaryValues(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetRechargeLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetEvapLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetEvapSurfaceDepth(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private procedure GetEvtBoundary(ScreenObjectList: TList);
Private procedure StoreEvtBoundary;
Private procedure GetEtsBoundary(ScreenObjectList: TList);
Private function GetEtsLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetEtsSurfaceDepth( Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private procedure StoreEtsBoundary;
Private procedure GetResBoundary(ScreenObjectList: TList);
Private procedure GetReservoirBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
Private procedure StoreResBoundary;
Private procedure GetGlobalVariables;
Private procedure GetLakBoundary(ScreenObjectList: TList);
Private procedure GetLakeBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
Private procedure StoreLakBoundary;
Private procedure StoreUzfBoundary;
Private procedure GetUzfBoundary(ScreenObjectList: TList);
Private function GetUzfEtRate(Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetUzfInfiltrationRate( Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetUzfEtExtinctionDepth( Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private function GetUzfEtExtinctionWaterContent( Boundary: TModflowBoundary): TCustomMF_BoundColl;
Private procedure UpdateSfrNode(Sender: TObject);
Private procedure ValidateDataSetFormula(ShowError: boolean = True);
Private procedure UpdateDataSetLinkages(const Expression: TExpression; const DataSetIndex: integer; const DSName: string);
Private procedure CheckIfDataSetCanBeEdited(var CanEdit: boolean; Edit: TScreenObjectDataEdit; ListOfScreenObjects: TList);
Private procedure GetHeadObservations(const ScreenObjectList: TList);
Private procedure CreateHobNode(AScreenObject: TScreenObject);
Private procedure GetHfbBoundary(const ScreenObjectList: TList);
Private procedure CreateHfbNode(AScreenObject: TScreenObject);
Private procedure CreateModpathNode;
Private procedure StoreModPath;
Private procedure CreateChobNode;
Private procedure CreateDrobNode;
Private procedure CreateGbobNode;
Private procedure CreateRvobNode;
Private procedure CreateMt3dmsSsmNode;
Private procedure GetDrainFluxObservations(const AScreenObjectList: TList);
Private procedure GetGhbFluxObservations(const AScreenObjectList: TList);
Private procedure GetRiverFluxObservations(const AScreenObjectList: TList);
Private procedure CreateGageNode;
Private procedure GetGages(ListOfScreenObjects: TList);
Private procedure SetGages(List: TList);
Private procedure CreateMnw2Node;
Private procedure GetMnw2Boundary(const ScreenObjectList: TList);
Private procedure Mnw2Changed(Sender: TObject);
Private procedure CreateHydmodNode(AScreenObject: TScreenObject);
Private procedure GetHydmod(const ScreenObjectList: TList);
Private procedure GetChildModels(const ScreenObjectList: TList);
Private procedure UpdateNonParamCheckBox(Frame: TframeScreenObjectParam; ParamCol, ACol, ARow: Integer; const Value: string);
Private procedure GetMt3dmsChemBoundary(ScreenObjectList: TList);
Private procedure GetMt3dmsBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
Private procedure StoreMt3dmsChemBoundary;
Private procedure CreateMt3dmsTobConcNode(AScreenObject: TScreenObject);
Private procedure GetMt3dConcObservations(const ScreenObjectList: TList);
Private procedure GetMt3dmsFluxObservations(const AScreenObjectList: TList);
Private procedure CreateMt3dmsTobFluxNode;
Private procedure SetMt3dFluxObs(List: TList);
Private procedure CreateSutraObsNode;
Private procedure ActivateSutraFeature(Sender: TObject; CheckState: TCheckBoxState);
Private procedure CreateSutraSpecPressNode;
Private procedure CreateSutraSpecTempConcNode;
Private procedure CreateSutraFluidFluxNode;
Private procedure CreateSutraMassEnergyFluxNode;
Private procedure SetSelectedSutraBoundaryNode;
Private procedure GetDuplicatesAllowedForAdditionalObject( AScreenObject: TScreenObject);
Private function CanSetPoints: Boolean;
Private procedure InitializeModflowBoundaryFrames(const AScreenObject: TScreenObject);
Private procedure StoreModflowBoundary(Frame: TframeScreenObjectParam; ParamType: TParameterType; Node: TJvPageIndexNode);
Private procedure GetModflowBoundary(Frame: TframeScreenObjectParam; Parameter: TParameterType; ScreenObjectList: TList; Node: TJvPageIndexNode);
Private procedure StoreFormulaInterpretation(Frame: TframeScreenObjectCondParam; ParamType: TParameterType);
Private procedure GetFormulaInterpretation(Frame: TframeScreenObjectCondParam; Parameter: TParameterType; ScreenObjectList: TList);
Private procedure GetModflowBoundaries(const AScreenObjectList: TList);
Private procedure StoreModflowBoundaryParameters(Boundary: TModflowParamBoundary; Times: TTimeArray; Frame: TframeScreenObjectParam);
Private procedure StoreModflowBoundaryValues(Frame: TframeScreenObjectNoParam; Times: TTimeArray; Boundary: TModflowBoundary);
Private procedure StoreMF_BoundColl(ColumnOffset: Integer; BoundaryValues: TCustomMF_BoundColl; const Times: TTimeArray; Frame: TframeScreenObjectNoParam);
Private procedure GetMF_BoundaryTimes(var Times: TTimeArray; Frame: TframeScreenObjectNoParam);
Private procedure GetModflowBoundaryParameters(Parameter: TParameterType; ScreenObjectList: TList; Frame: TframeScreenObjectParam; TimeList: TParameterTimeList);
Private procedure GetModflowBoundaryValues(Parameter: TParameterType; ScreenObjectList: TList; TimeList: TParameterTimeList; DataGrid: TRbwDataGrid4);
Private procedure GetModflowBoundaryTimes(ScreenObjectList: TList; Parameter: TParameterType; TimeList: TParameterTimeList);
Private procedure GetModflowBoundaryCollection(DataGrid: TRbwDataGrid4; ValuesFunction: TGetBoundaryCollectionEvent; ColumnOffset: Integer; ScreenObjectList: TList; Parameter: TParameterType; TimeList: TParameterTimeList);
Private function DataSetsSpecified: Boolean;
Private Function GetSfrParser(Sender: TObject): TRbwParser;
Private procedure GetUzfCollection(TimeList: TParameterTimeList; ScreenObjectList: TList; ColumnOffset: Integer; DataGrid: TRbwDataGrid4; Method: TGetBoundaryCollectionEvent);
Private procedure UpdateBoundaryState(Boundary: TModflowScreenObjectProperty; ScreenObjectIndex: Integer; var State: TCheckBoxState);
Private procedure GetSfrBoundary(const ScreenObjectList: TList);
Private function ShouldStoreBoundary(Node: TJvPageIndexNode; Boundary: TModflowBoundary): boolean;
Private procedure UpdateNodeState(Node: TJvPageIndexNode);
Private procedure CreateChdNode;
Private procedure CreateGhbNode;
Private procedure CreateWelNode;
Private procedure CreateRivNode;
Private procedure CreateDrnNode;
Private procedure CreateDrtNode;
Private procedure CreateRchNode(AScreenObject: TScreenObject);
Private procedure CreateEvtNode(AScreenObject: TScreenObject);
Private procedure CreateEtsNode(AScreenObject: TScreenObject);
Private procedure CreateResNode(AScreenObject: TScreenObject);
Private procedure CreateLakNode;
Private procedure CreateSfrNode(AScreenObject: TScreenObject);
Private procedure CreateUzfNode;
Private procedure SetSelectedMfBoundaryNode;
Private procedure InitializeVertexGrid;
Private procedure InitializePhastSpecifiedHeadGrid;
Private procedure InitializePhastSpecifiedFluxGrid;
Private procedure InitializePhastLeakyBoundaryGrid;
Private procedure InitializePhastRiverBoundaryGrid;
Private procedure InitializePhastWellGrid;
Private procedure SetColWidthsInPhastBoundaryGrids;
Private procedure InitializePhastBoundaryControls;
Private procedure GetPhastBoundariesForSingleObject;
Private procedure GetPhastFluxBoundaryForSingleObject(UsedTimes: TRealList);
Private procedure GetPhastLeakyBoundaryForSingleObject(UsedTimes: TRealList);
Private procedure GetPhastRiverBoundaryForSingleObject(UsedTimes: TRealList);
Private procedure GetPhastSpecifiedHeadBoundaryForSingleObject( UsedTimes: TRealList);
Private procedure GetPhastWellBoundaryForSingleObject(UsedTimes: TRealList);
Private procedure GetScreenObjectVerticies;
Private procedure SetZLabelCaptions;
Private procedure GetPhastBoundaryConditionsForAdditionalObjects( AScreenObject: TScreenObject; var TempType: TPhastBoundaryTypes);
Private procedure GetPhastSpecifiedHeadBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
Private procedure GetPhastSpecifiedFluxBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
Private procedure GetPhastLeakyBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
Private procedure GetPhastRiverBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
Private procedure GetPhastWellBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
Private procedure GetElevationFormulasForAdditionalObject( AScreenObject: TScreenObject);
Private procedure GetDataSetsForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetCellSizeUsedForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetColorDataForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetAssignmentMethodForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetEvaluatedAtForAdditionalObject(AScreenObject: TScreenObject);
Private procedure SetScreenObjectVerticies;
Private procedure GetDataSetsForSingleObject;
Private procedure SetGridCellSizeDataForSingleObject;
Private procedure SetElevationDataForSingleObject;
Private procedure GetColorDataForSingleObject;
Private procedure GetAssignmentMethodForSingleObject;
Private procedure AddGisFunctionsToAllParsers;
Private procedure CreateDataSetEdits(ListOfScreenObjects: TList);
Private procedure FillCompilerList(CompilerList: TList);
Private procedure CheckIfDataSetUsedInElevationFormula(var CreateNode: Boolean; DataSet: TDataArray; ElevationFormula: string; Ed: TRbwEdit);
Private procedure UpdateCurrentEdit;
Private procedure UpdateScreenObjectData;
Private procedure InvalidateAllDataSets;
Private procedure UpdateDataSetTreeViewNodeStates;
Private procedure SetSelectedName;
Private procedure AssignHfbFormulas(Ed: TEdit);
Private procedure DisableAllowGrayed(CheckBox: TCheckBox);
Private procedure SetDisabledElevationFormulas(FirstScreenObject: TScreenObject);
Private procedure AssignImportedValuesColumn(var First: boolean; var ColIndex: Integer; ValueStorage: TValueArrayStorage; const ColumnCaption: string);
Private function GetCoordinateCaption(const AScreenObject: TScreenObject): string;
Private function GetHigherCoordinateCaption(const AScreenObject: TScreenObject): string;
Private function GetLowerCoordinateCaption(const AScreenObject: TScreenObject): string;
Private procedure AssignConductanceCaptions(Frame: TframeScreenObjectCondParam; Boundary: TSpecificModflowBoundary);
Private procedure GetIFaceForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetModpathParticles(ListOfScreenObjects: TList);
Private procedure GetFluxObservationsForFrame(Node: TJvPageIndexNode; FluxObservations: TFluxObservationGroups; const AScreenObjectList: TList; FluxFrame: TframeFluxObs);
Private procedure GetHeadFluxObservations(const AScreenObjectList: TList);
Private procedure CreateFluxNode(var NewNode: TJvPageIndexNode; FluxPackage: TModflowPackageSelection; AFrame: TframeFluxObs; APage: TJvStandardPage; FluxObservations: TFluxObservationGroups);
Private procedure SetFluxObservations(List: TList; ANode: TJvPageIndexNode; AFrame: TframeFluxObs; FluxObservations: TFluxObservationGroups);
Private procedure SetAllFluxObservations(List: TList);
Private procedure GetNearestOutflowSegment(var NewText: string);
Private procedure GetNearestDiversionSegment(var NewText: string);
Private procedure GetFluxObservations(const AScreenObjectList: TList);
Private procedure SetGageNodeStateIndex;
Private procedure UpdateVertices;
Private procedure SetFrameData;
Private procedure UpdateVertexNumbers;
Private procedure UpdateSectionNumbers;
Private procedure SetupChildModelControls(AScreenObject: TScreenObject);
Private function CanSpecifyChildModels(AScreenObject: TScreenObject): Boolean;
Private procedure GetVertexValues;
Private procedure SetVertexValues(AScreenObject: TScreenObject);
Private procedure GetUsedLgrModels(const AScreenObject: TScreenObject);
Private procedure GetAdditionalUsedModels(const AScreenObjectList: TList);
Private procedure EnableChildModelList(AScreenObject: TScreenObject);
Private procedure FillChildModelList;
Private procedure GetPositionLockedForAdditionalObject(AScreenObject: TScreenObject);
Private procedure GetCanSelectNode(Node: TTreeNode; var AllowChange: Boolean);
Private function ShouldCreateSutraBoundary: Boolean;
Private procedure CreateSutraFeatureNodes;
Public procedure Initialize;
Public procedure ClearExpressionsAndVariables;
Public procedure GetData(const AScreenObject: TScreenObject);
Public procedure GetDataForMultipleScreenObjects(const AScreenObjectList: TList);

Properties

Private property IsLoaded: boolean read FIsLoaded write SetIsLoaded;
Private property MultipleScreenObjects: boolean read FMultipleScreenObjects write SetMultipleScreenObjects;

Description

Fields

Implicit tabModflowBoundaryConditions: TTabSheet;

tabModflowBoundaryConditions is the parent of controls related to MODFLOW packages.

Implicit jvtlModflowBoundaryNavigator: TJvPageListTreeView;
 
Implicit jvplModflowBoundaries: TJvPageList;
 
Implicit JvNetscapeSplitter1: TJvNetscapeSplitter;
 
Implicit jvspCHD: TJvStandardPage;
 
Implicit frameChdParam: TframeScreenObjectParam;
 
Implicit ilCheckImages: TImageList;

ilCheckImages stores the checkbox images for jvtlModflowBoundaryNavigator.

Implicit jvspGHB: TJvStandardPage;
 
Implicit frameGhbParam: TframeScreenObjectCondParam;
 
Implicit jvspWell: TJvStandardPage;
 
Implicit frameWellParam: TframeScreenObjectCondParam;
 
Implicit jvspRIV: TJvStandardPage;
 
Implicit frameRivParam: TframeScreenObjectCondParam;
 
Implicit jvspDRN: TJvStandardPage;
 
Implicit frameDrnParam: TframeScreenObjectCondParam;
 
Implicit jvspDRT: TJvStandardPage;
 
Implicit frameDrtParam: TframeScreenObjectCondParam;
 
Implicit pnlDrtLocation: TPanel;
 
Implicit comboDrtLocationChoice: TComboBox;
 
Implicit lblReturnLocationMethod: TLabel;
 
Implicit pcDrtReturnLChoice: TJvPageControl;
 
Implicit tabDrtNone: TTabSheet;
 
Implicit tabDrtObject: TTabSheet;
 
Implicit tabDrtLocation: TTabSheet;
 
Implicit tabDrtCell: TTabSheet;
 
Implicit comboDrtReturnObject: TComboBox;
 
Implicit rdeDrtX: TRbwDataEntry;
 
Implicit rdeDrtY: TRbwDataEntry;
 
Implicit rdeDrtZ: TRbwDataEntry;
 
Implicit lblDrtX: TLabel;
 
Implicit lblDrtY: TLabel;
 
Implicit lblDrtZ: TLabel;
 
Implicit lblDrtCol: TLabel;
 
Implicit lblDrtRow: TLabel;
 
Implicit lblDrtLay: TLabel;
 
Implicit rdeDrtLay: TRbwDataEntry;
 
Implicit rdeDrtRow: TRbwDataEntry;
 
Implicit rdeDrtCol: TRbwDataEntry;
 
Implicit jvspRCH: TJvStandardPage;
 
Implicit frameRchParam: TframeScreenObjectParam;
 
Implicit jvspBlank: TJvStandardPage;
 
Implicit jvspEVT: TJvStandardPage;
 
Implicit frameEvtParam: TframeScreenObjectParam;
 
Implicit jvspETS: TJvStandardPage;
 
Implicit frameEtsParam: TframeScreenObjectParam;
 
Implicit jvspRES: TJvStandardPage;
 
Implicit frameRes: TframeScreenObjectNoParam;
 
Implicit jvspLAK: TJvStandardPage;
 
Implicit frameLak: TframeScreenObjectLAK;
 
Implicit jvspSFR: TJvStandardPage;
 
Implicit frameScreenObjectSFR: TframeScreenObjectSFR;
 
Implicit jvspUZF: TJvStandardPage;
 
Implicit frameScreenObjectUZF: TframeScreenObjectNoParam;
 
Implicit pnlUzfGage: TPanel;
 
Implicit cbUzfGage1: TCheckBox;
 
Implicit cbUzfGage2: TCheckBox;
 
Implicit cbUzfGage3: TCheckBox;
 
Implicit pnlDataSets: TPanel;
 
Implicit JvNetscapeSplitter2: TJvNetscapeSplitter;
 
Implicit Panel1: TPanel;
 
Implicit lblDataSetFormula: TLabel;
 
Implicit btnDataSetFormula: TButton;

btnDataSetFormula is used to edit the formula of a data set when the user clicks the button in above reDataSetFormula.

Implicit Panel2: TPanel;
 
Implicit tvDataSets: TTreeView;
 
Implicit jvspHOB: TJvStandardPage;
 
Implicit frameHeadObservations: TframeHeadObservations;
 
Implicit jvspHFB: TJvStandardPage;
 
Implicit frameHfbBoundary: TframeHfbScreenObject;
 
Implicit jvplObjectInfo: TJvPageList;
 
Implicit jvspSingleObject: TJvStandardPage;
 
Implicit jvspMultipleObjects: TJvStandardPage;
 
Implicit lblNames: TLabel;
 
Implicit memoNames: TMemo;
 
Implicit tabImportedData: TTabSheet;
 
Implicit rdgImportedData: TRbwDataGrid4;
 
Implicit gbObjectInfo: TGroupBox;
 
Implicit lblObjectLength: TLabel;
 
Implicit edObjectLength: TEdit;
 
Implicit lblObjectArea: TLabel;
 
Implicit edObjectArea: TEdit;
 
Implicit lblObjectOrder: TLabel;
 
Implicit edObjectOrder: TEdit;
 
Implicit jvspModpath: TJvStandardPage;
 
Implicit frameIface: TframeIface;
 
Implicit frameModpathParticles: TframeModpathParticles;
 
Implicit jvspCHOB: TJvStandardPage;
 
Implicit frameCHOB: TframeFluxObs;
 
Implicit jvspDROB: TJvStandardPage;
 
Implicit frameDROB: TframeFluxObs;
 
Implicit jvspGBOB: TJvStandardPage;
 
Implicit frameGBOB: TframeFluxObs;
 
Implicit jvspRVOB: TJvStandardPage;
 
Implicit frameRVOB: TframeFluxObs;
 
Implicit Panel3: TPanel;
 
Implicit reDataSetComment: TRichEdit;
 
Implicit lblDataComment: TLabel;
 
Implicit lblAssociatedModelDataSets: TLabel;
 
Implicit reAssocModDataSets: TRichEdit;
 
Implicit jvspGAGE: TJvStandardPage;
 
Implicit gbGageObservationTypes: TGroupBox;
 
Implicit cbGageStandard: TCheckBox;
 
Implicit cbGage1: TCheckBox;
 
Implicit cbGage2: TCheckBox;
 
Implicit cbGage3: TCheckBox;
 
Implicit cbGage5: TCheckBox;
 
Implicit cbGage6: TCheckBox;
 
Implicit cbGage7: TCheckBox;
 
Implicit lblGageCaption: TLabel;
 
Implicit btnCopyVertices: TButton;
 
Implicit jvspMNW2: TJvStandardPage;
 
Implicit frameMNW2: TframeScreenObjectMNW2;
 
Implicit tabComments: TTabSheet;
 
Implicit memoComments: TMemo;
 
Implicit lblComments: TLabel;
 
Implicit jvspHYDMOD: TJvStandardPage;
 
Implicit frameHydmod: TframeScreenObjectHydmod;
 
Implicit tabLGR: TTabSheet;
 
Implicit tabVertexValues: TTabSheet;
 
Implicit rdgVertexValues: TRbwDataGrid4;
 
Implicit pnlLgrTop: TPanel;
 
Implicit pnlLgrBottom: TPanel;
 
Implicit clbChildModels: TJvxCheckListBox;
 
Implicit lblLgrChildModel: TLabel;
 
Implicit Splitter1: TSplitter;
 
Implicit lblObjectUsedWithModels: TLabel;
 
Implicit cbLgrAllModels: TCheckBox;
 
Implicit clbLgrUsedModels: TCheckListBox;
 
Implicit cbLock: TCheckBox;
 
Implicit jvspMT3DMS_SSM: TJvStandardPage;
 
Implicit frameMT3DMS_SSM: TframeScreenObjectSsm;
 
Implicit jvspMT3DMS_TOB_Conc: TJvStandardPage;
 
Implicit frameMt3dmsTobConc: TframeConcentrationObservation;
 
Implicit jvspMT3DMS_TOB_Flux: TJvStandardPage;
 
Implicit frameMt3dmsFluxObs: TframeMt3dmsFluxObs;
 
Implicit reDataSetFormula: TRichEdit;
 
Implicit tabSutraFeatures: TTabSheet;
 
Implicit jvplSutraFeatures: TJvPageList;
 
Implicit jvpltvSutraFeatures: TJvPageListTreeView;
 
Implicit splttrSutraFeatures: TJvNetscapeSplitter;
 
Implicit jvspSutraObservations: TJvStandardPage;
 
Implicit frameSutraObservations: TframeSutraObservations;
 
Implicit jvspSutraSpecifiedPressure: TJvStandardPage;
 
Implicit jvspSutraSpecTempConc: TJvStandardPage;
 
Implicit jvspSutraFluidFlux: TJvStandardPage;
 
Implicit jvspSutraMassEnergyFlux: TJvStandardPage;
 
Implicit frameSutraSpecifiedPressure: TframeSutraBoundary;
 
Implicit frameSutraSpecTempConc: TframeSutraBoundary;
 
Implicit frameSutraFluidFlux: TframeSutraBoundary;
 
Implicit frameSutraMassEnergyFlux: TframeSutraBoundary;
 
Implicit jvspSutraBlank: TJvStandardPage;
 
Implicit cbDuplicatesAllowed: TCheckBox;
 
Published btnCancel: TBitBtn;

Clicking btnCancel closes the TfrmScreenObjectProperties without changing anything. See btnCancelClick,

Published btnFillColor: TButton;

btnFillColor is used to change the color used to draw the interior of TScreenObjects. See btnColorClick

Published btnHelp: TBitBtn;

Clicking name displays help on the active page in pageMain.

Published btnHighZ: TButton;

btnHighZ is used to edit the formula for the higher elevation in edHighZ. See btnFormulaClick.

Published btnLeakyHydraulicConductivity: TButton;

btnLeakyHydraulicConductivity is used to edit the formula for the leaky hydraulic conductivity in edLeakyHydraulicConductivity. See btnFormulaClick.

Published btnLeakyThickness: TButton;

btnLeakyThickness is used to edit the formula for the thickness of the leaky boundary in edLeakyThickness. See btnFormulaClick.

Published btnLineColor: TButton;

btnLineColor is used to change the color used to draw the lines of TScreenObjects. See btnColorClick

Published btnLowZ: TButton;

btnLowZ is used to edit the formula for the lower elevation in edLowZ. See btnFormulaClick.

Published btnOK: TBitBtn;

See btnOKClick.

Published btnRiverBedThickness: TButton;

btnRiverBedThickness is used to edit the formula for the thickness of the bed in the river boundary in edRiverBedThickness. See btnFormulaClick.

Published btnRiverDepth: TButton;

btnRiverDepth is used to edit the formula for the depth of the river in the river boundary in edRiverDepth. See btnFormulaClick.

Published btnRiverHydraulicConductivity: TButton;

btnRiverHydraulicConductivity is used to edit the formula for the hydraulic conductivity of the river bed in the river boundary in edRiverHydraulicConductivity. See btnFormulaClick.

Published btnRiverWidth: TButton;

btnRiverWidth is used to edit the formula for the width of the river in the river boundary in edRiverWidth. See btnFormulaClick.

Published btnZ: TButton;

btnZ is used to edit the formula for the single elevation in edZ. See btnFormulaClick.

Published cbEnclosedCells: TCheckBox;

cbEnclosedCells specifies whether the values of cells or elements enclosed by the TScreenObject will be set by the TScreenObject .

See also
cbEnclosedCellsClick
cbEnclosedCellsClick marks all used TDataArrays affected by the TScreenObjects being edited as in need of updating when this check box is checked.
SetValuesOfEnclosedCells
If SetValuesOfEnclosedCells, the formula of the object for a particular data set will set the values of all elements or nodes in the data set that are located inside the object.
Published cbFillColor: TCheckBox;

cbFillColor specifies whether the interior of TScreenObjects will be colored. See cbFillColorClick.

Published cbInterpolation: TCheckBox;

cbInterpolation specifies whether the values of cells or elements will be set by interpolation using this TScreenObject. See cbInterpolationClick.

Published cbIntersectedCells: TCheckBox;

cbIntersectedCells: TCheckBox; cbIntersectedCells specifies whether the values of cells or elements intersected by the TScreenObject will be set by the TScreenObject See cbIntersectedCellsClick.

Published cbLineColor: TCheckBox;

cbLineColor specifies whether the lines of TScreenObjects will be colored. See cbLineColorClick.

Published cbSetGridCellSize: TCheckBox;

cbSetGridCellSize specifies whether this TScreenObject will be used to set the size of elements in the TPhastGrid. See cbSetGridCellSizeClick.

Published cbWellPumpAllocation: TCheckBox;

cbWellPumpAllocation specifies whether the well boundary condition specified by this TScreenObject will allocate pumping by pressure and mobility. See cbWellPumpAllocationClick.

Published coldlgColors: TColorDialog;

coldlgColors is used in btnColorClick to pick a color for the lines or interior of TScreenObjects.

Published comboSolutionType: TComboBox;

comboSolutionType is used to specify whether the solution in a specified state boundary is a specified solution or an associated solution. See comboSolutionTypeChange.

Published comboWellIntervalStyle: TComboBox;

comboWellIntervalStyle specifies whether the open intervals in a well boundary are specified in terms of absolute elevation or depth below a datum. See comboWellIntervalStyleChange.

Published dgBoundaryFlux: TRbwDataGrid4;

dgBoundaryFlux stores the PHAST specified flux boundary values.

Published dgBoundaryLeaky: TRbwDataGrid4;

dgBoundaryLeaky stores the PHAST leaky boundary values.

Published dgBoundaryRiver: TRbwDataGrid4;

dgBoundaryRiver stores the PHAST river boundary values.

Published dgSpecifiedHead: TRbwDataGrid4;

dgSpecifiedHead stores the PHAST specified head boundary values.

Published dgVerticies: TRbwDataGrid4;

dgVerticies stores the locations of the points for a single TScreenObject.

Published dgWell: TRbwDataGrid4;

dgWell stores the PHAST well boundary values.

Published dgWellElevations: TRbwDataGrid4;

dgWellElevations stores the PHAST well open interval elevations

Published edHighZ: TRbwEdit;

edHighZ holds the formula for the higher elevation formula. See edHighZExit. See btnHighZ and btnFormulaClick.

Published edLeakyHydraulicConductivity: TEdit;

edLeakyHydraulicConductivity holds the formula for the hydraulic conductivity of a leaky boundary. See edLeakyHydraulicConductivityExit and btnLeakyHydraulicConductivity.

Published edLeakyThickness: TEdit;

edLeakyThickness holds the formula for the thickness of a leaky boundary. See edLeakyHydraulicConductivityExit and btnLeakyThickness.

Published edLowZ: TRbwEdit;

edLowZ holds the formula for the lower of two elevations. See edLowZExit, btnLowZ and btnFormulaClick.

Published edName: TEdit;

edName holds the name of the TScreenObject. See edNameExit.

Published edRiverBedThickness: TEdit;

edRiverBedThickness holds the formula for the thickness of a river boundary. See edRiverExit and btnRiverBedThickness.

Published edRiverDepth: TEdit;

edRiverDepth holds the formula for the depth of a river boundary. See edRiverExit and btnRiverDepth.

Published edRiverDescripton: TEdit;

edRiverDescripton holds the the name of a river boundary. See edRiverDescriptonExit.

Published edRiverHydraulicConductivity: TEdit;

edRiverHydraulicConductivity holds the formula for the hydraulic conductivity of a river boundary. See edRiverExit and btnRiverHydraulicConductivity.

Published edRiverWidth: TEdit;

edRiverWidth holds the formula for the width of a river boundary. See edRiverExit and btnRiverWidth.

Published edWellDescription: TEdit;

edWellDescription holds the the name of a well boundary. See edWellExit.

Published edZ: TRbwEdit;

edZ is for editing the ElevationFormula.

Published framePhastInterpolationBoundaries: TframePhastInterpolation;

framePhastInterpolationBoundaries is used to specify PHAST-style interpolation for boundary conditions. See TPhastInterpolationValues.

Published framePhastInterpolationData: TframePhastInterpolation;

framePhastInterpolationData is used to specify PHAST-style interpolation for TDataArrays. See TPhastInterpolationValues.

Published gbBoundaryPhastInterpolation: TGroupBox;

gbBoundaryPhastInterpolation holds and labels framePhastInterpolationBoundaries.

Published gbPhastInterpolation: TGroupBox;

gbPhastInterpolation holds and labels framePhastInterpolationData.

Published lblBoundaryTimes: TLabel;

lblBoundaryTimes displays "Number of times".

Published lblGridCellSize: TLabel;

lblGridCellSize displays "Grid element size".

Published lblHighZ: TLabel;

lblHighZ displays "Higher X-coordinate", "Higher Y-coordinate", or "Higher Z-coordinate". The text is changed in GetData depending the the TScreenObject.ViewDirection.

Published lblLeakyHydraulicConductivity: TLabel;

lblLeakyHydraulicConductivity displays "Hydraulic Conductivity".

Published lblLeakyThickness: TLabel;

lblLeakyThickness displays "Thickness".

Published lblLowZ: TLabel;

lblLowZ displays "Lower X-coordinate", "Lower Y-coordinate", or "Lower Z-coordinate". The text is changed in GetData depending the the TScreenObject.ViewDirection.

Published lblName: TLabel;

lblName displays "Name". It labels edName.

Published lblRiverBedThickness: TLabel;

lblRiverBedThickness displays "Bed Thickness".

Published lblRiverDepth: TLabel;

lblRiverDepth displays "Depth".

Published lblRiverDescripton: TLabel;

lblRiverDescripton displays "Name".

Published lblRiverHydraulicConductivity: TLabel;

lblRiverHydraulicConductivity displays "Hydraulic Conductivity".

Published lblRiverWidth: TLabel;

lblRiverWidth displays "Width".

Published lblSolutionType: TLabel;

lblSolutionType displays "Type of Solution".

Published lblWellDescription: TLabel;

lblWellDescription displays "Name".

Published lblWellDiameter: TLabel;

lblWellDiameter displays "Diameter".

Published lblWellIntervals: TLabel;

lblWellIntervals displays "Number of intervals".

Published lblWellIntervalStyle: TLabel;

lblWellIntervalStyle displays "Specify interval by".

Published lblWellLandSurfaceDatum: TLabel;

lblWellLandSurfaceDatum displays "Land surface datum".

Published lblZ: TLabel;

lblZ displays "X-coordinate", "Y-coordinate", or "Z-coordinate". The text is changed in GetData depending the the TScreenObject.ViewDirection.

Published pcPhastBoundaries: TJvPageList;

pcPhastBoundaries holds tabBoundaryNone, tabBoundarySpecifiedHead, tabBoundaryFlux, and tabBoundaryLeaky, tabBoundaryRiver, and tabBoundaryWell. See pcPhastBoundariesChange.

Published pageMain: TPageControl;

pageMain holds tabProperties, tabDataSets, tabBoundaries, and tabNodes. See pageMainChange.

Published pnlBottom: TPanel;

pnlBottom holds the buttons at the bottom of TfrmScreenObjectProperties.

Published pnlBoundaries: TPanel;

pnlBoundaries holds the controls on the left side of tabBoundaries.

Published pnlLeaky: TPanel;

pnlLeaky holds the controls on the top of tabBoundaryLeaky.

Published pnlRiver: TPanel;

pnlRiver holds the controls on the top of tabBoundaryRiver.

Published pnlSolutionType: TPanel;

pnlSolutionType holds the controls on the top of tabBoundarySpecifiedHead.

Published pnlWellBoundary: TPanel;

pnlWellBoundary holds the controls on the top of tabBoundaryWell.

Published rdeGridCellSize: TRbwDataEntry;

rdeGridCellSize is used to hold the size of elements in the TPhastGrid to be generated using the TScreenObject being edited in TfrmScreenObjectProperties.

Published rdeWellDiameter: TRbwDataEntry;

rdeWellDiameter is used to specify the diameter of a well in a well boundary. See edWellExit.

Published rdeWellLandSurfaceDatum: TRbwDataEntry;

rdeWellLandSurfaceDatum is used to specify the land surface data in a well boundary. See edWellExit.

Published rgBoundaryType: TRadioGroup;

rgBoundaryType is used to specify the type of boundary specified by the TScreenObject that is being edited. The items in rgBoundaryType must correspond to the elements in TBoundaryTypes. See rgBoundaryTypeClick.

Published rgElevationCount: TRadioGroup;

rgElevationCount is used to specify the number of elevations associated with the TScreenObject being edited. The items in rgElevationCount must correspond with the elements in TElevationCount. See rgElevationCountClick.

Published rgEvaluatedAt: TRadioGroup;

rgEvaluatedAt specifies whether the TScreenObject being edited is evaluated at elements or at nodes. The items in rgEvaluatedAt must correspond with the elements in TEvaluatedAt.

Published rparserFrontFormulaElements: TRbwParser;

rparserFrontFormulaElements is used to compile formulas that will be evaluated at elements for TDataArrays whose Orientation is dsoTop. See TDataSetOrientation. The primary purpose of rparserFrontFormulaElements is to ensure that formulas are valid.

Published rparserFrontFormulaNodes: TRbwParser;

rparserFrontFormulaNodes is used to compile formulas that will be evaluated at nodes for TDataArrays whose Orientation is dsoTop. See TDataSetOrientation. The primary purpose of rparserFrontFormulaNodes is to ensure that formulas are valid.

Published rparserSideFormulaElements: TRbwParser;

rparserSideFormulaElements is used to compile formulas that will be evaluated at elements for TDataArrays whose Orientation is dsoSide. See TDataSetOrientation. The primary purpose of rparserSideFormulaElements is to ensure that formulas are valid.

Published rparserSideFormulaNodes: TRbwParser;

rparserSideFormulaNodes is used to compile formulas that will be evaluated at nodes for TDataArrays whose Orientation is dsoSide. See TDataSetOrientation. The primary purpose of rparserSideFormulaNodes is to ensure that formulas are valid.

Published rparserThreeDFormulaElements: TRbwParser;

rparserThreeDFormulaElements is used to compile formulas that will be evaluated at elements for TDataArrays whose Orientation is dso3D. See TDataSetOrientation. The primary purpose of rparserThreeDFormulaElements is to ensure that formulas are valid.

Published rparserThreeDFormulaNodes: TRbwParser;

rparserThreeDFormulaNodes is used to compile formulas that will be evaluated at nodes for TDataArrays whose Orientation is dso3D. See TDataSetOrientation. The primary purpose of rparserThreeDFormulaNodes is to ensure that formulas are valid.

Published rparserTopFormulaElements: TRbwParser;

rparserTopFormulaElements is used to compile formulas that will be evaluated at elements for TDataArrays whose Orientation is dsoTop. See TDataSetOrientation. The primary purpose of rparserTopFormulaElements is to ensure that formulas are valid.

Published rparserTopFormulaNodes: TRbwParser;

rparserTopFormulaNodes is used to compile formulas that will be evaluated at nodes for TDataArrays whose Orientation is dsoTop. See TDataSetOrientation. The primary purpose of rparserTopFormulaNodes is to ensure that formulas are valid.

Published seBoundaryTimes: TJvSpinEdit;

seBoundaryTimes is used to specify how many times are associated with the boundary condition of the TScreenObject that is being edited. See seBoundaryTimesChange.

Published seWellIntervals: TJvSpinEdit;

seWellIntervals has the number of open intervals in a well boundary.

Published shpFillColor: TShape;

shpFillColor displays a preview of the color used to draw the interior of the TScreenObject that is being edited.

Published shpLineColor: TShape;

shpLineColor displays a preview of the color used to draw the lines of the TScreenObject that is being edited.

Published splitterWell: TSplitter;

splitterWell is used to change the relative sizes of dgWell and dgWellElevations on tabBoundaryWell.

Published tabBoundaries: TTabSheet;

tabBoundaries is used to hold controls related to boundary conditions on pageMain.

Published tabBoundaryFlux: TJvStandardPage;

tabBoundaryFlux is used to hold controls related to specified flux boundaries on pcPhastBoundaries.

Published tabBoundaryLeaky: TJvStandardPage;

tabBoundaryLeaky is used to hold controls related to leaky boundaries on pcPhastBoundaries.

Published tabBoundaryNone: TJvStandardPage;

tabBoundaryNone is used as a place-holder for TScreenObjects that do not specify any boundary condition on pcPhastBoundaries.

Published tabBoundaryRiver: TJvStandardPage;

tabBoundaryRiver is used to hold controls related to river boundaries on pcPhastBoundaries.

Published tabBoundarySpecifiedHead: TJvStandardPage;

tabBoundarySpecifiedHead is used to hold controls related to specified head boundaries on pcPhastBoundaries.

Published tabBoundaryWell: TJvStandardPage;

tabBoundaryWell is used to hold controls related to well boundaries on pcPhastBoundaries.

Published tabDataSets: TTabSheet;

tabDataSets is used to hold controls related to TDataArrays on pageMain.

Published tabNodes: TTabSheet;

tabNodes is used to hold controls related to the vertices of the TScreenObject being edited on pageMain.

Published tabProperties: TTabSheet;

tabProperties is used to hold controls related to miscellaneous properties on pageMain.

Private FCHD_Node: TJvPageIndexNode;
 
Private FGHB_Node: TJvPageIndexNode;
 
Private FWEL_Node: TJvPageIndexNode;
 
Private FRIV_Node: TJvPageIndexNode;
 
Private FDRN_Node: TJvPageIndexNode;
 
Private FDRT_Node: TJvPageIndexNode;
 
Private FRCH_Node: TJvPageIndexNode;
 
Private FEVT_Node: TJvPageIndexNode;
 
Private FETS_Node: TJvPageIndexNode;
 
Private FRES_Node: TJvPageIndexNode;
 
Private FLAK_Node: TJvPageIndexNode;
 
Private FMNW2_Node: TJvPageIndexNode;
 
Private FSFR_Node: TJvPageIndexNode;
 
Private FUZF_Node: TJvPageIndexNode;
 
Private FChob_Node: TJvPageIndexNode;
 
Private FDrob_Node: TJvPageIndexNode;
 
Private FGbob_Node: TJvPageIndexNode;
 
Private FRvob_Node: TJvPageIndexNode;
 
Private FGage_Node: TJvPageIndexNode;
 
Private FMt3dmsSsm_Node: TJvPageIndexNode;
 
Private FMt3dmsTobConc_Node: TJvPageIndexNode;
 
Private FMt3dmsTobFlux_Node: TJvPageIndexNode;
 
Private FBoundaryCol: integer;

FBoundaryCol is used to store the column that the user last selected in one of the grids for boundary-condition, time-varying stress. For boundary conditions that allow PHAST-style interpolation, FBoundaryCol is adjusted to be the column with the checkbox for turning on or off PHAST-style interpolation. See TPhastInterpolationValues.

Private FBoundaryGrid: TRbwDataGrid4;

FBoundaryGrid is the TRbwDataGrid4 that is being used to specify boundary conditions for the current TScreenObject. FBoundaryGrid is one of the following: Nil, dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, or dgWell.

Private FBoundaryPhastInterpolationList: TObjectList;

FBoundaryPhastInterpolationList holds TInterpValuesCollections. The TInterpValuesCollections are also stored in the Objects property of the related TRbwDataGrid4. FBoundaryPhastInterpolationList is used to ensure that they are destroyed when the TfrmScreenObjectProperties is destroyed.

Private FBoundaryRow: integer;

FBoundaryRow is the selected row in the grid used to specify boundary conditions for the current TScreenObject.

Private FHighZFormula: TExpression;

FHighZFormula is the TExpression that represents the formula in edHighZ. If FHighZFormula is Nil, btnOK.Enabled may be set to False.

Private FInitialWidth: integer;

FInitialWidth is set to Width - pnlBoundaries.Width in FormCreate. It is used in splitterBoundaryMoved and FormResize to make sure that the panels on pcPhastBoundaries don't get too small.

Private FIsLoaded: boolean;

FIsLoaded is used in event handlers to decide whether or not anything should be done.

Private FLowZFormula: TExpression;

FLowZFormula is the TExpression that represents the formula in edLowZ. If FLowZFormula is Nil, btnOK.Enabled may be set to False.

Private FMultipleScreenObjects: boolean;

See MultipleScreenObjects.

Private FNewProperties: TScreenObjectEditCollection;

FNewProperties is used to store a copy of the TScreenObjects being edited. Those TScreenObjects are then edited in TfrmScreenObjectProperties. They are used to set the properties of the TScreenObjects in TUndoSetScreenObjectProperties.DoCommand.

Private FOldMixFormula: string;

FOldMixFormula is set to framePhastInterpolationData.edMixFormula.Text framePhastInterpolationDataedMixFormulaEnter It is used in framePhastInterpolationDataedMixFormulaExit to restore the formula if the user enters an invalid formula.

Private FOldProperties: TScreenObjectEditCollection;

FOldProperties is used to store a copy of the TScreenObjects being edited. They are used to restore the properties of the TScreenObjects in TUndoSetScreenObjectProperties.Undo.

Private FPriorModelUpToDate: boolean;

FPriorModelUpToDate is set to frmGoPhast.Model.UpToDate in FormCreate. If btnCancel is clicked, frmGoPhast.Model.UpToDate is restored to FPriorModelUpToDate.

Private FScreenObject: TScreenObject;

If only a single TScreenObject is being edited, FScreenObject is that TScreenObject. If more than one is being edited, FScreenObject is Nil. ;

See also
FScreenObjectList
If multiple TScreenObjects are being editted, FScreenObjectList holds the TScreenObjects that are being edited.
Private FScreenObjectList: TList;

If multiple TScreenObjects are being editted, FScreenObjectList holds the TScreenObjects that are being edited. ;

See also
FScreenObject
If only a single TScreenObject is being edited, FScreenObject is that TScreenObject.
Private FSetCellsColor: boolean;

FSetCellsColor is set to True to indicate that the colors of the cells will need to be recalculated.

Private FUndoSetScreenObjectProperties: TUndoSetScreenObjectProperties;

FUndoSetScreenObjectProperties is used to set or undo the setting of the properties of a TScreenObject.

Private FViewDirection: TViewDirection;

FViewDirection is the TViewDirection of the TScreenObject(s) that are being edited.

Private FZFormula: TExpression;

FZFormula is the TExpression that represents the formula in edZ. If FZFormula is Nil, btnOK.Enabled may be set to False.

Private FStoredCanSetPoints: boolean;
 
Private FCanSetPointsOutOfDate: Boolean;
 
Private FDataEdits: TList;
 
Private FFillingDataSetTreeView: Boolean;
 
Private FCurrentEdit: TScreenObjectDataEdit;
 
Private FUpdatingCurrentEdit: Boolean;
 
Private FFormulaEdit: TScreenObjectDataEdit;
 
Private FSelectedDataArrayName: string;
 
Private FHOB_Node: TJvPageIndexNode;
 
Private FHFB_Node: TJvPageIndexNode;
 
Private FHydmod_Node: TJvPageIndexNode;
 
Private FDeletingPhastTime: Boolean;
 
Private FPriorElevationCount: integer;
 
Private FModpath_Node: Pointer;
 
Private FCanFillTreeView: Boolean;
 
Private FSettingVerticies: Boolean;
 
Private FVertexRowCount: Integer;
 
Private FFilledDataSetTreeView: Boolean;
 
Private FChildModels: TList;
 
Private FChildModelsScreenObjects: TList;
 
Private FSutraObs_Node: TJvPageIndexNode;
 
Private FSutraSpecPressure_Node: TJvPageIndexNode;
 
Private FSutraSpecTempConc_Node: TJvPageIndexNode;
 
Private FSutraFluidFlux_Node: TJvPageIndexNode;
 
Private FSutraMassEnergyFlux_Node: TJvPageIndexNode;
 

Methods

Implicit procedure jvtlModflowBoundaryNavigatorMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

jvtlModflowBoundaryNavigatorMouseDown changes which check image is displayed for the selected item in jvtlModflowBoundaryNavigator.

Implicit procedure frameChdParamdgModflowBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);
 
Implicit procedure dgVerticiesBeforeDrawCell(Sender: TObject; ACol, ARow: Integer);
 
Implicit procedure frameChdParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameChdParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameGhbParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure comboGhbConductanceInterpChange(Sender: TObject);
 
Implicit procedure frameWellParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameWellParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameRivParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameRivParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameDrnParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameDrnParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure comboDrtLocationChoiceChange(Sender: TObject);
 
Implicit procedure frameDrtParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameDrtParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure rdeDrtLocationControlExit(Sender: TObject);
 
Implicit procedure frameRchParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameRchParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameEvtParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameEvtParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameEtsParamdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameEtsParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameResdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameLakdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameLakrdeLakeIDChange(Sender: TObject);
 
Implicit procedure frameLakrdeInitialStageChange(Sender: TObject);
 
Implicit procedure frameLakrdeSillChange(Sender: TObject);
 
Implicit procedure frameLakrdeCenterLakeChange(Sender: TObject);
 
Implicit procedure frameResdgModflowBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);
 
Implicit procedure frameEtsParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameDrnParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameDrtParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameEvtParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameGhbParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameRchParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameRivParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure frameWellParamclbParametersStateChange(Sender: TObject; Index: Integer);
 
Implicit procedure FormShow(Sender: TObject);
 
Implicit procedure frameScreenObjectSFRjceButtonClick(Sender: TObject);
 
Implicit procedure frameScreenObjectUZFdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure cbUzfGage1Click(Sender: TObject);
 
Implicit procedure cbUzfGage2Click(Sender: TObject);
 
Implicit procedure cbUzfGage3Click(Sender: TObject);
 
Implicit procedure comboDrtReturnObjectChange(Sender: TObject);
 
Implicit procedure frameScreenObjectSFRpcSFRChange(Sender: TObject);
 
Implicit procedure jvplModflowBoundariesChange(Sender: TObject);
 
Implicit procedure frameLakcbGagStandardClick(Sender: TObject);
 
Implicit procedure frameLakcbGagFluxAndCondClick(Sender: TObject);
 
Implicit procedure frameLakcbGagDeltaClick(Sender: TObject);
 
Implicit procedure tvDataSetsChange(Sender: TObject; Node: TTreeNode);
 
Implicit procedure btnDataSetFormulaClick(Sender: TObject);
 
Implicit procedure reDataSetFormulaEnter(Sender: TObject);
 
Implicit procedure tvDataSetsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 
Implicit procedure reDataSetFormulaChange(Sender: TObject);
 
Implicit procedure reDataSetFormulaExit(Sender: TObject);
 
Implicit procedure frameHfbBoundarybtnEditHfbHydraulicConductivityFormulaClick( Sender: TObject);
 
Implicit procedure frameHfbBoundarybtnEditHfbThicknessyFormulaClick(Sender: TObject);
 
Implicit procedure dgBoundaryFluxDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure dgBoundaryLeakyDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure dgBoundaryRiverDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure dgSpecifiedHeadDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure dgWellDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure dgWellElevationsDistributeTextProgress(Sender: TObject; Position, Max: Integer);
 
Implicit procedure frameGhbParamcomboFormulaInterpChange(Sender: TObject);
 
Implicit procedure frameChdParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameWellParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameDrnParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameDrtParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameEtsParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameEvtParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameGhbParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameLakdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameRchParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameResdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameRivParamdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameScreenObjectUZFdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameIfacerbHorizontalClick(Sender: TObject);
 
Implicit procedure frameModpathParticlesrgChoiceClick(Sender: TObject);
 
Implicit procedure frameModpathParticlesgbParticlesCheckBoxClick(Sender: TObject);
 
Implicit procedure frameModpathParticlescbLeftFaceClick(Sender: TObject);
 
Implicit procedure frameModpathParticlesseXChange(Sender: TObject);
 
Implicit procedure frameModpathParticlesrgCylinderOrientationClick(Sender: TObject);
 
Implicit procedure frameModpathParticlesseSpecificParticleCountChange( Sender: TObject);
 
Implicit procedure frameModpathParticlesrdgSpecificSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameModpathParticlesseTimeCountChange(Sender: TObject);
 
Implicit procedure frameModpathParticlesseCylRadiusClick(Sender: TObject);
 
Implicit procedure frameChdParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameDrnParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameDrtParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameEtsParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameEvtParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameGhbParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameLakseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameRchParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameResseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameRivParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameScreenObjectUZFseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameWellParamseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameCHOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure frameCHOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameDROBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure frameDROBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameGBOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure frameGBOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameRVOBrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure frameRVOBrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure rdgImportedDataSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameScreenObjectSFRrdgNetworkButtonClick(Sender: TObject; ACol, ARow: Integer);
 
Implicit procedure frameFluxObsbtnAddOrRemoveFluxObservationsClick(Sender: TObject);
 
Implicit procedure jvtlModflowBoundaryNavigatorChanging(Sender: TObject; Node: TTreeNode; var AllowChange: Boolean);
 
Implicit procedure jvtlModflowBoundaryNavigatorCustomDrawItem( Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
 
Implicit procedure cbGageStandardClick(Sender: TObject);
 
Implicit procedure frameHeadObservationsrdgHeadsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
 
Implicit procedure btnCopyVerticesClick(Sender: TObject);
 
Implicit procedure dgVerticiesEndUpdate(Sender: TObject);
 
Implicit procedure frameLakcbGage4Click(Sender: TObject);
 
Implicit procedure FormClose(Sender: TObject; var Action: TCloseAction);
 
Implicit procedure frameMNW2pcMnw2Change(Sender: TObject);
 
Implicit procedure dgVerticiesStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure dgVerticiesEnter(Sender: TObject);
 
Implicit procedure frameHydmodclbBasicClickCheck(Sender: TObject);
 
Implicit procedure frameHydmodclbSubClickCheck(Sender: TObject);
 
Implicit procedure frameHydmodclbSFRClickCheck(Sender: TObject);
 
Implicit procedure clbChildModelsClickCheck(Sender: TObject);
 
Implicit procedure cbLgrAllModelsClick(Sender: TObject);
 
Implicit procedure clbLgrUsedModelsClickCheck(Sender: TObject);
 
Implicit procedure cbLockClick(Sender: TObject);
 
Implicit procedure frameMT3DMSdgModflowBoundaryEndUpdate(Sender: TObject);
 
Implicit procedure frameMT3DMSdgModflowBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameMT3DMSseNumberOfTimesChange(Sender: TObject);
 
Implicit procedure frameMT3DMScbSpecifiedConcentrationClick(Sender: TObject);
 
Implicit procedure frameMT3DMScbMassLoadingClick(Sender: TObject);
 
Implicit procedure frameMt3dmsTobConcrdgObservationsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameMt3dmsTobConcseTimesChange(Sender: TObject);
 
Implicit procedure frameHeadObservationsseTimesChange(Sender: TObject);
 
Implicit procedure frameMt3dmsFluxObsrdgObservationGroupsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
 
Implicit procedure frameMt3dmsFluxObsrdgObservationGroupsStateChange(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);
 
Implicit procedure frameHydmodcomboLayerGroupChange(Sender: TObject);
 
Implicit procedure frameHydmodcomboNoDelayBedChange(Sender: TObject);
 
Implicit procedure jvpltvSutraFeaturesMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 
Implicit procedure frameSutraObservationsbtnDeleteClick(Sender: TObject);
 
Implicit procedure frameSutraObservationsbtnInsertClick(Sender: TObject);
 
Implicit procedure frameSutraObservationsedNameExit(Sender: TObject);
 
Implicit procedure SutraBoundaryButtonClick( Sender: TObject; ACol, ARow: Integer);
 
Implicit procedure cbDuplicatesAllowedClick(Sender: TObject);
 
Published procedure btnCancelClick(Sender: TObject);

If the user hasn't changed anything, don't force the user to save the model.

Published procedure btnColorClick(Sender: TObject);

allow the user to edit the line or fill color of a TScreenObject. See btnLineColor and btnFillColor.

Published procedure btnFormulaClick(Sender: TObject);

btnFormulaClick is used to edit a formula that is not part of a TDataArray or boundary condition TDataArray. Examples include the formulas for the elevations associated with a TScreenObject.

Published procedure btnOKClick(Sender: TObject);

btnOKClick warns user about potential problems and gives the user a chance to correct them. It then applies the changes to the TScreenObject or TScreenObjects using SetMultipleScreenObjectData, or SetData.

Published procedure cbEnclosedCellsClick(Sender: TObject);

cbEnclosedCellsClick marks all used TDataArrays affected by the TScreenObjects being edited as in need of updating when this check box is checked. cbEnclosedCellsClick sets (TScreenObject.SetValuesOfEnclosedCells TScreenObject.SetValuesOfEnclosedCells)

Published procedure cbFillColorClick(Sender: TObject);

cbFillColorClick responds to the user checking the cbFillColor check box by enabling the associated button (btnFillColor). cbFillColorClick sets TScreenObject.FillScreenObject

Published procedure cbInterpolationClick(Sender: TObject);

cbInterpolationClick responds to the user checking the cbInterpolation check box by marking all TDataArrays affected by the TScreenObject being edited as in need of updating. cbInterpolationClick sets TScreenObject.SetValuesByInterpolation.

Published procedure cbIntersectedCellsClick(Sender: TObject);

cbIntersectedCellsClick responds to the user checking the cbIntersectedCells check box by marking all TDataArrays affected by the TScreenObject being edited as in need of updating. cbIntersectedCellsClick sets TScreenObject.SetValuesOfIntersectedCells.

Published procedure cbLineColorClick(Sender: TObject);

cbLineColorClick responds to the user checking the cbLineColor check box by enabling the associated button (btnLineColor).

Published procedure cbSetGridCellSizeClick(Sender: TObject);

cbSetGridCellSizeClick enables controls related to setting the grid cell size and sets CellSizeUsed.

Published procedure cbWellPumpAllocationClick(Sender: TObject);

cbWellPumpAllocationClick calls StorePhastWellBoundary

Published procedure comboSolutionTypeChange(Sender: TObject);

comboSolutionTypeChange responds to a change in comboSolutionType by changing a title in dgSpecifiedHead. comboSolutionTypeChange calls StorePhastSpecifiedHeads

Published procedure comboWellIntervalStyleChange(Sender: TObject);

comboWellIntervalStyleChange changes the captions on the table that shows the well intervals depending on the selection in comboWellIntervalStyle. comboWellIntervalStyleChange calls StorePhastWellBoundary.

Published procedure dgBoundaryButtonClick(Sender: TObject; ACol, ARow: Integer);

Allow the user to edit a formula with the formula editor in one of the boundary condition grids (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell).

Published procedure dgBoundaryDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);

with Grids that represent boundary conditions, dgBoundaryDrawCell shows the cell at (1,1) as gray because the user shouldn't be able to edit it. (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell)

Published procedure dgBoundaryRowMoving(Sender: TObject; const Origin, Destination: Integer; var CanMove: Boolean);

dgBoundaryRowMoving Doesn't allow a row to be moved to the top of the grid because the cell at (1,1) shouldn't be edited. (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell)

Published procedure dgBoundarySelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);

Show the TPhastInterpolationValues when the user clicks on a cell in a boundary grid. (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell)

Published procedure dgBoundarySetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);

When the user edits text in one of the grids for PHAST boundary conditions, record that the data was changed (StorePhastBoundary).

See also
dgSpecifiedHead
dgSpecifiedHead stores the PHAST specified head boundary values.
dgBoundaryFlux
dgBoundaryFlux stores the PHAST specified flux boundary values.
dgBoundaryLeaky
dgBoundaryLeaky stores the PHAST leaky boundary values.
dgBoundaryRiver
dgBoundaryRiver stores the PHAST river boundary values.
dgWell
dgWell stores the PHAST well boundary values.
Published procedure dgBoundaryStateChanged(Sender: TObject; ACol, ARow: Integer; const Value: TCheckBoxState);

update the displayed TPhastInterpolationValues when the use clicks one of the check boxes in a boundary table. (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell)

Published procedure dgWellElevationsSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);

If the user has changed the value displayed in dgWellElevations, StorePhastWellBoundary for later use in SetMultipleScreenObjectData.

Published procedure edHighZExit(Sender: TObject);

edHighZExit validates the upper formula and stores HigherElevationFormula.

Published procedure edLeakyHydraulicConductivityExit(Sender: TObject);

edLeakyHydraulicConductivityExit validates the leaky hydraulic conductivity formula and calls StorePhastLeakyBoundary.

Published procedure edLowZExit(Sender: TObject);

edLowZExit validates the lower Z formula and stores LowerElevationFormula.

Published procedure edNameExit(Sender: TObject);

edNameExit ensures that the value given for the name of a TScreenObject is valid.

Published procedure edRiverDescriptonExit(Sender: TObject);

edRiverDescriptonExit calls StorePhastRiverBoundary.

Published procedure edRiverExit(Sender: TObject);

edRiverExit validates a river formula and calls StorePhastRiverBoundary.

Published procedure edWellExit(Sender: TObject);

edWellExit calls StorePhastWellBoundary.

Published procedure edZExit(Sender: TObject);

edZExit validates the formula for the Z.

Published procedure FormCreate(Sender: TObject); override;

FormCreate create variables and initialize the form.

Published procedure FormDestroy(Sender: TObject); override;

FormDestroy destroy variables.

Published procedure FormResize(Sender: TObject);

See FInitialWidth.

Published procedure framePhastInterpolationBoundariescbPhastInterpolationClick(Sender: TObject);

Respond to the user activating or deactivating PHAST-style Interpolation for a boundary condition. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesedMixFormulaExit( Sender: TObject);

framePhastInterpolationBoundariesedMixFormulaExit responds to the user finishing editing the PHAST-style Interpolation mixture formula for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesExit(Sender: TObject);

framePhastInterpolationBoundariesExit calls StorePhastBoundary.

Published procedure framePhastInterpolationBoundariesrdeDistance1Exit(Sender: TObject);

framePhastInterpolationBoundariesrdeDistance1Exit responds to the user finishing editing the PHAST-style Interpolation Distance 1 for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesrdeDistance2Exit(Sender: TObject);

framePhastInterpolationBoundariesrdeDistance2Exit responds to the user finishing editing the PHAST-style Interpolation Distance 2 for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesrdeValue1Exit(Sender: TObject);

framePhastInterpolationBoundariesrdeValue1Exit responds to the user finishing editing the PHAST-style Interpolation Value 1 for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesrdeValue2Exit(Sender: TObject);

framePhastInterpolationBoundariesrdeValue2Exit responds to the user finishing editing the PHAST-style Interpolation Value 2 for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationBoundariesrgInterpolationDirectionClick( Sender: TObject);

framePhastInterpolationBoundariesrgInterpolationDirectionClick responds to the user changing the interpolation direction for a boundary condition by storing the value. See TPhastInterpolationValues.

Published procedure framePhastInterpolationDatabtnEditMixtureFormulaClick( Sender: TObject);

framePhastInterpolationDatabtnEditMixtureFormulaClick responds to the user clicking the button for editing the mixture formula by displaying the TfrmFormula.

Published procedure framePhastInterpolationDatacbPhastInterpolationClick(Sender: TObject);

framePhastInterpolationDatacbPhastInterpolationClick responds to the user activating or deactivating PHAST-Interpolation for a TDataArray.

Published procedure framePhastInterpolationDataedMixFormulaEnter( Sender: TObject);

framePhastInterpolationDataedMixFormulaEnter stores a copy of the mixture formula in case it needs to be restored later.

Published procedure framePhastInterpolationDataedMixFormulaExit(Sender: TObject);

framePhastInterpolationDataedMixFormulaExit checks that the mixture formula is valid.

Published procedure framePhastInterpolationDatardeDistance1Exit(Sender: TObject);

framePhastInterpolationDatardeDistance1Exit responds to the user having finished editing the PHAST-Interpolation distance 1 by storing the new value. See TPhastInterpolationValues. framePhastInterpolationDatardeDistance1Exit calls AssignPhastInterpolation

Published procedure framePhastInterpolationDatardeDistance2Exit(Sender: TObject);

framePhastInterpolationDatardeDistance2Exit responds to the user having finished editing the PHAST-Interpolation distance 2 by storing the new value. See TPhastInterpolationValues. framePhastInterpolationDatardeDistance2Exit calls AssignPhastInterpolation

Published procedure framePhastInterpolationDatardeValue1Exit(Sender: TObject);

framePhastInterpolationDatardeValue1Exit responds to the user having finished editing the PHAST-Interpolation Value 1 by storing the new value. See TPhastInterpolationValues. framePhastInterpolationDatardeValue1Exit calls AssignPhastInterpolation

Published procedure framePhastInterpolationDatardeValue2Exit(Sender: TObject);

framePhastInterpolationDatardeValue2Exit responds to the user having finished editing the PHAST-Interpolation Value 2 by storing the new value. See TPhastInterpolationValues. framePhastInterpolationDatardeValue2Exit calls AssignPhastInterpolation

Published procedure framePhastInterpolationDatargInterpolationDirectionClick(Sender: TObject);

framePhastInterpolationDatargInterpolationDirectionClick responds to the user having edited the PHAST-Interpolation interpolation direction by storing the new value. See TPhastInterpolationValues. framePhastInterpolationDatargInterpolationDirectionClick calls AssignPhastInterpolation

Published procedure pcPhastBoundariesChange(Sender: TObject);

pcPhastBoundariesChange updates seBoundaryTimes.Value based on the active page in pcPhastBoundaries.

Published procedure pageMainChange(Sender: TObject);

pageMainChange sets btnHelp.HelpKeyword to pageMain.ActivePage.HelpKeyword

Published procedure rdeGridCellSizeExit(Sender: TObject);

rdeGridCellSizeExit stores CellSize.

Published procedure rgBoundaryTypeClick(Sender: TObject);

rgBoundaryTypeClick responds to the user selecting a different type of boundary condition to use with the TScreenObject by setting pcPhastBoundaries.ActivePageIndex to the appropriate value.

Published procedure rgElevationCountClick(Sender: TObject);

rgElevationCountClick responds to the user changing the number of elevations for the TScreenObject. rgElevationCountClick sets cbFillColor.Enabled as well as the enabled property of other controls. Some TDataArrays may no longer be affected by the TScreenObject being edited. due to a change in the number of elevations used.

Published procedure rgEvaluatedAtClick(Sender: TObject);

respond to the user changing where the TScreenObject is to be evaluated. rgEvaluatedAtClick changes the captions of cbEnclosedCells, cbIntersectedCells, and cbInterpolation.

Published procedure seBoundaryTimesChange(Sender: TObject);

seBoundaryTimesChange responds to the user changing the number of boundary times by changing the number of rows in one of the grids related to boundary conditions. (dgSpecifiedHead, dgBoundaryFlux, dgBoundaryLeaky, dgBoundaryRiver, and dgWell)

Published procedure seWellIntervalsChange(Sender: TObject);

seWellIntervalsChange responds to the user changing the number of open intervals in a well by changing the number of rows in dgWellElevations.

Published procedure splitterBoundaryMoved(Sender: TObject);

See FInitialWidth.

Private Function GenerateNewDataSetFormula(DataArray: TDataArray): string;
 
Private procedure AssignNewDataSetFormula(DSIndex: Integer; const NewFormula: string);

AssignNewDataSetFormula assigns new formulas for TDataArrays for each TScreenObject in FNewProperties.

Private procedure AssignPhastInterpolation(DataArray: TDataArray);

AssignPhastInterpolation assigns the TInterpValuesItem for DataArray based on the values in framePhastInterpolationData.

Private function PhastBoundaryIsIdentical(const Grid: TRbwDataGrid4; const UsedTimes: TRealList; const Boundary: TCustomPhastBoundaryCollection; const ExpressionCol, PhastInterpolateCol: integer): boolean;

PhastBoundaryIsIdentical tests whether the boundary specified in Grid is identical to the one in Boundary.

Private procedure CheckForCircularReference(const Expression: TExpression; const DSetName: string; const EditIndex: integer; const OldFormulaOK: boolean; const OldFormula: string);

CheckForCircularReference checks to see if Expression uses itself. If it does, it tries to restore the old formula for it using OldFormula, OldFormulaOK, and EditIndex. DSetName is the name of the TDataArray to which Expression applies.

Private procedure CheckForCircularReferencesInMixtureFormulas( var Expression: TExpression; const DSName, OldFormula: string; const EditIndex: integer);

CheckForCircularReferencesInMixtureFormulas checks to see if Expression uses itself. If it does, it tries to restore the old formula for it using OldFormula, and ARow. DSetName is the name of the TDataArray to whose mixture formula Expression applies.

Private procedure CreateBoundaryFormula(const DataGrid: TRbwDataGrid4; const ACol, ARow: integer; Formula: string; const Orientation: TDataSetOrientation; const EvaluatedAt: TEvaluatedAt);

CreateBoundaryFormula creates an TExpression for a boundary condition based on the text in DataGrid at ACol, ARow. Orientation, and EvaluatedAt are used to chose the TRbwParser.

Private procedure CreateFormula(const DataSetIndex: integer; const NewFormula: string; const ShowError: boolean = True);

CreateFormula creates a TExpression for a TScreenObjectDataEdit.

Private function CreateMixtureFormula(const DataSetIndex: integer): TExpression;

CreateMixtureFormula attempts to create a TExpression for the mixture the the TDataArray identified by DataSetIndex.

Private procedure CreateVariable(const Edit: TScreenObjectDataEdit);

CreateVariable creates a TCustomVariable to represent the TDataArray specified by Edit in each TRbwParser that needs it.

Private procedure EmphasizeValueChoices;

EmphasizeValueChoices changes the appearances of cbSetGridCellSize, cbEnclosedCells, cbIntersectedCells, and cbInterpolation so that if none of them is checked, their appearance is emphasized.

Private procedure EnableOK_Button;

EnableOK_Button allows the OK button to be pressed if all of the formulas for the data sets and elevation formulas are valid.

Private procedure FillPropertyCollection(Collection: TScreenObjectEditCollection; List: TList);

FillPropertyCollection is used to store copies of the TScreenObjects in List. The copies are stored in Collection.

Parameters
Collection
Collection will hold copies of the TScreenObjects in List
List
List contains a series of TScreenObjects that are being edited. Copies of those TScreenObjects will be placed in Collection.
Private procedure GetAvailableParameters;

GetAvailableParameters stores the appropriate MODFLOW parameters for each MODFLOW package in the appropriate TframeScreenObjectParam.

Private procedure GetAvailableTimes;

GetAvailableTimes stores the times of MODFLOW stress periods in TframeScreenObjectParam.

Private procedure GetBoundaryTimes( const Boundaries: array of TCustomPhastBoundaryCollection; const Times: TRealList);

GetBoundaryTimes fills Times with all the times in Boundaries.

Private function GetCompiler(const Orientation: TDataSetOrientation; const EvaluatedAt: TEvaluatedAt): TRbwParser;

GetCompiler returns the appropriate TRbwParser based on the combination of Orientation and EvaluatedAt.

Private function GetCompilerByIndex(const Index: integer): TRbwParser;

GetCompilerByIndex determines the Orientation and EvaluatedAt of the data set at Index and returns the appropriate compiler based on that combination.

Private function GetDataSetIndexByName(const DataSetName: string): integer;

GetDataSetIndexByName returns the position of the TScreenObjectDataEdit whose DataArray has the same name as DataSetName in FDataEdits. If such a TScreenObjectDataEdit isn't in FDataEdits, GetDataSetIndexByName returns -1.

Private function GetElevationCompiler: TRbwParser;

GetElevationCompiler returns the TRbwParser that is appropriate for specifying the elevation formula for a TScreenObject based on the direction from which the TScreenObject is viewed and whether it is evaluated by blocks or nodes.

Private procedure GetListOfOkVariables(EvaluatedAt: TEvaluatedAt; Orientation: TDataSetOrientation; VariableList: TList; DataSetIndex: Integer; DSEdit: TScreenObjectDataEdit);

GetListOfOkVariables stores the TCustomVariables that can be used in the formula for the TDataArray whose name is DSetName.

Private procedure InitializeControls(AScreenObject: TScreenObject);

InitializeControls sets the data stored in controls in TfrmScreenObjectProperties to default values and otherwise prepares the TfrmScreenObjectProperties to edit objects.

Private procedure InitializeGridObjects;

InitializeGridObjects initializes the grids. It sets the Objects property corresponding to each cell to nil and sets each cell that isn't a fixed cell to a blank. The cell at [1,1] for boundary conditions is set to hold a '0' as required by boundary conditions.

Private procedure ResetFluxGrid;

ResetFluxGrid resets the data displayed in dgBoundaryFlux. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have Flux boundaries that differ.

Private procedure ResetLeakyGrid;

ResetLeakyGrid resets the data displayed in dgBoundaryLeaky. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have Leaky boundaries that differ.

Private procedure ResetRiverGrid;

ResetRiverGrid resets the data displayed in dgBoundaryRiver. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have River boundaries that differ.

Private procedure ResetSpecifiedHeadGrid;

ResetSpecifiedHeadGrid resets the data displayed in dgSpecifiedHead. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have Specified Head boundaries that differ.

Private procedure ResetWellElevationGrid;

ResetWellElevationGrid resets the data displayed in dgWellElevations. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have Well boundaries with well elevations that differ.

Private procedure ResetWellGrid;

ResetWellGrid resets the data displayed in dgWell. It is called by GetDataForMultipleScreenObjects when two TScreenObjects have Well boundaries that differ.

Private procedure SelectBoundaryCell;

SelectBoundaryCell calls dgBoundaryStateChanged for the first check box in the TRbwDataGrid4 for the selected boundary condition that is checked.

Private procedure SetCheckBoxCaptions;

Set the captions of cbEnclosedCells, cbIntersectedCells, and cbInterpolation based on rgEvaluatedAt.ItemIndex.

Private procedure SetData;

SetData is used to set the data for a single TScreenObject when it is first created. See SetMultipleScreenObjectData if there is more than one TScreenObject being edited.

Private procedure SetIsLoaded(const Value: boolean);

SetIsLoaded sets FIsLoaded and sets TframeScreenObject.FrameLoaded.

Private procedure SetMultipleScreenObjectData;

SetMultipleScreenObjectData is called when the user press the btnOK button after editing the properties of one or more TScreenObjects. It set up a TUndoSetScreenObjectProperties based on the data that the user has changed.

See also
SetData
SetData is used to set the data for a single TScreenObject when it is first created.
Private procedure SetMultipleScreenObjects(const Value: boolean);

SetMultipleScreenObjects is the setter for MultipleScreenObjects; It sets AllowGrayed for several check boxes.

Private procedure ShowOrHideTabs;

ShowOrHideTabs shows or hides the tab for PHAST boundaries as appropriate.

Private procedure StoreInterpolatedBoundary(Boundary: TCustomInterpolatedBoundary; DataGrid: TRbwDataGrid4);

StoreInterpolatedBoundary stores time-varying values for PHAST boundary conditions of the TScreenObjects begin edited.

Private procedure StoreNonInterpolatedBoundary( Boundary: TCustomInterpolatedBoundary; DataGrid: TRbwDataGrid4);

StoreNonInterpolatedBoundary stores the time-varying values of the Well and river boundaries.

Private procedure StorePhastBoundary;

StorePhastBoundary stores the PHAST boundary condition for the TScreenObject.

Private procedure StorePhastLeakyBoundary;

StorePhastLeakyBoundary assigns the PHAST leaky boundary conditions to the TScreenObjects in FNewProperties based in the values shown on tabBoundaryRiver.

Private procedure StorePhastRiverBoundary;

StorePhastRiverBoundary assigns the PHAST river boundary conditions to the TScreenObjects in FNewProperties based in the values shown on tabBoundaryLeaky.

Private procedure StorePhastSpecifiedFlux;

StorePhastSpecifiedFlux assigns the PHAST specified flux boundary conditions to the TScreenObjects in FNewProperties based in the values shown on tabBoundaryFlux.

Private procedure StorePhastSpecifiedHeads;

StorePhastSpecifiedHeads assigns the PHAST specified head boundary conditions to the TScreenObjects in FNewProperties based in the values shown on tabBoundarySpecifiedHead.

Private procedure StorePhastWellBoundary;

StorePhastWellBoundary assigns the PHAST well boundary conditions to the TScreenObjects in FNewProperties based in the values shown on tabBoundaryWell.

Private function TimesIdentical(const Grid: TRbwDataGrid4; const UsedTimes: TRealList; const TimeCol: integer): boolean;

TimesIdentical returns True if all the times recorded in Grid in column TimeCol are identical to those in UsedTimes.

Private procedure ValidateEdFormula(const Ed: TEdit);

ValidateEdFormula ensures that when a formula has been entered at one of the elevation edit boxes, that the formula is valid. See edZ, edHighZ, and edLowZ.

Private procedure FillDataSetsTreeView(ListOfScreenObjects: TList);
 
Private function AssignPoint(const Row: integer; out APoint: TPoint2D): boolean;
 
Private procedure StoreChdBoundary;
 
Private procedure GetChdBoundary(ScreenObjectList: TList);
 
Private procedure StoreGhbBoundary;
 
Private procedure GetGhbBoundary(ScreenObjectList: TList);
 
Private procedure StoreWellBoundary;
 
Private procedure GetWellBoundary(ScreenObjectList: TList);
 
Private procedure GetRivBoundary(ScreenObjectList: TList);
 
Private procedure StoreRivBoundary;
 
Private procedure GetDrnBoundary(ScreenObjectList: TList);
 
Private procedure StoreDrnBoundary;
 
Private procedure GetDrtBoundary(ScreenObjectList: TList);
 
Private procedure StoreDrtBoundary;
 
Private procedure StoreRchBoundary;
 
Private procedure GetRchBoundary(ScreenObjectList: TList);
 
Private function GetBoundaryValues(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetRechargeLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetEvapLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetEvapSurfaceDepth(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private procedure GetEvtBoundary(ScreenObjectList: TList);
 
Private procedure StoreEvtBoundary;
 
Private procedure GetEtsBoundary(ScreenObjectList: TList);
 
Private function GetEtsLayers(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetEtsSurfaceDepth( Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private procedure StoreEtsBoundary;
 
Private procedure GetResBoundary(ScreenObjectList: TList);
 
Private procedure GetReservoirBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
 
Private procedure StoreResBoundary;
 
Private procedure GetGlobalVariables;
 
Private procedure GetLakBoundary(ScreenObjectList: TList);
 
Private procedure GetLakeBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
 
Private procedure StoreLakBoundary;
 
Private procedure StoreUzfBoundary;
 
Private procedure GetUzfBoundary(ScreenObjectList: TList);
 
Private function GetUzfEtRate(Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetUzfInfiltrationRate( Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetUzfEtExtinctionDepth( Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private function GetUzfEtExtinctionWaterContent( Boundary: TModflowBoundary): TCustomMF_BoundColl;
 
Private procedure UpdateSfrNode(Sender: TObject);
 
Private procedure ValidateDataSetFormula(ShowError: boolean = True);

ValidateDataSetFormula validates the cell formula in reDataSetFormula of FCurrentEdit. ValidateDataSetFormula ensures that a formula entered in reDataSetFormula is valid.

Private procedure UpdateDataSetLinkages(const Expression: TExpression; const DataSetIndex: integer; const DSName: string);

UpdateDataSetLinkages updates the list of which variables depend on which others.

Private procedure CheckIfDataSetCanBeEdited(var CanEdit: boolean; Edit: TScreenObjectDataEdit; ListOfScreenObjects: TList);
 
Private procedure GetHeadObservations(const ScreenObjectList: TList);
 
Private procedure CreateHobNode(AScreenObject: TScreenObject);
 
Private procedure GetHfbBoundary(const ScreenObjectList: TList);
 
Private procedure CreateHfbNode(AScreenObject: TScreenObject);
 
Private procedure CreateModpathNode;
 
Private procedure StoreModPath;
 
Private procedure CreateChobNode;
 
Private procedure CreateDrobNode;
 
Private procedure CreateGbobNode;
 
Private procedure CreateRvobNode;
 
Private procedure CreateMt3dmsSsmNode;
 
Private procedure GetDrainFluxObservations(const AScreenObjectList: TList);
 
Private procedure GetGhbFluxObservations(const AScreenObjectList: TList);
 
Private procedure GetRiverFluxObservations(const AScreenObjectList: TList);
 
Private procedure CreateGageNode;
 
Private procedure GetGages(ListOfScreenObjects: TList);
 
Private procedure SetGages(List: TList);
 
Private procedure CreateMnw2Node;
 
Private procedure GetMnw2Boundary(const ScreenObjectList: TList);
 
Private procedure Mnw2Changed(Sender: TObject);
 
Private procedure CreateHydmodNode(AScreenObject: TScreenObject);
 
Private procedure GetHydmod(const ScreenObjectList: TList);
 
Private procedure GetChildModels(const ScreenObjectList: TList);
 
Private procedure UpdateNonParamCheckBox(Frame: TframeScreenObjectParam; ParamCol, ACol, ARow: Integer; const Value: string);
 
Private procedure GetMt3dmsChemBoundary(ScreenObjectList: TList);
 
Private procedure GetMt3dmsBoundaryCollection(DataGrid: TRbwDataGrid4; ColumnOffset: Integer; ScreenObjectList: TList; TimeList: TParameterTimeList);
 
Private procedure StoreMt3dmsChemBoundary;
 
Private procedure CreateMt3dmsTobConcNode(AScreenObject: TScreenObject);
 
Private procedure GetMt3dConcObservations(const ScreenObjectList: TList);
 
Private procedure GetMt3dmsFluxObservations(const AScreenObjectList: TList);
 
Private procedure CreateMt3dmsTobFluxNode;
 
Private procedure SetMt3dFluxObs(List: TList);
 
Private procedure CreateSutraObsNode;
 
Private procedure ActivateSutraFeature(Sender: TObject; CheckState: TCheckBoxState);
 
Private procedure CreateSutraSpecPressNode;
 
Private procedure CreateSutraSpecTempConcNode;
 
Private procedure CreateSutraFluidFluxNode;
 
Private procedure CreateSutraMassEnergyFluxNode;
 
Private procedure SetSelectedSutraBoundaryNode;
 
Private procedure GetDuplicatesAllowedForAdditionalObject( AScreenObject: TScreenObject);
 
Private function CanSetPoints: Boolean;
 
Private procedure InitializeModflowBoundaryFrames(const AScreenObject: TScreenObject);
 
Private procedure StoreModflowBoundary(Frame: TframeScreenObjectParam; ParamType: TParameterType; Node: TJvPageIndexNode);
 
Private procedure GetModflowBoundary(Frame: TframeScreenObjectParam; Parameter: TParameterType; ScreenObjectList: TList; Node: TJvPageIndexNode);
 
Private procedure StoreFormulaInterpretation(Frame: TframeScreenObjectCondParam; ParamType: TParameterType);
 
Private procedure GetFormulaInterpretation(Frame: TframeScreenObjectCondParam; Parameter: TParameterType; ScreenObjectList: TList);
 
Private procedure GetModflowBoundaries(const AScreenObjectList: TList);
 
Private procedure StoreModflowBoundaryParameters(Boundary: TModflowParamBoundary; Times: TTimeArray; Frame: TframeScreenObjectParam);
 
Private procedure StoreModflowBoundaryValues(Frame: TframeScreenObjectNoParam; Times: TTimeArray; Boundary: TModflowBoundary);
 
Private procedure StoreMF_BoundColl(ColumnOffset: Integer; BoundaryValues: TCustomMF_BoundColl; const Times: TTimeArray; Frame: TframeScreenObjectNoParam);
 
Private procedure GetMF_BoundaryTimes(var Times: TTimeArray; Frame: TframeScreenObjectNoParam);
 
Private procedure GetModflowBoundaryParameters(Parameter: TParameterType; ScreenObjectList: TList; Frame: TframeScreenObjectParam; TimeList: TParameterTimeList);
 
Private procedure GetModflowBoundaryValues(Parameter: TParameterType; ScreenObjectList: TList; TimeList: TParameterTimeList; DataGrid: TRbwDataGrid4);
 
Private procedure GetModflowBoundaryTimes(ScreenObjectList: TList; Parameter: TParameterType; TimeList: TParameterTimeList);
 
Private procedure GetModflowBoundaryCollection(DataGrid: TRbwDataGrid4; ValuesFunction: TGetBoundaryCollectionEvent; ColumnOffset: Integer; ScreenObjectList: TList; Parameter: TParameterType; TimeList: TParameterTimeList);
 
Private function DataSetsSpecified: Boolean;
 
Private Function GetSfrParser(Sender: TObject): TRbwParser;
 
Private procedure GetUzfCollection(TimeList: TParameterTimeList; ScreenObjectList: TList; ColumnOffset: Integer; DataGrid: TRbwDataGrid4; Method: TGetBoundaryCollectionEvent);
 
Private procedure UpdateBoundaryState(Boundary: TModflowScreenObjectProperty; ScreenObjectIndex: Integer; var State: TCheckBoxState);
 
Private procedure GetSfrBoundary(const ScreenObjectList: TList);
 
Private function ShouldStoreBoundary(Node: TJvPageIndexNode; Boundary: TModflowBoundary): boolean;
 
Private procedure UpdateNodeState(Node: TJvPageIndexNode);
 
Private procedure CreateChdNode;
 
Private procedure CreateGhbNode;
 
Private procedure CreateWelNode;
 
Private procedure CreateRivNode;
 
Private procedure CreateDrnNode;
 
Private procedure CreateDrtNode;
 
Private procedure CreateRchNode(AScreenObject: TScreenObject);
 
Private procedure CreateEvtNode(AScreenObject: TScreenObject);
 
Private procedure CreateEtsNode(AScreenObject: TScreenObject);
 
Private procedure CreateResNode(AScreenObject: TScreenObject);
 
Private procedure CreateLakNode;
 
Private procedure CreateSfrNode(AScreenObject: TScreenObject);
 
Private procedure CreateUzfNode;
 
Private procedure SetSelectedMfBoundaryNode;
 
Private procedure InitializeVertexGrid;
 
Private procedure InitializePhastSpecifiedHeadGrid;
 
Private procedure InitializePhastSpecifiedFluxGrid;
 
Private procedure InitializePhastLeakyBoundaryGrid;
 
Private procedure InitializePhastRiverBoundaryGrid;
 
Private procedure InitializePhastWellGrid;
 
Private procedure SetColWidthsInPhastBoundaryGrids;
 
Private procedure InitializePhastBoundaryControls;
 
Private procedure GetPhastBoundariesForSingleObject;
 
Private procedure GetPhastFluxBoundaryForSingleObject(UsedTimes: TRealList);
 
Private procedure GetPhastLeakyBoundaryForSingleObject(UsedTimes: TRealList);
 
Private procedure GetPhastRiverBoundaryForSingleObject(UsedTimes: TRealList);
 
Private procedure GetPhastSpecifiedHeadBoundaryForSingleObject( UsedTimes: TRealList);
 
Private procedure GetPhastWellBoundaryForSingleObject(UsedTimes: TRealList);
 
Private procedure GetScreenObjectVerticies;
 
Private procedure SetZLabelCaptions;
 
Private procedure GetPhastBoundaryConditionsForAdditionalObjects( AScreenObject: TScreenObject; var TempType: TPhastBoundaryTypes);
 
Private procedure GetPhastSpecifiedHeadBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
 
Private procedure GetPhastSpecifiedFluxBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
 
Private procedure GetPhastLeakyBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
 
Private procedure GetPhastRiverBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
 
Private procedure GetPhastWellBoundaryForAdditionalObject( AScreenObject: TScreenObject; UsedTimes: TRealList; var TempType: TPhastBoundaryTypes);
 
Private procedure GetElevationFormulasForAdditionalObject( AScreenObject: TScreenObject);
 
Private procedure GetDataSetsForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetCellSizeUsedForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetColorDataForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetAssignmentMethodForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetEvaluatedAtForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure SetScreenObjectVerticies;
 
Private procedure GetDataSetsForSingleObject;
 
Private procedure SetGridCellSizeDataForSingleObject;
 
Private procedure SetElevationDataForSingleObject;
 
Private procedure GetColorDataForSingleObject;
 
Private procedure GetAssignmentMethodForSingleObject;
 
Private procedure AddGisFunctionsToAllParsers;
 
Private procedure CreateDataSetEdits(ListOfScreenObjects: TList);
 
Private procedure FillCompilerList(CompilerList: TList);
 
Private procedure CheckIfDataSetUsedInElevationFormula(var CreateNode: Boolean; DataSet: TDataArray; ElevationFormula: string; Ed: TRbwEdit);
 
Private procedure UpdateCurrentEdit;
 
Private procedure UpdateScreenObjectData;
 
Private procedure InvalidateAllDataSets;
 
Private procedure UpdateDataSetTreeViewNodeStates;
 
Private procedure SetSelectedName;
 
Private procedure AssignHfbFormulas(Ed: TEdit);
 
Private procedure DisableAllowGrayed(CheckBox: TCheckBox);
 
Private procedure SetDisabledElevationFormulas(FirstScreenObject: TScreenObject);
 
Private procedure AssignImportedValuesColumn(var First: boolean; var ColIndex: Integer; ValueStorage: TValueArrayStorage; const ColumnCaption: string);
 
Private function GetCoordinateCaption(const AScreenObject: TScreenObject): string;
 
Private function GetHigherCoordinateCaption(const AScreenObject: TScreenObject): string;
 
Private function GetLowerCoordinateCaption(const AScreenObject: TScreenObject): string;
 
Private procedure AssignConductanceCaptions(Frame: TframeScreenObjectCondParam; Boundary: TSpecificModflowBoundary);
 
Private procedure GetIFaceForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetModpathParticles(ListOfScreenObjects: TList);
 
Private procedure GetFluxObservationsForFrame(Node: TJvPageIndexNode; FluxObservations: TFluxObservationGroups; const AScreenObjectList: TList; FluxFrame: TframeFluxObs);
 
Private procedure GetHeadFluxObservations(const AScreenObjectList: TList);
 
Private procedure CreateFluxNode(var NewNode: TJvPageIndexNode; FluxPackage: TModflowPackageSelection; AFrame: TframeFluxObs; APage: TJvStandardPage; FluxObservations: TFluxObservationGroups);
 
Private procedure SetFluxObservations(List: TList; ANode: TJvPageIndexNode; AFrame: TframeFluxObs; FluxObservations: TFluxObservationGroups);
 
Private procedure SetAllFluxObservations(List: TList);
 
Private procedure GetNearestOutflowSegment(var NewText: string);
 
Private procedure GetNearestDiversionSegment(var NewText: string);
 
Private procedure GetFluxObservations(const AScreenObjectList: TList);
 
Private procedure SetGageNodeStateIndex;
 
Private procedure UpdateVertices;

If the points in a TScreenObject are being changed, all the data sets that are being affected by the TScreenObject must be updated.

Private procedure SetFrameData;
 
Private procedure UpdateVertexNumbers;
 
Private procedure UpdateSectionNumbers;
 
Private procedure SetupChildModelControls(AScreenObject: TScreenObject);
 
Private function CanSpecifyChildModels(AScreenObject: TScreenObject): Boolean;
 
Private procedure GetVertexValues;
 
Private procedure SetVertexValues(AScreenObject: TScreenObject);
 
Private procedure GetUsedLgrModels(const AScreenObject: TScreenObject);
 
Private procedure GetAdditionalUsedModels(const AScreenObjectList: TList);
 
Private procedure EnableChildModelList(AScreenObject: TScreenObject);
 
Private procedure FillChildModelList;
 
Private procedure GetPositionLockedForAdditionalObject(AScreenObject: TScreenObject);
 
Private procedure GetCanSelectNode(Node: TTreeNode; var AllowChange: Boolean);
 
Private function ShouldCreateSutraBoundary: Boolean;
 
Private procedure CreateSutraFeatureNodes;
 
Public procedure Initialize;

Private declarations

Public procedure ClearExpressionsAndVariables;
 
Public procedure GetData(const AScreenObject: TScreenObject);

When a TScreenObject is first created, GetData is called to display it's properties. GetDataForMultipleScreenObjects)

Public procedure GetDataForMultipleScreenObjects(const AScreenObjectList: TList);

When the properties of one or more TScreenObjects is being edited, GetDataForMultipleScreenObjects is called to display their properties.

See also
GetData
When a TScreenObject is first created, GetData is called to display it's properties.

Properties

Private property IsLoaded: boolean read FIsLoaded write SetIsLoaded;

IsLoaded is set to True when the TfrmScreenObjectProperties has stored values of the TScreenObjects being edited.

Private property MultipleScreenObjects: boolean read FMultipleScreenObjects write SetMultipleScreenObjects;

MultipleScreenObjects is set to True if more than one TScreenObjects are being edited at one time. Also AllowGrayed is set to MultipleScreenObjects for cbLineColor, cbInterpolation, cbIntersectedCells, cbEnclosedCells, and cbFillColor.


Generated by PasDoc 0.12.1 on 2013-05-13 15:41:40