#NEWLINE# def viewFormulaObjects( self , fromObject , fromRel , indent , visited ) : #NEWLINE# #INDENT# if ( fromObject is None ) : #NEWLINE# #INDENT# return #NEWLINE# #UNINDENT# if ( isinstance ( fromObject , ( ModelVariable , ModelParameter ) ) and ( fromRel is not None ) ) : #NEWLINE# #INDENT# text = '{0} ${1}' . format ( fromObject . localName , fromRel . variableQname ) #NEWLINE# xmlRowEltAttr = { #NEWLINE# #INDENT# 'type' : str ( fromObject . localName ) , #NEWLINE# 'name' : str ( fromRel . variableQname ) , #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if isinstance ( fromObject , ( ModelVariableSetAssertion , ModelConsistencyAssertion ) ) : #NEWLINE# #INDENT# text = '{0} {1}' . format ( fromObject . localName , fromObject . id ) #NEWLINE# xmlRowEltAttr = { #NEWLINE# #INDENT# 'type' : str ( fromObject . localName ) , #NEWLINE# 'id' : str ( fromObject . id ) , #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# text = fromObject . localName #NEWLINE# xmlRowEltAttr = { #NEWLINE# #INDENT# 'type' : str ( fromObject . localName ) , #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# #UNINDENT# cols = [ text , visited . xlinkLabel ] #NEWLINE# if ( ( fromRel is not None ) and ( fromRel . elementQname == XbrlConst . qnVariableFilterArc ) ) : #NEWLINE# #INDENT# cols . append ( ( 'true' if fromRel . isCovered else 'false' ) ) #NEWLINE# cols . append ( ( 'true' if fromRel . isComplemented else 'false' ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# cols . append ( None ) #NEWLINE# cols . append ( None ) #NEWLINE# #UNINDENT# if isinstance ( fromObject , ModelVariable ) : #NEWLINE# #INDENT# cols . append ( fromObject . bindAsSequence ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# cols . append ( None ) #NEWLINE# #UNINDENT# if hasattr ( fromObject , 'viewExpression' ) : #NEWLINE# #INDENT# cols . append ( fromObject . viewExpression ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# cols . append ( None ) #NEWLINE# #UNINDENT# self . addRow ( cols , treeIndent = indent , xmlRowElementName = 'formulaObject' , xmlRowEltAttr = xmlRowEltAttr , xmlCol0skipElt = True ) #NEWLINE# if ( fromObject not in visited ) : #NEWLINE# #INDENT# visited . add ( fromObject ) #NEWLINE# relationshipArcsShown = set ( ) #NEWLINE# for relationshipSet in ( self . varSetFilterRelationshipSet , self . allFormulaRelationshipsSet ) : #NEWLINE# #INDENT# for modelRel in relationshipSet . fromModelObject ( fromObject ) : #NEWLINE# #INDENT# if ( modelRel . arcElement not in relationshipArcsShown ) : #NEWLINE# #INDENT# relationshipArcsShown . add ( modelRel . arcElement ) #NEWLINE# toObject = modelRel . toModelObject #NEWLINE# self . viewFormulaObjects ( toObject , modelRel , ( indent + 1 ) , visited ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# visited . remove ( fromObject )