Top Method Summary
Options Name Purpose
CollectWidgetDefinitions (INode[], INode) Adds the widget definitions (DEFINE VARIABLE / BUTTON / RECTANGLE / BROWSE / IMAGE) of the given scope to the ttWidget temp-table
Consultingwerk.Studio.ProparseApi.INode FindFormNode (character, INode) Returns the first FORM statement for the given frame name
Consultingwerk.Studio.ProparseApi.INode FindFrameScope (character, INode, INode[]) Returns the routine-level node the given frame is defined in
GetFormNames (INode, CharacterList) Recursively parses the given file for FORM statements with named Frame references
GetFormWidgets (character, INode) Parses the given file for the given frame name in FORM statements
Consultingwerk.Framework.Collections.CharacterList GetFrameNames (character) Parses the given file and returns a list of FRAME names
GetFrameWidgets (character, character, table) Parses the given file for the given frame name and returns a temp-table containing all the widgets found in that frame
LOGICAL ParseSizePhrase (INode, decimal, decimal) Returns the width and height of a SIZE phrase (SIZE <width> BY <height>)
ProcessAppBuilderComments (INode) Processes Comments at the top-level for AppBuilder Comments
ProcessFrameWidgets (INode) Parses a DEFINE FRAME or FORM statement node


Method Detail
Top

CollectWidgetDefinitions (INode[], INode)

Purpose: Adds the widget definitions (DEFINE VARIABLE / BUTTON / RECTANGLE /
BROWSE / IMAGE) of the given scope to the ttWidget temp-table
Notes: SCL-5790: Only the DEFINE statements whose routine-level parent
is the given node are processed. A widget name that is already
present in ttWidget is skipped, so that the definitions of the
routine the frame is defined in (collected first) take
precedence over the definitions of the main block

Parameters:
poDefineNodes Consultingwerk.Studio.ProparseApi.INode
The DEFINE nodes of the parse unit
poScopeNode Consultingwerk.Studio.ProparseApi.INode
The routine-level node (Program_root, PROCEDURE, FUNCTION, ...) to collect the definitions of
Top

Consultingwerk.Studio.ProparseApi.INode FindFormNode (character, INode)

Purpose: Returns the first FORM statement for the given frame name
Notes: SCL-5790: Recursive counterpart of GetFormWidgets that only
locates the FORM ... WITH FRAME statement instead of
processing its widgets

Parameters:
pcFrameName CHARACTER
The name of the frame
poNode Consultingwerk.Studio.ProparseApi.INode
The INode to search in
Returns Consultingwerk.Studio.ProparseApi.INode
The N_FORMAT node of the FORM statement or the unknown value when the frame has no FORM statement
Top

Consultingwerk.Studio.ProparseApi.INode FindFrameScope (character, INode, INode[])

Purpose: Returns the routine-level node the given frame is defined in
Notes: SCL-5790: Locates the DEFINE FRAME statement of the frame or -
when the frame is only defined through FORM statements - the
first FORM ... WITH FRAME statement. Returns the Program_root
node when the frame is defined in the main block or is not
found at all

Parameters:
pcFrameName CHARACTER
The name of the frame
poRootNode Consultingwerk.Studio.ProparseApi.INode
The Program_root node of the parse unit
poDefineNodes Consultingwerk.Studio.ProparseApi.INode
The DEFINE nodes of the parse unit
Returns Consultingwerk.Studio.ProparseApi.INode
The INode of the routine-level block (Program_root, PROCEDURE, FUNCTION, ...) the frame is defined in
Top

GetFormNames (INode, CharacterList)

Purpose: Recursively parses the given file for FORM statements with named
Frame references
Notes: Processes nested Block_Nodes and BLOCK_LABEL nodes

Parameters:
poNode Consultingwerk.Studio.ProparseApi.INode
The INode to process
poList Consultingwerk.Framework.Collections.CharacterList
The list to add the FORM names to
Top

GetFormWidgets (character, INode)

Purpose: Parses the given file for the given frame name in FORM statements
Notes:

Parameters:
pcFrameName CHARACTER
The name of the frame to return the widgets for
poNode Consultingwerk.Studio.ProparseApi.INode
The INode to parse
Top

Consultingwerk.Framework.Collections.CharacterList GetFrameNames (character)

Purpose: Parses the given file and returns a list of FRAME names
Notes:

Parameters:
pcFileName CHARACTER
The name of the file to parse
Returns Consultingwerk.Framework.Collections.CharacterList
The CharacterList of Frame names
Top

GetFrameWidgets (character, character, table)

Purpose: Parses the given file for the given frame name and returns a temp-table
containing all the widgets found in that frame
Notes:

Parameters:
pcFileName CHARACTER
The name of the file to parse
pcFrameName CHARACTER
The name of the frame to return the widgets for
ttFrameWidget TEMP-TABLE ttFrameWidget
OUTPUT TABLE The temp-table with the frame widget information
Top

LOGICAL ParseSizePhrase (INode, decimal, decimal)

Purpose: Returns the width and height of a SIZE phrase (SIZE <width> BY <height>)
Notes: SCL-5790: A SIZE option without operands - e.g. produced by an
empty include file argument - is reported as not parsed instead
of raising an invalid handle error

Parameters:
poSizeNode Consultingwerk.Studio.ProparseApi.INode
The SIZE node or the unknown value
pdeWidth DECIMAL
OUTPUT The width of the SIZE phrase
pdeHeight DECIMAL
OUTPUT The height of the SIZE phrase
Returns LOGICAL
Logical value indicating if the SIZE phrase provided a width and height
Top

ProcessAppBuilderComments (INode)

Purpose: Processes Comments at the top-level for AppBuilder Comments
Notes: SETTINGS FOR BUTTON ..., SETTINGS FOR FILL-IN ...

Parameters:
poNode Consultingwerk.Studio.ProparseApi.INode
The Root Node to process
Top

ProcessFrameWidgets (INode)

Purpose: Parses a DEFINE FRAME or FORM statement node
Notes:

Parameters:
poNode Consultingwerk.Studio.ProparseApi.INode
The Node to process


Temp-Table Detail

Temp-Table ttFrameWidget

Defined in:


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       19.09.2026 10:17:39