Class TfrmCustomSelectObjects

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TfrmCustomSelectObjects = class(TfrmCustomGoPhast)

Description

no description available, TfrmCustomGoPhast description follows

TfrmCustomGoPhast is the ancestor of all TForms in GoPhast.

TfrmCustomGoPhast handles setting the color and font. TfrmCustomGoPhast also tries to keep from appearing at a location where it can't be seen. )

Hierarchy

Overview

Fields

Implicit pnlBottom: TPanel;
Implicit btnClose: TBitBtn;
Implicit btnHelp: TBitBtn;
Implicit vstObjects: TVirtualStringTree;
Private FCanEdit: boolean;
Private FvstSutraSpecPressure: PVirtualNode;
Private FSutraSpecPressureList: TList;
Private FvstSutraSpecU: PVirtualNode;
Private FSutraSpecUList: TList;
Private FvstSutraFluidFlux: PVirtualNode;
Private FSutraFluidFluxList: TList;
Private FvstSutraUFlux: PVirtualNode;
Private FSutraUFluxList: TList;
Protected FSettingData2: boolean;
Protected FvstChildModelNode: PVirtualNode;
Protected FvstModpathRoot: PVirtualNode;
Protected FvstModflowHfbNode: PVirtualNode;
Protected FvstModflowHobNode: PVirtualNode;
Protected FvstModflowGagNode: PVirtualNode;
Protected FvstModflowSfrNode: PVirtualNode;
Protected FvstModflowResNode: PVirtualNode;
Protected FvstModflowEtsNode: PVirtualNode;
Protected FvstModflowEvtNode: PVirtualNode;
Protected FvstModflowRchNode: PVirtualNode;
Protected FvstModflowDrtNode: PVirtualNode;
Protected FvstModflowDrtReturnLocation: PVirtualNode;
Protected FvstModflowDrnNode: PVirtualNode;
Protected FvstModflowRivNode: PVirtualNode;
Protected FvstModflowWellNode: PVirtualNode;
Protected FvstModflowLakNode: PVirtualNode;
Protected FvstModflowMnw2Node: PVirtualNode;
Protected FvstModflowGhbNode: PVirtualNode;
Protected FvstModflowUzfNode: PVirtualNode;
Protected FvstMt3dmsSsm: PVirtualNode;
Protected FvstMt3dmsTob: PVirtualNode;
Protected FvstSutraFeaturesNode: PVirtualNode;
Protected FvstSutraObsNode: PVirtualNode;
Protected FvstModflowHydmodNode: PVirtualNode;
Protected FvstSpecifiedHeadNode: PVirtualNode;
Protected FvstSpecifiedFluxNode: PVirtualNode;
Protected FvstWellNode: PVirtualNode;
Protected FvstModflowChdNode: PVirtualNode;
Protected FvstSizeNode: PVirtualNode;
Protected FvstRiverNode: PVirtualNode;
Protected FvstOtherObjectsNode: PVirtualNode;
Protected FvstLeakyNode: PVirtualNode;
Protected FvstDataSetRootNode: PVirtualNode;
Protected FvstModflowBoundaryConditionsRoot: PVirtualNode;
Protected FvstPhastBoundaryConditionsRoot: PVirtualNode;
Protected FvstAllObjectsNode: PVirtualNode;
Protected FDataSetLists: TObjectList;
Protected FOkToDoCheck: boolean;
Protected FSettingData: boolean;
Protected FSettingData3: boolean;
Protected FDrtList: TList;
Protected FDrtReturnList: TList;
Protected FHobList: TList;
Protected FDrnList: TList;
Protected FRivList: TList;
Protected FHydmodList: TList;
Protected FAllObjectsList: TList;
Protected FLakList: TList;
Protected FMnw2List: TList;
Protected FGhbList: TList;
Protected FChdList: TList;
Protected FWellList: TList;
Protected FSpecifiedHeadList: TList;
Protected FSpecifiedFluxList: TList;
Protected FSizeList: TList;
Protected FRiverList: TList;
Protected FMfWellList: TList;
Protected FModpathList: TList;
Protected FChildModelList: TList;
Protected FUzfList: TList;
Protected FLeakyList: TList;
Protected FHfbList: TList;
Protected FSsmList: TList;
Protected FTobList: TList;
Protected FSfrGagList: TList;
Protected FSfrList: TList;
Protected FResList: TList;
Protected FEtsList: TList;
Protected FEvtList: TList;
Protected FSutraObsList: TList;
Protected FOtherObjectsList: TList;
Protected FRchList: TList;

Methods

