// Proposed Changes /* Layput DXL to display redlined differences between Object Text and proposed object text. Tony Goodman */ pragma runLim,0 string shortName = "Change Proposal Links" Link l LinkRef lr string otherModName Module linkMod = null Object othero Object po string orderString = "" User usr string s = "" Buffer a = create() Buffer b = create() Buffer c = create() Buffer d = create() Buffer buff1 = create() Buffer buff2 = create() a = obj."Object Text" c = obj."HW MOD" for lr in obj<-"*" do { otherModName = fullName(source lr) if (!module otherModName) continue if (isDeleted module otherModName) continue if (!open module otherModName) read(otherModName,false) } for l in obj<-"*" do { linkMod = module(l) if (null linkMod) continue if (name(linkMod) != shortName) continue othero = source l if (null othero) continue if (isDeleted othero) continue setempty(b) b = probeAttr_(othero, "Proposed Object Text") if ( length(a) > 10000 || length(b) > 10000 ) { displayRich "{\\i (Text too big to compare.)}" } else { Buffer buff1 = create diff(buff1, a, b, "\\cf1\\strike ", "\\cf3\\ul ") s = identifier(othero) buff1 = "{\\b " s ": }\n" tempStringOf(buff1) "\n\n" displayRichWithColour (tempStringOf buff1) delete buff1 setempty(d) d = probeAttr_(othero, "Proposed HW MOD") if ( length(c) > 10000 || length(d) > 10000 ) { displayRich "{\\i (Text too big to compare.)}" } else { Buffer buff2 = create diff(buff2, c, d, "\\cf1\\strike ", "\\cf3\\ul ") s = identifier(othero) buff2 = "{\\b " s ": }\n" tempStringOf(buff2) "\n\n" displayRichWithColour (tempStringOf buff2) delete buff2 } } delete(a) delete(b) delete(c) delete(d)(a) delete(b) delete(c