GuiBom - from ABL+Proparse

The new ABL interface to Proparse is getting there!

Output:

Frame: DEFAULT-FRAME
  VARIABLE EDITOR-1
  RECTANGLE RECT-42
  BUTTON BUTTON-8

Code:

FOR EACH symbolRecord
    WHERE symbolRecord.progressType EQ NodeTypes:Frame#:
  frame% = CAST(symbolRecord.symbol, Frame).
  PUT UNFORMATTED
      SKIP(1)
      "Frame: " frame%:getName()
      SKIP
      .
  list = frame%:getAllFieldsAndWidgets().
  DO counter = 1 TO list:size():
    symbol = CAST(list:getNthElement(counter), Symbol).
    PUT UNFORMATTED
        SPACE(2)
        NodeTypes:GetName(symbol:getProgressType())
        SPACE
        symbol:getName()
        SKIP
        .
  END.
END.