Implicit procedure vstObjectsInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
Implicit procedure vstObjectsFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
Implicit procedure vstObjectsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
Implicit procedure vstObjectsStateChange(Sender: TBaseVirtualTree; Enter, Leave: TVirtualTreeStates);
Implicit procedure vstObjectsChecking(Sender: TBaseVirtualTree; Node: PVirtualNode; var NewState: TCheckState; var Allowed: Boolean);
Implicit procedure FormCreate(Sender: TObject); override;
Implicit procedure FormDestroy(Sender: TObject); override;
Protected procedure SetCheckStates;
Protected function ShouldCheckBoxBeChecked(ScreenObject: TScreenObject): boolean; virtual; abstract;
Protected procedure AddScreenObject(AScreenObject: TScreenObject; const DataSetList: TStringList);
Protected procedure ClearEmptyBaseNodes(DataSetList: TStringList);
Protected procedure CreateBaseNodes(DataSetList: TStringList);
Protected procedure NilBaseNodes;
Protected procedure HandleChecked(AScreenObject: TScreenObject); virtual; abstract;
Protected procedure HandleUnchecked(AScreenObject: TScreenObject); virtual; abstract;
Protected procedure HandleChildren(Sender: TBaseVirtualTree; Node: PVirtualNode);
Protected procedure SetCanEdit(const Value: boolean); virtual;
Protected procedure SortScreenObjectLists;
Protected procedure SetRootNodeStates(Node: PVirtualNode);
Protected procedure SetFirstNodeCheckState(var ChildData: PMyRec; ScreenObject: TScreenObject);
Protected procedure SetSubsequentNodesCheckState(var StateChanged: Boolean; ScreenObject: TScreenObject; var ChildData: PMyRec);
Protected procedure UpdateChildCheck(Node: PVirtualNode);
Protected procedure HandleCheckChange(Node: PVirtualNode; Sender: TBaseVirtualTree);
Protected procedure GetData;
Protected function CanSelect(ScreenObject: TScreenObject): boolean; virtual;
Public destructor Destroy; override;
Public procedure UpdateDisplay;
Public procedure UpdateScreenObjects;

Properties

Public property CanEdit: boolean read FCanEdit write SetCanEdit;

Description

Fields

Implicit pnlBottom: TPanel;

pnlBottom is the panel at the bottom of the form that holds the buttons.

Implicit btnClose: TBitBtn;

btnClose is used to close the form.

Implicit btnHelp: TBitBtn;

btnHelp is used to display help for the form.

Implicit vstObjects: TVirtualStringTree;

in TfrmShowHideObjects vstObjects is used to display and change the visibility of the TScreenObjects. The user can also select or edit objects with it. The data are held in a TMyRec record associated with the base nodes.

See also
vstObjectsChecked
vstObjectsChecked is used to show or hide TScreenObjects when a checkbox is checked or unchecked.
pmSelectEdit
pmSelectEdit is associated with vstObjects and holds miSelect and miSelect; See vstObjectsContextPopup.
Private FCanEdit: boolean;

See CanEdit.

Private FvstSutraSpecPressure: PVirtualNode;
 
Private FSutraSpecPressureList: TList;
 
Private FvstSutraSpecU: PVirtualNode;
 
Private FSutraSpecUList: TList;
 
Private FvstSutraFluidFlux: PVirtualNode;
 
Private FSutraFluidFluxList: TList;
 
Private FvstSutraUFlux: PVirtualNode;
 
Private FSutraUFluxList: TList;
 
Protected FSettingData2: boolean;

Public declarations

Protected FvstChildModelNode: PVirtualNode;
 
Protected FvstModpathRoot: PVirtualNode;
 
Protected FvstModflowHfbNode: PVirtualNode;
 
Protected FvstModflowHobNode: PVirtualNode;
 
Protected FvstModflowGagNode: PVirtualNode;
 
Protected FvstModflowSfrNode: PVirtualNode;
 
Protected FvstModflowResNode: PVirtualNode;
 
Protected FvstModflowEtsNode: PVirtualNode;
 
Protected FvstModflowEvtNode: PVirtualNode;
 
Protected FvstModflowRchNode: PVirtualNode;
 
Protected FvstModflowDrtNode: PVirtualNode;
 
Protected FvstModflowDrtReturnLocation: PVirtualNode;
 
Protected FvstModflowDrnNode: PVirtualNode;
 
Protected FvstModflowRivNode: PVirtualNode;
 
Protected FvstModflowWellNode: PVirtualNode;
 
Protected FvstModflowLakNode: PVirtualNode;
 
Protected FvstModflowMnw2Node: PVirtualNode;
 
Protected FvstModflowGhbNode: PVirtualNode;
 
Protected FvstModflowUzfNode: PVirtualNode;
 
Protected FvstMt3dmsSsm: PVirtualNode;
 
Protected FvstMt3dmsTob: PVirtualNode;
 
Protected FvstSutraFeaturesNode: PVirtualNode;
 
Protected FvstSutraObsNode: PVirtualNode;
 
Protected FvstModflowHydmodNode: PVirtualNode;
 
Protected FvstSpecifiedHeadNode: PVirtualNode;

FvstSpecifiedHeadNode holds a PVirtualNode for each TScreenObject that specifies a PHAST specified head boundary.

Protected FvstSpecifiedFluxNode: PVirtualNode;

FvstSpecifiedFluxNode holds a PVirtualNode for each TScreenObject that specifies a PHAST specified flux boundary.

Protected FvstWellNode: PVirtualNode;

FvstWellNode holds a PVirtualNode for each TScreenObject that specifies a PHAST well boundary.

Protected FvstModflowChdNode: PVirtualNode;

FvstModflowChdNode holds a PVirtualNode for each TScreenObject that specifies a MODFLOW CHD boundary.

Protected FvstSizeNode: PVirtualNode;

FvstSizeNode holds a PVirtualNode for each TScreenObject that specifies the grid element size.

Protected FvstRiverNode: PVirtualNode;

FvstRiverNode holds a PVirtualNode for each TScreenObject that specifies a PHAST river boundary.

Protected FvstOtherObjectsNode: PVirtualNode;

FvstOtherObjectsNode holds a PVirtualNode for each TScreenObject that isn't used for anything.

Protected FvstLeakyNode: PVirtualNode;

FvstLeakyNode holds a PVirtualNode for each TScreenObject that specifies a PHAST leaky boundary.

Protected FvstDataSetRootNode: PVirtualNode;

FvstDataSetRootNode holds a PVirtualNode for each TDataArray.

Protected FvstModflowBoundaryConditionsRoot: PVirtualNode;

FvstModflowBoundaryConditionsRoot holds a PVirtualNode for each MODFLOW boundary condition.

Protected FvstPhastBoundaryConditionsRoot: PVirtualNode;

FvstPhastBoundaryConditionsRoot holds a PVirtualNode for each PHAST boundary condition.

Protected FvstAllObjectsNode: PVirtualNode;

FvstAllObjectsNode holds a PVirtualNode for each TScreenObject.

Protected FDataSetLists: TObjectList;

FDataSetLists holds lists of TScreenObjects that set particular TDataArrays.

Protected FOkToDoCheck: boolean;

FOkToDoCheck is used to enable or disable the action of vstObjectsChecked.

See also
vstObjectsStateChange
vstObjectsStateChange is used to enable or disable the activity of vstObjectsChecked based on whether the check box that is being checked is or is not the own the user originally changed.
Protected FSettingData: boolean;

FSettingData is used in UpdateScreenObjects, vstObjectsInitNode, and vstObjectsChecked to prevent stack overflows.

Protected FSettingData3: boolean;
 
Protected FDrtList: TList;
 
Protected FDrtReturnList: TList;
 
Protected FHobList: TList;
 
Protected FDrnList: TList;
 
Protected FRivList: TList;
 
Protected FHydmodList: TList;
 
Protected FAllObjectsList: TList;

FAllObjectsList holds a list of all the TScreenObjects.

Protected FLakList: TList;
 
Protected FMnw2List: TList;
 
Protected FGhbList: TList;

FGhbList holds the lists of TScreenObjects that set MODFLOW GHB boundary conditions.

Protected FChdList: TList;

FChdList holds the lists of TScreenObjects that set MODFLOW Chd boundary condtions.

Protected FWellList: TList;

FWellList holds the lists of TScreenObjects that set PHAST Well boundary conditions.

Protected FSpecifiedHeadList: TList;

FSpecifiedHeadList holds the lists of TScreenObjects that set PHAST Specified Head boundary conditions.

Protected FSpecifiedFluxList: TList;

FSpecifiedFluxList holds the lists of TScreenObjects that set PHAST Specified Flux boundary conditions.

Protected FSizeList: TList;

FSizeList holds the lists of TScreenObjects that set the size of elements in the grid.

Protected FRiverList: TList;

FRiverList holds the lists of TScreenObjects that set PHAST River boundary conditions.

Protected FMfWellList: TList;
 
Protected FModpathList: TList;
 
Protected FChildModelList: TList;
 
Protected FUzfList: TList;
 
Protected FLeakyList: TList;

FLeakyList holds the lists of TScreenObjects that set PHAST Leaky boundary conditions.

Protected FHfbList: TList;
 
Protected FSsmList: TList;
 
Protected FTobList: TList;
 
Protected FSfrGagList: TList;
 
Protected FSfrList: TList;
 
Protected FResList: TList;
 
Protected FEtsList: TList;
 
Protected FEvtList: TList;
 
Protected FSutraObsList: TList;
 
Protected FOtherObjectsList: TList;

FOtherObjectsList holds the lists of TScreenObjects that don't do anything.

Protected FRchList: TList;
 

Methods

Implicit procedure vstObjectsInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);

vstObjectsInitNode is used to initialize data associated with each node.

Implicit procedure vstObjectsFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);

vstObjectsFreeNode is used to free memory associated with each node.

Implicit procedure vstObjectsGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);

vstObjectsGetText is used to return the text associated with a node. This is usually the name of a TScreenObject along with some additional information.

Implicit procedure vstObjectsStateChange(Sender: TBaseVirtualTree; Enter, Leave: TVirtualTreeStates);

vstObjectsStateChange is used to enable or disable the activity of vstObjectsChecked based on whether the check box that is being checked is or is not the own the user originally changed.

Implicit procedure vstObjectsChecking(Sender: TBaseVirtualTree; Node: PVirtualNode; var NewState: TCheckState; var Allowed: Boolean);
 
Implicit procedure FormCreate(Sender: TObject); override;
 
Implicit procedure FormDestroy(Sender: TObject); override;
 
Protected procedure SetCheckStates;
 
Protected function ShouldCheckBoxBeChecked(ScreenObject: TScreenObject): boolean; virtual; abstract;
 
Protected procedure AddScreenObject(AScreenObject: TScreenObject; const DataSetList: TStringList);

AddScreenObject adds one or more PVirtualNodes to vstObjects for AScreenObject. It skips TScreenObjects that are deleted.

Protected procedure ClearEmptyBaseNodes(DataSetList: TStringList);

ClearEmptyBaseNodes removes all base nodes that have no children.

Protected procedure CreateBaseNodes(DataSetList: TStringList);

CreateBaseNodes creates all the basal nodes of vstObjects that will hold the nodes that have data about the TScreenObjects. CreateBaseNodes checks that the basal nodes don't already exist before creating them.

Protected procedure NilBaseNodes;

NilBaseNodes sets FvstAllObjectsNode, FvstSizeNode, FvstDataSetRootNode, FvstPhastBoundaryConditionsRoot, FvstModflowBoundaryConditionsRoot, FvstSpecifiedHeadNode, FvstSpecifiedFluxNode, FvstLeakyNode, FvstRiverNode, FvstWellNode, and FvstOtherObjectsNode, etc. to nil.

Protected procedure HandleChecked(AScreenObject: TScreenObject); virtual; abstract;
 
Protected procedure HandleUnchecked(AScreenObject: TScreenObject); virtual; abstract;
 
Protected procedure HandleChildren(Sender: TBaseVirtualTree; Node: PVirtualNode);
 
Protected procedure SetCanEdit(const Value: boolean); virtual;
 
Protected procedure SortScreenObjectLists;

SortScreenObjectLists sorts the lists of TScreenObjects in a modified alphabetical order. In the modified order 'Object2" comes before 'Object10' instead of after it.

Protected procedure SetRootNodeStates(Node: PVirtualNode);

SetRootNodeStates sets whether the Node is checked, unchecked or mixed.

Protected procedure SetFirstNodeCheckState(var ChildData: PMyRec; ScreenObject: TScreenObject);
 
Protected procedure SetSubsequentNodesCheckState(var StateChanged: Boolean; ScreenObject: TScreenObject; var ChildData: PMyRec);
 
Protected procedure UpdateChildCheck(Node: PVirtualNode);

UpdateChildCheck makes sure that the checked state of each node reflects whether or not the associated TScreenObject is visible or not. Several nodes can be associated with a single TScreenObject so TVirtualStringTree's check propogation method can't completely handle this situation.

Protected procedure HandleCheckChange(Node: PVirtualNode; Sender: TBaseVirtualTree);
 
Protected procedure GetData;

GetData creates all the nodes in vstObjects

Protected function CanSelect(ScreenObject: TScreenObject): boolean; virtual;
 
Public destructor Destroy; override;
 
Public procedure UpdateDisplay;

UpdateDisplay updates the checked state of nodes of vstObjects. without adding or removing nodes.

Public procedure UpdateScreenObjects;

UpdateScreenObjects adds or removes nodes as needed to make vstObjects reflect the TScreenObjects that are present.

Properties

Public property CanEdit: boolean read FCanEdit write SetCanEdit;

CanEdit is used to prevent access violations caused by attempting to edit a TScreenObject while another one is already being edited.


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